効率化

Slackのワークフロービルダーでコードレビュー依頼の機能を作る

Slackのワークフロービルダーでコードレビュー依頼の機能を作る

Slackの有料プランで利用できる新機能 ワークフロービルダー みなさん使っていますか?

ワークフロービルダーは、プログラムを一切書くことなくちょっとしたルーチンワークを処理する機能を作ることができます。

この機能を使ってコードレビュー依頼の機能を作ってみたらとても捗るものができたので、今回はハンズオン形式で作り方を紹介します。

無料プランでは利用できません。試してみたいということであれば有料プランのトライアルが可能です。

作ったもの

会社で作ったものは公開できないので、今回の記事用に機能をミニマムで作ったものです。

入力フォームから情報を入力して送信すると、

入力フォーム入力フォーム

このようにチャンネルに投稿されます。今回は1人で自作自演していますが…。

コードレビュー依頼投稿チャンネルに投稿される

ここではGitLabのマージリクエストURLを投げている想定です。GitHubであればプルリクのURL、git運用のみであればブランチ名でも良いでしょう。

コードレビューが完了したらマージOKボタンを押してもらいます。

完了通知マージOKが押されたら完了通知

僕のチームではマージリクエスト作成者にGitLabのマージボタンを押してもらっているので、マージOKボタンが押されたら依頼者のSlackbotにこのように通知がくるようにしています。

依頼者は、この通知を確認したらマージボタンを押すという運用です。このあたりは運用ルールによってカスタマイズしましょう。



新規ワークフローの作成

それでは作り方を説明していきます。

まずワークスペース名のあたりをクリックして、メニューを開き、「ワークフロービルダー」を選択して下さい。

ワークスペース名をクリックワークスペース名をクリック

まだワークフローを1つも作成していない状態では、このような画面が表示されると思います。

まだ何もワークフローがない状態まだ何もワークフローがない状態

「ワークフローを作成する」を押します。

名前を付ける名前を付ける

ここで付ける名前は、ワークフローの一覧における表示名や、botの名前として使われます。

開始方法の選択開始方法の選択

ワークフローを開始する方法は、「アクションメニュー」を選択します。

アクションメニューの設定アクションメニューの設定

コードレビュー依頼機能を付けるチャンネルを選択します。

「短い名前」は、アクションメニューに表示される名前です。

ワークフローを追加すると、チャンネルの右上あたりに雷マークが追加されてそこからアクションメニューを開けるようになります。

これで保存を押すと新規ワークフローが作成されます。

フォームを作成

次に入力フォームの作成です。「ステップを追加」をクリックします。

「ステップを追加」をクリック「ステップを追加」をクリック

次に「フォームを作成する」を選択します。

「フォームを作成する」を選択「フォームを作成する」を選択

フォームのタイトルを入力したら、コードレビュー依頼に必要な質問を追加していきます。

レビュアーレビュアー
レビュー内容レビュー内容
URLURL
緊急度緊急度

「提出された回答をチャンネルまたはDMで他のメンバーに送信する」は、管理者やリーダーが全ての依頼に対する通知を受け取っておきたい場合はチェックを付けておくといいでしょう。

回答を任意の相手に送信回答を任意の相手に送信

これで保存したらフォームの作成は完了です。

コードレビュー依頼投稿

次にコードレビュー依頼投稿のメッセージを作成します。また「ステップを追加」をクリックして下さい。

新しいステップを追加新しいステップを追加

今度は「メッセージを送信」を選択します。

メッセージの送信先メッセージの送信先

メッセージの送信先は、ワークフローを開始したチャンネルを選びます。

メッセージのテキストは、右下の変数を挿入するを使いながら次のように作成します。

メッセージテキストを作成メッセージテキストを作成

必須ではないですが、ここではレビュー依頼の内容は「>>>」を付けて引用表示になるようにしています。

本人が言っている感を減らすことで「お疲れ様です」とか「お手数おかけしますが」みたいな言葉を付けなくても気にならないようになる効果を狙っています。

レビュー内容は引用表示レビュー内容は引用表示

最後に下の方にあるボタンを含めるにチェックを入れ、「マージOK」など用途に合わせた名前を入れます。

ボタンを追加ボタンを追加

一番下までスクロールするとプレビューが見れるので、問題ないか確認しましょう。

プレビューを確認プレビューを確認

特に問題なければ保存してメッセージの送信は作成完了です。

レビュー完了通知

最後にボタンを押した時にSlackbotで通知が来るように設定します。

次のステップを追加して、今度はメッセージの送信先をアクションを実行したユーザに設定します。

「コードレビュー依頼」をクリックしたユーザーを選択「コードレビュー依頼」をクリックしたユーザーを選択

依頼投稿の時と同様に、メッセージを以下のように設定します。

完了通知のメッセージを作成完了通知のメッセージを作成

ボタンをクリックしたユーザーもメッセージに入れておく必要がある理由についてですが、ボタンを誰でも押せてしまうからです。

押せるユーザーを制限する機能が入ることを今後に期待したいですが、今のところはまだ無いのでレビュアーとボタンを押した人が一致しているか目視で確認が必要です。

たくさんレビューを投げていてどれのことか分からなくなる可能性もあるので、ここにもレビュー内容を付けておきます。

レビュー内容を追加レビュー内容を追加

こちらもプレビューを確認して問題なければ保存して下さい。以上でワークフローの作成は完了です。



ワークフローの設定/公開

設定のタブからワークフローの設定を変更できます。

ワークフローの設定ワークフローの設定

コラボレータは共同編集者のことです。他の人にもこのワークフローを編集してもらう場合は設定しておきましょう。

一通り設定が終わったら、右上の「公開する」を押すとチャンネルに公開されます!

ワークフローを実行する際は、右上の雷マークから選択します。

右上の雷マークから実行右上の雷マークを押す
コードレビュー依頼をクリックコードレビュー依頼をクリック

これで最初に載せたようにフォームが表示され、送信するとチャンネルにコードレビュー依頼が投稿されます!

まとめ

メッセージに付けるボタンが誰でも押せてしまうところとか、使える機能はまだまだ少ない印象が否めないですが手軽にこういった機能が作れるのはまさに神機能だと思います!

僕のチームでは投稿をピン留めして完了したら外すということをしているので、自動ピン留め機能、ボタンを押した時にピン留めを外す機能が入るともっと捗るなーと思っています。

今後の機能追加に期待しつつ、ワークフロービルダーで効率化できそうなところにはどんどん使っていきましょう!