はじめに:webhookURL とは
サービス同士の連携に使うもの。webhookURLを発行したり設定できるサービスは色々ある。
今回は、「backlog」と「GoogleSpreadSheets」を連携させて、backlogでタスクが登録されたときにGoogleSpreadSheetsに自動で書き込みできるようにする手順を例に紹介します。
用意するもの
- backlogのプロジェクト(できればプロジェクト管理者権限以上)
- GASが使えるGoogleSpreadSheets
01.GoogleSpreadSheetsを作成
backlogのデータをインサートしていくGoogleSpreadSheetsを用意します。
02.GASでwebhookURLを作成
GoogleSpreadSheetsで「ツール」>「スクリプトエディタ」をクリック!
deploy(公開)してwebhookURLを生成します
deployをクリックして表示されるCurrent web app URL:
をコピーしてください。
03.backlogにWebHookURLを設定する
場所:backlogの「プロジェクト設定」>「インテグレーション」>Webhookの「設定」>「Webhookを追加する」
-
WebHook URL
のフォームに、GASで生成したURLを登録する。 -
通知するイベント
で、webhookのトリガーを設定する。
今回は「課題の追加」を選択しています。
実行テストをして、送信履歴でjsonが飛ばせていることを確認できればOK!
04.GoogleSpreadSheetsに自動書き込みする
GASにコードを書いていきます。
backlogで発行されたjsonをGAS側で成形して、シートに書きこみする処理。jsonで届くデータの中で、シートに書き込みしたいカラムをdata.content
で指定してください。
(sample)backlog→GoogleSpreadSheets
// backlogで課題の追加をした時にGoogleSpreadSheetsに書き込みする処理
function doPost(e) {
let ss = SpreadsheetApp.getActive()
let sheet = ss.getActiveSheet();
let data = JSON.parse(e.postData.contents);
sheet.appendRow([
data.content.key_id,
data.content.issueType.id,
data.content.issueType.name,
data.content.summary,
data.content.description
]);
return data;
}
backlogで課題の追加をした時にシートに行追加されるようになりました!!!
webhookURLを設定できるいろんなサービスで使えます、機会があればぜひお試しください!