GASとSlackを連携して通知を設定する簡単ステップガイド!
GASとSlackの連携を始めよう
GASとSlackを連携して通知を送るためには、まず基本的な設定を行います。このプロセスは少し準備が必要ですが、一度設定すれば様々な通知を送ることができます。
Slack APIの設定方法
あなたが行う最初のステップは、Slack APIを利用するための設定です。
まず、Slackの公式サイトにアクセスして、Slack APIページに移動します。
次に、「Create New App」をクリックし、新しいアプリを作成します。
アプリの名前とワークスペースを選択し、「Create App」をクリックします。
必要な権限を設定
SlackアプリがGASからメッセージを送信できるようにするため、適切な権限を設定します。
左側のメニューから「OAuth & Permissions」を選択し、必要なスコープを追加します。通常は「chat:write」が必要です。
権限を設定したら、「Install App to Workspace」でアプリをワークスペースにインストールします。
GASからSlackへの通知設定
Slackの準備が整ったら、次にGAS内での設定に移ります。ここでは、簡単なスクリプトを作成してSlackに通知を送信します。
GASでのスクリプト作成
GASからSlackに通知を送るための基本スクリプトは以下の通りです。
function postToSlack(message) {
var url = 'https://slack.com/api/chat.postMessage';
var token = 'xoxb-your-slack-token';
var params = {
method: 'post',
headers: {
'Authorization': 'Bearer ' + token
},
payload: {
channel: '#general',
text: message
}
};
UrlFetchApp.fetch(url, params);
}
このスクリプトは、GASからSlack APIにリクエストを送り、指定したチャンネルにメッセージを投稿します。
スクリプトの動作テスト
スクリプトが正しく動作するか、テストしていきます。GASエディタでスクリプトを実行し、Slackでメッセージが送信されるか確認しましょう。
エディタでpostToSlack(‘Hello, Slack!’);と実行すると、Slackの#generalチャンネルに「Hello, Slack!」と表示されるはずです。
練習問題
次のCSSクラスを使用して、独自のスタイルでSlackメッセージを送信する方法を考えてみましょう。
- メッセージにプレーンテキストではなく、フォーマット済みのJSONを含めて送信する
- チャンネルを動的に指定できるようにする
解答・解説
以下のスクリプトは、JSONフォーマットを使い、チャンネルを動的に指定してメッセージを送る方法です。
function postStyledToSlack(channel, message) {
var url = 'https://slack.com/api/chat.postMessage';
var token = 'xoxb-your-slack-token';
var params = {
method: 'post',
headers: {
'Authorization': 'Bearer ' + token,
'Content-Type': 'application/json'
},
payload: JSON.stringify({
channel: channel,
text: message
})
};
UrlFetchApp.fetch(url, params);
}
// 使用例
postStyledToSlack('#alerts', '*重要:* テストメッセージ');
このスクリプトでは、JSON.stringify()を用いてメッセージをフォーマットし、動的にチャンネルを指定できるようにしています。これにより、より汎用的な通知を行うことが可能になります。