akamine 相談する

通知と連携 7 / 9

Webhook で外部へ送る

akamineのできごとをJSONで外部のURLへ送るWebhookの設定方法です。送るできごと、署名の確かめ方、再送と送信の記録を説明します。受け取る側の確認手順も載せています。

約5分で読めます

akamine マニュアルの目次(章と記事の一覧)
はじめに
プロジェクト
課題の基本
課題の詳細とコミュニケーション
一覧・カンバン・ガント
自分の仕事を回す
ドキュメントとファイル
工数とレポート
通知と連携
自動化
プロジェクトの設定
システム管理
個人設定
この記事の内容

Webhookは、akamineでできごとが起きたときに、指定したURLへ自動で知らせを送る仕組みです。自社のシステムや、ほかのサービスと連携したいときに使います。この記事では、送る設定と、受け取る側で署名を確かめる方法を説明します。

プロジェクトの設定を変えられる人(初期設定では、オーナーと管理者)が設定します。システム管理の「機能」で「外部通知」が無効になっていると、使えません。

画面の見方

プロジェクトの「設定」タブで、左のメニューの「Webhook」を開きます。画面は2つに分かれています。

  • Webhookの購読: akamineから外へ送ります。
  • 受信Webhook: 外からakamineへ送って、課題を作ります(受信メールから課題を作るも参照してください)。
プロジェクトの「Webhook」画面。「Webhookの購読」と「受信Webhook」の2つの欄がある
プロジェクトの「Webhook」画面。「Webhookの購読」と「受信Webhook」の2つの欄がある

送る設定を作る

  1. 「購読を追加」を押します。
  2. 送り先のURLを入れます。
  3. 送りたいできごとを選びます。購読したできごとだけが、1件ずつ届きます。
  4. 保存します。
  5. 画面に表示される秘密鍵を控えます。

保存と送信のたびに、送り先のURLを安全面で検査します。社内ネットワークの内側のアドレスなど、公開されていない宛先は、登録できません。

選べるできごと

種類できごと
課題作成、更新、ステータスの変更、完了、移動、削除、復元
コメント作成
マイルストーン作成、更新、削除
ドキュメント作成、更新、削除、復元

1つの操作で、複数のできごとが出ることがあります。たとえば課題を完了にすると、「更新」「ステータスの変更」「完了」の3つが出ます。ドキュメントの本文の自動保存は、5分に1回だけ「更新」として送られます。

テスト送信

設定ができたら、「テスト送信」を押すと、その場で1回送って結果を見られます。

送られる内容

本文はJSONです。主な項目は次のとおりです。

項目内容
id配信ID
eventできごとの種類(issue.created など)
occurred_at起きた日時
projectプロジェクト
actor操作した人
issue課題
changes変更前後の値({項目: {from, to}})

コメントやマイルストーンのできごとには、それぞれ comment と milestone が入ります。

署名を確かめる

届いた要求がakamineからのものか、確かめるために、次のヘッダーが付きます。

ヘッダー内容
X-Akamine-Eventできごとの種類
X-Akamine-Delivery配信ID(本文の id と同じ)
X-Akamine-Timestamp送った時刻(Unix秒)
X-Akamine-Signature-V2時刻つきの署名
X-Akamine-Signature本文だけの署名(これまでの受け手のために残してあります)

受け取る側では、次の手順をおすすめします。

  1. 秘密鍵を使い、{X-Akamine-Timestampの値}.{本文} のHMAC-SHA256を計算します。
  2. 結果が X-Akamine-Signature-V2 の sha256= に続く値と一致するか確かめます。
  3. X-Akamine-Timestamp が5分より古い要求は断ります。盗まれた要求を、あとから再送される被害を防げます。

失敗したとき

送信に失敗すると、1分後、5分後、30分後、2時間後、6時間後に再送します(最初の送信を含めて6回まで)。送信の記録は30日分残り、画面で中身、応答、結果を見られます。記録から、手動で再送することもできます。

非公開の課題のできごとは、Webhookには送られません。

関連する記事

akamine マニュアルの一覧へ

akamine

チーム開発を、akamine で進めませんか。

今お使いのツールや Excel の運用を伺い、akamine での組み立て方をご説明します。Backlog・Redmine からの引っ越しもご相談ください。

資料請求・デモの相談 →