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