Backlog の webhook でクラウド型ワークフローを動かす
チケット管理システム Backlog から Questetra のフローを起動する方法の紹介です。

システム連携ネタでよくブログを書いている日下です。
※ちなみにこれまでのネタはこちら

3月にリリースした Questetra Ver.11.6 より、他サービスからの webhook(json データ付)を受信できるようになりました!
個人的には待っていた機能の1つです。今回紹介する Backlog 以外にも、kintonePayPalLINE などなど、かなり多くの Web サービスで webhook の機能は準備されています。

  • webhook とは、http リスエストを送信する仕組みのことで、一般的には body 部に json データが付くケースが多いです。
  • webhook の受信は slack でいうところの Incoming Webhooks だと言えます。ちなみに Questetra は、以前からも http リクエストを受信することはできたのですが、body 部の json を受け取ることが Ver.11.6 まではできませんでした。
    逆に、Questetra から http リクエスト送付することもできます。「メッセージ送信中間イベント(HTTP)」というものを使います。こちらは slack でいうところの Outgoing Webhooks だと言えます。

どう設定すればそれらを受けられるようにできるかを説明します。

目次
1: Questetra と Backlog webhook との連携の概要
2: 実現方法の詳細
2.1: Questetra 側の準備
2.2: Backlog 側の準備
3: まとめ

1: Questetra と Backlog webhook との連携の概要

今回は、特定のキーワードが含まれるコメントがついたら Questetra の業務フローが開始するように設定するものとします。

Backlog の webhook では、特定のキーワードが含むといったフィルタリングの設定はないようですので、正確にいうと、キーワードの有無にかかわらず Backlog の webhook で Questetra の業務フローを開始して、Questetra 側でフィルタリングをします。

さらに Questetra での処理結果を Backlog に戻すよう設定すれば、
Backlog でのやりとりから処理起動 → 承認処理を Questetra で実施 → その結果を Backlog に戻す
といったことも実現できます。今回の記事では戻す部分には触れないですが、以前に書いた記事が参考になるかと思います。
Questetra ブログ:Backlog とワークフローの連携をカンタンに実現する方法

2: 実現方法の詳細

2.1: Questetra 側の準備

以下のような「メッセージ開始イベント(Webhook)」で開始する業務フローを準備します。
「json処理」スクリプト工程で受信した json データを解析して、その次のゲートウェイで、処理が必要なケースかどうか(キーワードを含むか)を判定させています。「承認依頼」タスクから先は、処理内容にあわせて変更する想定で、今回の例ではカンタンな依頼・承認のみとしています。

「メッセージ開始イベント(Webhook)」の設定としては、以下のように受信データを「application/json」で受けて、文字データ項目に格納すれば OK です。

json データをパースするスクリプトは以下となります。

var json = engine.findDataByNumber("0");
var object = JSON.parse(json);
out = object.content.comment.content;
engine.setDataByNumber("1", out);

このスクリプトでは、json データはデータ番号”0″の項目に格納されていて、そこから取得したものをデータ番号”1″の項目に格納しています。実際には何を取得したいかによって3行目のロジックを見直せば OK です。

ちなみに Backlog から送付される json データフォーマットは以下ページの情報を参考にしました。
 Qiita:Backlogのwebhookの中身

2.2: Backlog 側の準備

以下のページを参考にして、課題にコメントをつけたときに webhook されるよう設定します。
 Backlog マニュアル:Webhook の追加

その設定の際に「Webhook URL」には、Questetra側の「メッセージ開始イベント(Webhook)」のプロパティから取得した「受信URL」(以下のような書式のもの)を設定すれば OK です。

3: まとめ

少しスクリプトの準備が必要になりますが、それほどややこしいものではありませんので、カンタンに連携できることがおわかりいただけたかと思います。他のサービスと連携したい場合には、受信する json データフォーマットにあわせてスクリプトを改良すれば対応できます。
「メッセージ開始イベント(Webhook)」をさらなる効率化・自動化による業務改善にご活用ください。

もし、ご質問等がありましたら、お問い合わせフォームからご連絡ください。

無料からスタートできる Questetra BPM Suite

こちらの Web フォームからお申込みいただきますと Questetra の無料お試しアカウントが作成できます。上記のものを含め、全ての機能が使えますので、ぜひお試しください。

関連記事

About The Author

「Backlog の webhook でクラウドワークフローを動かす」への1件のフィードバック

  1. ピンバック: クラウド BPM ワークフローの他システム連携事例集(2019年6月版) - Questetra

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

上部へスクロール
%d人のブロガーが「いいね」をつけました。