【초보자용】GAS를 이용해 Slack에게 메시지를 보내는 bot를 작성한다
3242 단어 슬랙자바스크립트GoogleAppsScriptgas
준비
아직 게시하고 싶은 Slack에 bot 등을 추가한 적이 없다면 다음 단계를 따르세요.
→ 이미 Webhook URL을 발행 한 분은 여기
Slack에 bot를 추가하려면 [Webhook URL]이라는 것이 필요합니다.
그 URL의 발행·취득의 방법을 여기에 기재합니다.
① 여기 에 접속해 상단의 「관리」를 클릭
②표시된 화면의 왼쪽 메뉴에서 「커스텀 인테그레이션」을 클릭
③ 이후 상단의 검색창에서 'incoming Webhook'을 입력
④ 후보 맨 위에 삼각형 아이콘의 "Incoming Webhook"이라는 것이 나오므로 클릭
⑤ 표시된 화면에서 "Slack에 추가"를 클릭 (아래 그림과 같은 화면입니다)
⑥ 그런 다음 어떤 채널에 추가할지 설정합니다.
이 때 테스트라면, 일단 자신에게 닿도록 설정해도 좋다고 생각합니다
또, 투고하는 채널은 나중에 변경할 수 있으므로, 안심하고 설정합시다!
⑦ 채널을 설정한 후 "Incoming Webhook 추가"를 클릭
⑧ 다음 화면에서 【Webhook URL】이 적자로 표시됩니다. 다음과 같은 URL입니다.
지금까지 WebhookURL 검색이 완료되었습니다.
이제 이것을 사용하여 실제로 게시물을 만들려고합니다.
게시해보기
이미 Webhook을 설정하고 있는 분은 여기 로부터, 【Webhook URL】을 취득해 주세요.
실제로 GAS를 이용하여 Slack에 게시할 수 있도록 해 봅시다!
먼저 여기 화면에 액세스합니다.
평소에는 스프레드시트나 폼에 묶인 GAS를 이용하는 경우가 많습니다만, 이번은 우선 투고를 시도할 뿐이므로, 이쪽으로부터 신규 작성을 해 봅시다.
그래서 왼쪽 상단에 표시되는 "새 프로젝트"를 클릭!
그러면 편집기 화면이 열리므로 다음을 입력합시다.
function sendToSlack() {
//このurlの部分には、先ほど取得したURLを入力してください。
var url = "https://hooks.slack.com/services/XXXXXXXX/XXXXXXXX/XXXXXXXXXXX";
var data = {
//ここで投稿したいチャンネルを設定します
//自分宛に送る場合は「#」以降に、普段自分宛メンションされる時の名前を入力
"channel" : "#program",
//ここでbotの名前を決めてあげます
"username" : "botの名前ですん",
//ここで投稿する内容を設定します
"text" : "こんにちは世界",
//アイコンを、そのチャンネルにある絵文字の中から選択します
"icon_emoji" : ":earth_asia:",
"link_names":1};
//ここから下は魔法の言葉です。
var payload = JSON.stringify(data);
var options = {
"method" : "POST",
"contentType" : "application/json",
"payload" : payload,
};
var response = UrlFetchApp.fetch(url, options);
}
이것을 모두 복사하여 【채널만 변경해】 상부의 「▶︎」를 클릭해 봅시다.
아마도 승인 화면이 팝업으로 표시되므로 허가 해 주면
이런 식으로, 투고가 수중에 도착한 것이 아닐까요?
상기 코드내에서도 기재하고 있습니다만, 채널이나 Bot명, 내용은 임의로 바꿀 수 있습니다.
편리하네요!
마지막으로
이번에는 게시하는 방법을 설명하는 페이지였습니다.
앞으로는 다른 기능으로 메시지를 생성하고 트리거로 게시 할 타이밍을 결정합니다 ...
등 다양한 내용을 써 갑니다.
※비엔지니어의 기사이므로, 이상한 부분이 있으면 반대로 가르쳐 주시면 기쁩니다...
Reference
이 문제에 관하여(【초보자용】GAS를 이용해 Slack에게 메시지를 보내는 bot를 작성한다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mihir0/items/4772b2f5c1b21129ab93텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)