APEXからSlackへの通知連携
Slack APIのはSlack APIのTokenを取得することで可能となる。
取得したTokenを利用して通信することでAPEXからの通知が可能になる。
参考
chat.postMessage method | Slack
→今回使用したSlackのメッセージ送信メソッド
public String slackApiCallout() {
String apiEndpoint = 'https://slack.com/api/chat.postMessage';
String token = '{発行したトークン}';
String channel = '{通知対象となるチャンネルID}';
String message = '{通知メッセージ本文}';
String params = '?token=' + token + '&channel=' + channel + '&text=' + EncodingUtil.urlEncode(message, 'UTF-8');
Http http = new Http();
HttpRequest req = new HttpRequest();
req.setMethod('POST');
req.setEndpoint(apiEndpoint + params);
req.setHeader('Content-Type', 'application/json');
HttpResponse res = http.send(req);
return res.getBody();
}
POSTを使用するが、bodyではなくURLパラメータで情報を送る。
そのため、メッセージはURLエンコーディングが必要となる。


