Skip to content

Commit

Permalink
bugfix http header content-type error when send dingtalk message (#926)
Browse files Browse the repository at this point in the history
* bugfix http header content-type error when send dingtalk message

* [webapp] update alert.silence.time name
  • Loading branch information
tomsun28 committed May 2, 2023
1 parent 45095b7 commit b63e466
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,7 @@
import lombok.Data;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.http.*;
import org.springframework.stereotype.Component;

/**
Expand All @@ -47,20 +46,23 @@ public void send(NoticeReceiver receiver, Alert alert) {
markdownDTO.setText(renderContent(alert));
markdownDTO.setTitle(bundle.getString("alerter.notify.title"));
dingTalkWebHookDto.setMarkdown(markdownDTO);
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<DingTalkWebHookDto> httpEntity = new HttpEntity<>(dingTalkWebHookDto, headers);
String webHookUrl = alerterProperties.getDingTalkWebHookUrl() + receiver.getAccessToken();
ResponseEntity<CommonRobotNotifyResp> entity = restTemplate.postForEntity(webHookUrl,
dingTalkWebHookDto, CommonRobotNotifyResp.class);
if (entity.getStatusCode() == HttpStatus.OK) {
assert entity.getBody() != null;
if (entity.getBody().getErrCode() == 0) {
ResponseEntity<CommonRobotNotifyResp> responseEntity = restTemplate.postForEntity(webHookUrl,
httpEntity, CommonRobotNotifyResp.class);
if (responseEntity.getStatusCode() == HttpStatus.OK) {
assert responseEntity.getBody() != null;
if (responseEntity.getBody().getErrCode() == 0) {
log.debug("Send dingTalk webHook: {} Success", webHookUrl);
} else {
log.warn("Send dingTalk webHook: {} Failed: {}", webHookUrl, entity.getBody().getErrMsg());
throw new AlertNoticeException(entity.getBody().getErrMsg());
log.warn("Send dingTalk webHook: {} Failed: {}", webHookUrl, responseEntity.getBody().getErrMsg());
throw new AlertNoticeException(responseEntity.getBody().getErrMsg());
}
} else {
log.warn("Send dingTalk webHook: {} Failed: {}", webHookUrl, entity.getBody());
throw new AlertNoticeException("Http StatusCode " + entity.getStatusCode());
log.warn("Send dingTalk webHook: {} Failed: {}", webHookUrl, responseEntity.getBody());
throw new AlertNoticeException("Http StatusCode " + responseEntity.getStatusCode());
}
} catch (Exception e) {
throw new AlertNoticeException("[DingTalk Notify Error] " + e.getMessage());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,7 @@
</nz-form-control>
</nz-form-item>
<nz-form-item *ngIf="silence.type == 1">
<nz-form-label nzSpan="7" nzFor="time">{{ 'alert.notice.rule.time' | i18n }}</nz-form-label>
<nz-form-label nzSpan="7" nzFor="time">{{ 'alert.silence.time' | i18n }}</nz-form-label>
<nz-form-control nzSpan="12">
<nz-time-picker [(ngModel)]="silence.periodStart" nzFormat="HH:mm" name="periodStart" id="periodStart"></nz-time-picker>
<span nz-icon nzType="right-circle" nzTheme="outline" style="margin-right: 6px; margin-left: 6px"></span>
Expand Down

0 comments on commit b63e466

Please sign in to comment.