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エンコーディングが必要となる。