Slackの有料プランで利用できる新機能 ワークフロービルダー みなさん使っていますか?
ワークフロービルダーは、プログラムを一切書くことなくちょっとしたルーチンワークを処理する機能を作ることができます。
この機能を使ってコードレビュー依頼の機能を作ってみたらとても捗るものができたので、今回はハンズオン形式で作り方を紹介します。
無料プランでは利用できません。試してみたいということであれば有料プランのトライアルが可能です。
作ったもの
会社で作ったものは公開できないので、今回の記事用に機能をミニマムで作ったものです。
入力フォームから情報を入力して送信すると、
 入力フォーム
入力フォームこのようにチャンネルに投稿されます。今回は1人で自作自演していますが…。
 チャンネルに投稿される
チャンネルに投稿されるここではGitLabのマージリクエストURLを投げている想定です。GitHubであればプルリクのURL、git運用のみであればブランチ名でも良いでしょう。
コードレビューが完了したらマージOKボタンを押してもらいます。
 マージOKが押されたら完了通知
マージOKが押されたら完了通知僕のチームではマージリクエスト作成者にGitLabのマージボタンを押してもらっているので、マージOKボタンが押されたら依頼者のSlackbotにこのように通知がくるようにしています。
依頼者は、この通知を確認したらマージボタンを押すという運用です。このあたりは運用ルールによってカスタマイズしましょう。
 
 
新規ワークフローの作成
それでは作り方を説明していきます。
まずワークスペース名のあたりをクリックして、メニューを開き、「ワークフロービルダー」を選択して下さい。
 ワークスペース名をクリック
ワークスペース名をクリックまだワークフローを1つも作成していない状態では、このような画面が表示されると思います。
 まだ何もワークフローがない状態
まだ何もワークフローがない状態「ワークフローを作成する」を押します。
 名前を付ける
名前を付けるここで付ける名前は、ワークフローの一覧における表示名や、botの名前として使われます。
 開始方法の選択
開始方法の選択ワークフローを開始する方法は、「アクションメニュー」を選択します。
 アクションメニューの設定
アクションメニューの設定コードレビュー依頼機能を付けるチャンネルを選択します。
「短い名前」は、アクションメニューに表示される名前です。
ワークフローを追加すると、チャンネルの右上あたりに雷マークが追加されてそこからアクションメニューを開けるようになります。
これで保存を押すと新規ワークフローが作成されます。
フォームを作成
次に入力フォームの作成です。「ステップを追加」をクリックします。
 「ステップを追加」をクリック
「ステップを追加」をクリック次に「フォームを作成する」を選択します。
 「フォームを作成する」を選択
「フォームを作成する」を選択フォームのタイトルを入力したら、コードレビュー依頼に必要な質問を追加していきます。
 レビュアー
レビュアー レビュー内容
レビュー内容 URL
URL 緊急度
緊急度「提出された回答をチャンネルまたはDMで他のメンバーに送信する」は、管理者やリーダーが全ての依頼に対する通知を受け取っておきたい場合はチェックを付けておくといいでしょう。
 回答を任意の相手に送信
回答を任意の相手に送信これで保存したらフォームの作成は完了です。
コードレビュー依頼投稿
次にコードレビュー依頼投稿のメッセージを作成します。また「ステップを追加」をクリックして下さい。
 新しいステップを追加
新しいステップを追加今度は「メッセージを送信」を選択します。
 メッセージの送信先
メッセージの送信先メッセージの送信先は、ワークフローを開始したチャンネルを選びます。
メッセージのテキストは、右下の変数を挿入するを使いながら次のように作成します。
 メッセージテキストを作成
メッセージテキストを作成必須ではないですが、ここではレビュー依頼の内容は「>>>」を付けて引用表示になるようにしています。
本人が言っている感を減らすことで「お疲れ様です」とか「お手数おかけしますが」みたいな言葉を付けなくても気にならないようになる効果を狙っています。
 レビュー内容は引用表示
レビュー内容は引用表示最後に下の方にあるボタンを含めるにチェックを入れ、「マージOK」など用途に合わせた名前を入れます。
 ボタンを追加
ボタンを追加一番下までスクロールするとプレビューが見れるので、問題ないか確認しましょう。
 プレビューを確認
プレビューを確認特に問題なければ保存してメッセージの送信は作成完了です。
レビュー完了通知
最後にボタンを押した時にSlackbotで通知が来るように設定します。
次のステップを追加して、今度はメッセージの送信先をアクションを実行したユーザに設定します。
 「コードレビュー依頼」をクリックしたユーザーを選択
「コードレビュー依頼」をクリックしたユーザーを選択依頼投稿の時と同様に、メッセージを以下のように設定します。
 完了通知のメッセージを作成
完了通知のメッセージを作成ボタンをクリックしたユーザーもメッセージに入れておく必要がある理由についてですが、ボタンを誰でも押せてしまうからです。
押せるユーザーを制限する機能が入ることを今後に期待したいですが、今のところはまだ無いのでレビュアーとボタンを押した人が一致しているか目視で確認が必要です。
たくさんレビューを投げていてどれのことか分からなくなる可能性もあるので、ここにもレビュー内容を付けておきます。
 レビュー内容を追加
レビュー内容を追加こちらもプレビューを確認して問題なければ保存して下さい。以上でワークフローの作成は完了です。
 
 
ワークフローの設定/公開
設定のタブからワークフローの設定を変更できます。
 ワークフローの設定
ワークフローの設定コラボレータは共同編集者のことです。他の人にもこのワークフローを編集してもらう場合は設定しておきましょう。
一通り設定が終わったら、右上の「公開する」を押すとチャンネルに公開されます!
ワークフローを実行する際は、右上の雷マークから選択します。
 右上の雷マークを押す
右上の雷マークを押す コードレビュー依頼をクリック
コードレビュー依頼をクリックこれで最初に載せたようにフォームが表示され、送信するとチャンネルにコードレビュー依頼が投稿されます!
まとめ
メッセージに付けるボタンが誰でも押せてしまうところとか、使える機能はまだまだ少ない印象が否めないですが手軽にこういった機能が作れるのはまさに神機能だと思います!
僕のチームでは投稿をピン留めして完了したら外すということをしているので、自動ピン留め機能、ボタンを押した時にピン留めを外す機能が入るともっと捗るなーと思っています。
今後の機能追加に期待しつつ、ワークフロービルダーで効率化できそうなところにはどんどん使っていきましょう!





 
 

