クラウドサインの通知を Slack で受け取るようにする

この4月から人事異動を以ってクラウドサインのお仕事を離れて他の仕事をしています。新しいお仕事についてはまた追って書こうと思います。

先日クラウドサインの利用事例にリブセンス様のAPIの仕様を見て、技術的な拡張性が高いサービスだとすぐ分かりましたが掲載されましたが、この最後の方で Slack 連携のことが少し出ているので説明しようと思います。

クラウドサインでは有料プランを使っていると Webhook が使えます。クラウドサインの Webhook とは Web Hook 機能についてで書かれている通り、やりとりされている書類が締結または却下・取り消しになった際に指定された URL に対して POST が実行されるものです。

リブセンス様を含むいくつかのお客様から要望を頂き、この Webhook の機能を使って簡易的にですが Slack で通知が受け取れるようになっています。以下に設定の手順を記します。

手順0. Slack に Webhook 機能をインストール

Slack のチームに Webhook の機能がまだインストールされていなければ 
Incoming Webhooks / 着信 Web フックからインストールしてください。

手順1. カスタムインテグレーションの設定

カスタムインテグレーションにアクセスし(ログインしていなかったらワークスペースを指定してください)、 Incoming Webhooks / 着信 Web フックを選択。

手順2. Webhook の追加

設定を追加をクリック。

手順3. Webhook URL の発行

投稿先のチャンネルを選択して「着信 Web フック インテグレーションの追加」をクリックすると、以下のような URL が発行されます。

https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX

手順4. クラウドサインで Webhook URL の設定

上記 3 で得た URL ををクラウドサイン内の「高度な設定」の Hook URL に入力して保存。

以上でクラウドサインで合意締結・却下がされると Slack の指定したチャンネルに投稿されるようになります。
なお、送信者の名前や送信時に使用したタイトルが表示されるので、投稿先にはプライベートチャンネルを指定することをお勧めします。


以下、ちょっと技術的な話です。

Slack の Incoming Webhook のポイントについては Incoming Webhooks | Slack に書かれています。
Incoming Webhook に POST する JSON の一番簡単なパターンは "text" キーとその値として内容を含むオブジェクトにすることです。

もうちょっと凝ったことをしたい場合は、テキストのフォーマットについては Basic message formatting | Slack を見てみると良いでしょう。以下に少し例を挙げます。

URL をリンクにする
URL の前後を <> で囲む

<http://example.com>

テキストををリンクにする
<> の中に | でつないだ URL とテキストを書く

<http://example.com|本番環境>で内容を確認

アタッチメントを使ったリッチな表現

こんな表示にする ↓

{
  "attachments": [
    {
      "pretext": "_3回目_ のテストで失敗しました",
      "title": "要確認",
      "text": "*今すぐ* 確認をしてください",
      "color": "warning",
      "mrkdwn_in": [
        "text", "pretext"
      ]
    }
  ]
}

1日の中で Slack に触れている時間が割と長くなっているので、より使い勝手を上げるためにも今後もウォッチしていきたいと思います。

この記事が気に入ったらサポートをしてみませんか?