概要
esaでslack連携をした時にメンションがactiveにならなくて困ったのでサクッとGASで作りました。
本編
GASの設定
var slack = {
webhook: '', // Slackのwebhook
}
//esaからのpost
function doPost(e) {
var params = JSON.parse(e.postData.getDataAsString());
// mention分岐
if(params.kind == "comment_mention") {
var slack_post_data = {
"text": params.user.name + "がメンションコメントしました。\n" + params.comment.body_md + "\n" + params.post.url,
"link_names" : 1
};
}else{
var slack_post_data = {
"text": "esaでなにかが起こった、詳細は@dasisyouyuにきいて。"
};
}
var payload = JSON.stringify(slack_post_data);
var options = {
"method" : "post",
"contentType" : "application/json",
"payload" : payload
};
//slack webhookへpost
UrlFetchApp.fetch(slack["webhook"], options);
}
esaの設定
team設定のwebhookからGenericを選択し先程作ったGASのwebhookを設定しよう!
slackの設定
Incoming Webhooksを作成してできたwebhookURLをGASに貼っておく