🐧

Slackワークフローの履歴をGoogleスプレッドシートに記録する

2022/01/20に公開

はじめに

こんにちは、クラスメソッド AWS事業本部の筧です。

私の所属しているチームでは課題管理に Backlog を利用しています。そして特定の課題について、マネージャーから着手承認とリリース承認をもらうフローになっています。

従来フローでは以下の操作をしなければならず、申請者と承認者ともに手間になっていました。

  • 申請者
    • Backlog に手動で申請コメント後、マネージャーにSlackでメンション通知
  • 承認者
    • Backlog に手動で承認コメント後、Slackのスレッドで承認した旨を通知

こちらのフローを Slack ワークフロー / Google スプレッドシート / Backlog API を利用することで改善しました。改善後のフローは以下の通りになります。Slack上でやりとりが完結するようになりました。

申請フロー

  1. 専用 Slack チャネルのショートカットから、作成したワークフロー起動
  2. 課題タイトルや課題URLなどの必要情報を入力して、フォームを Submit
  3. 自動で以下が実行
    4. ワークフローで予め設定したメンバーに自動メンション通知
    5. Googleスプレッドシートに申請内容記録
    6. Backlog課題に申請コメント追記

承認フロー

  1. メンション通知された内容を確認
  2. 問題なければ、承認ボタンをクリック
  3. 自動で以下が実行
    4. 申請者に承認した旨をメンション通知
    5. Googleスプレッドシートの申請内容上書き(承認された旨を追記)

今回は、Slack ワークフローと Google スプレッドシートの連携方法についてご紹介します。

実装方法

記録するスプレッドシート作成

下図のスプレッドシートを新規作成します。

Slackワークフローの作成

Slackの画面左上のワークスペースをクリックして、ツール > ワークフロービルダーを選択します。


ワークフロービルダーの画面で作成をクリックして、ワークフローに任意の名前を付けます。


ショートカットを選択します。


ショートカットの必要情報を記入します。


保存するを選択すると、以下のような画面が表示されるかと思います。


ステップを追加 > フォームを送信する を選択して、以下のように入力して保存します。


次のステップを追加します。ステップを追加 > Add a spreadsheet row を選択して、以下のように入力して保存します。Slack App で Google Sheets for Workflow Builder を未連携の場合は、連携してください。(画像が小さくて申し訳ありませんが、拡大してご覧ください)


次のステップを追加します。ステップを追加 > メッセージを送信 を選択して、以下のように入力して保存します。墨消しされている箇所は、承認者を記載しています。

見切れているメッセージテキストは以下です。


次のステップを追加します。ステップを追加 > Update a spreadsheet row を選択して、以下のように入力して保存します。(画像が小さくて申し訳ありませんが、拡大してご覧ください)


次のステップを追加します。ステップを追加 > メッセージを送信 を選択して、以下のように入力して保存します。


ステップの追加は終わりです。ワークフロービルダーの画面右上の「公開する」をクリックします。これまでの手順で詰まった箇所があれば、以下の公式ドキュメントを参照ください。

https://slack.com/intl/ja-jp/help/articles/360035692513

使用イメージ

ここまでの設定で以下を実現することができます。

専用チャンネルのショートカットから「着手申請/リリース承認」を選択します。

フォームが表示されるので、必要情報を記載して、Submit します。

専用チャンネルに自動でメッセージが投稿されます。

またGoogleスプレッドシートにも自動で記録がされます。

管理者が承認ボタンを押すと、申請者に承認した旨が自動通知がされます。

またGoogleスプレッドシートの内容が更新されます。

あとがき

Slack ワークフローの履歴を Google スプレッドシートに記録する箇所をご紹介しました。今回は簡易的にパブリックチャンネルに承認ボタンを表示する形でご紹介しましたが、承認者のみが参加しているプライベートチャンネルに表示する方がより良さそうです。

Backlog 課題にコメント追加する処理については別ブログで紹介しようと思います。
それではまた!

Discussion