Workbot for Slackを使用したGitHubマイルストーン投稿レシピ

このページは機械翻訳により提供されています。翻訳内容と英語版に相違がある場合は、英語版が優先されます。

このユースケースでは、GitHubWorkbot for Slackを接続して強力な自動化を作成する方法を説明します。

このレシピの機能

このレシピは、GitHubで新規または更新されたマイルストーンを監視し、Workbot for Slackを使用してマイルストーンの詳細をSlackに自動的に投稿します。

このレシピはどのように使用できますか?

このレシピを使用すると、GitHubのマイルストーンを追跡し、更新をSlackチャンネルにリアルタイムで投稿できます。 また、このレシピを変更して、GitHubのイシュー、プルリクエスト、またはイシューコメントのリアルタイムトリガーと連携させることもできます。

レシピの作成

Workbot for Slackを使用して、GitHubで新規または更新されたマイルストーンを監視し、マイルストーンの詳細をSlackに自動的に投稿するレシピを作成するには、次の手順を実行します:

ユースケースは例示のみを目的としています

このユースケースは一例です。 このレシピをワークフローに合わせて適応させるには、トリガー、アクション、または条件ロジックの変更が必要になる場合があります。

1

Workatoにサインインします。

2

レシピを作成する予定のプロジェクトを選択します。

3

GitHubおよびWorkbot for Slackのコネクションを作成します:

GitHubコネクションを作成します。

GitHubコネクションの作成

このステップでは、WorkatoとGitHubアカウント間のコネクションを作成します。

1

作成 > コネクションをクリックするか、Cを2回押します。

2

新規コネクションページでGitHubを検索して選択します。

3

コネクション名フィールドにコネクションの名前を入力します。

GitHubコネクションのセットアップGitHubコネクションのセットアップ

4

ロケーションドロップダウンメニューを使用して、コネクションを保存するプロジェクトを選択します。

5

コネクションタイプドロップダウンメニューを使用して、使用する予定のコネクション方式を選択します。 オンプレミスグループ名を選択するか、Cloudを選択して直接コネクションを使用できます。

6

Authentication typeドロップダウンメニューで、OAuth AppGitHub App、またはPersonal Access Tokenのいずれかを選択します。

GitHub Appを選択した場合:

1

GitHub App IDフィールドにアプリIDを入力します。

2

GitHub App Private keyフィールドに秘密鍵を入力します。

3

Installation IDフィールドに入力します。

4

任意です。 詳細設定を展開し、GitHub Enterprise Serverを使用する場合に適用されるAPI Root URLを指定します。

Personal Access Tokenを選択した場合:

1

Personal Access TokenフィールドにPersonal Access Tokenを入力します。

7

接続をクリックします。

Workbot for Slackコネクションの作成。

Workbot for Slackコネクションの作成

このステップでは、WorkatoとWorkbot for Slackアカウント間のコネクションを作成します。

1

作成 > コネクションをクリックするか、Cを2回押します。

2

新規コネクションページでWorkbot for Slackを検索して選択します。

3

名前フィールドにコネクションの名前を入力します。

Workbot for Slackコネクション設定Workbot for Slackコネクション設定

4

ロケーションドロップダウンメニューを使用して、コネクションを保存するプロジェクトを選択します。

5

任意です。 使用予定のNLUプロバイダー(DialogFlowやAmazon Lex NLUなど)を選択します。 ドロップダウンメニューに表示するには、NLUプロバイダーに接続する必要があります。

6

任意です。 詳細をクリックして、スラッシュコマンド検証トークンカスタムヘルプコンテンツ、Slackアプリステータス(classicかどうか)、および Custom OAuth profileを設定します。

7

接続をクリックし、プロンプトが表示されたらSlackワークスペースにサインインして、続行をクリックしてコネクションを検証します。

4

プロジェクトに戻り、Create > Recipeをクリックするか、C+Rを押します。

新しいレシピを作成新しいレシピを作成

5

Nameフィールドにレシピの名前を入力します。

6

Locationドロップダウンメニューから、レシピを保存する予定のプロジェクトを選択します。

7

ビルドを開始をクリックします。

レシピの構築を開始レシピの構築を開始

8

Pick a starting pointをクリックし、Trigger from an appを選択します。

9

Select an app and trigger eventをクリックします。

10
GitHubの新規または更新されたマイルストーントリガーを設定します。

GitHubの新規または更新されたマイルストーントリガーの設定

このトリガーは、指定したGitHubリポジトリで新規または更新されたマイルストーンをリアルタイムで監視します。

1

GitHubを検索し、アプリとして選択します。

GitHubを選択GitHubを選択

2

新規または更新されたマイルストーントリガーを選択します。

新規または更新されたマイルストーンのリアルタイムトリガーを選択新規または更新されたマイルストーンのリアルタイムトリガーを選択

3

前の手順で作成したGitHubコネクションを選択します。

4

アクセスする予定のリポジトリを含む組織を、組織ドロップダウンメニューから選択します。

5

リポジトリ名フィールドでリポジトリを選択します。

6

すべてのマイルストーンステータスを監視するには、アクションドロップダウンメニューからすべてを選択します。 追加オプションには、次のステータスがあります:

  • 開かれたマイルストーン
  • 閉じられたマイルストーン
  • 作成されたマイルストーン
  • 削除されたマイルストーン
  • 編集されたマイルストーン

新規または更新されたマイルストーントリガーを設定新規または更新されたマイルストーントリガーを設定

7

保存をクリックします。

11

+ Add stepをクリックし、IF conditionを選択します。

IF条件を追加Add step > IF conditionをクリック

IF条件の仕組み

GitHubおよびWorkbot for SlackのIF条件の例

IF条件を使用すると、特定の条件に基づいて判断できます。 指定した条件がtrueかfalseかに応じて異なるアクションを実行することで、レシピのワークフローを制御できます。

12
IF条件を設定します。

IF条件の設定

このステップでは、作成日時更新日時のタイムスタンプを比較して、マイルストーンが新規かどうかを確認します。 値が同一の場合、マイルストーンは新規と見なされます。

1

GitHubの作成日時Step 1データピルをデータフィールドにマッピングします。

2

条件ドロップダウンメニューを使用して、次の値と等しいを選択します。

3

GitHubの更新日時Step 1データピルをフィールドにマッピングします。

IF条件の設定IF条件の設定

4

保存をクリックします。

13

Select an app and actionをクリックします。

14
Workbot for SlackのPost messageアクションを設定します。

Workbot for Slack Post messageアクションを設定する

このステップでは、指定したSlackチャンネルに、新しいGitHubマイルストーンに関する詳細を含むメッセージを投稿します。

1

Workbot for Slackを検索し、アプリとして選択します。

Workbot for Slackを選択Workbot for Slackを選択

2

Post messageアクションを選択します。

Post messageアクションを選択Post messageアクションを選択

3

Workbotでマイルストーンの更新を投稿するチャンネル名を、#プレフィックスを含めてチャンネル名/DMフィールドに入力します。 たとえば、#generalを使用します。

4

メッセージフィールドでメッセージにブロックを追加をクリックします。

メッセージにブロックを追加をクリックメッセージにブロックを追加をクリック

5

新規ブロックフィールドに移動し、タイプドロップダウンメニューを使用してテキスト付きセクションを選択します。

6

セクションテキストフィールドに*New milestone in GitHub*と入力します。

セクションテキストフィールドに入力セクションテキストフィールドに入力

7

メッセージにブロックを追加をクリックします。

8

2つ目の新規ブロックフィールドに移動し、タイプドロップダウンメニューを使用してフィールド付きセクションを選択します。

9

セクションテキストフィールドに移動し、次のアクションを実行します:

1

<と入力します。

2

GitHubのHTML URLStep 1データピルをマッピングします。

3

|*と入力します。

4

GitHubのタイトルStep 1データピルをマッピングします。

5

*>と入力します。

6

新しい行を入力し、GitHubの説明Step 1データピルをマッピングします。

セクションテキストフィールドを設定セクションテキストフィールドを設定

10

添付ファイルフィールドに移動し、フィールドを追加をクリックします。

フィールドを追加をクリックフィールドを追加をクリック

11

フィールド#1に移動し、タイトルフィールドに*ID*:と入力します。

12

GitHubのIDStep 1データピルをフィールドにマッピングします。

13

+ Add fieldをクリックします。

14

フィールド#2に移動し、タイトルフィールドに*Number*:と入力します。

15

GitHubの番号Step 1データピルをフィールドにマッピングします。

16

+ Add fieldをクリックします。

17

フィールド#3に移動し、タイトルフィールドに*State*:と入力します。

18

フィールドをFormulaモードに切り替え、GitHubの状態Step 1データピルをマッピングし、.capitalize Formulaを追加します。

状態データピルをマッピングしてcapitalize Formulaを追加状態Step 1データピルをマッピングしてcapitalize Formulaを追加

19

+ Add fieldをクリックします。

20

フィールド#4に移動し、タイトルフィールドに*Created at*:と入力します。

21

フィールドをFormulaモードに切り替え、次のアクションを実行します:

1

GitHubの作成日時Step 1データピルをマッピングします。

2

.in_time_zone Formulaを追加し、タイムゾーンを指定します。 たとえば、太平洋標準時で時刻を表示するには、("America/Los Angeles")と入力します。

3

.strftime Formulaを追加して、日時文字列を任意の形式にフォーマットします。 次のように入力できます: ("%B%e, %Y,%l:%M %p")

作成日時の値の設定作成日時の値の設定

22

+ Add fieldをクリックします。

23

フィールド#5に移動し、タイトルフィールドに*Open issues*:と入力します。

24

GitHubの未解決のイシューStep 1データピルをフィールドにマッピングします。

25

+ Add fieldをクリックします。

26

フィールド#6に移動し、タイトルフィールドに*Closed issues*:と入力します。

27

GitHubの解決済みのイシューStep 1データピルをフィールドにマッピングします。

28

メッセージにブロックを追加をクリックします。

29

3つ目の新規ブロックフィールドを展開し、タイプドロップダウンメニューから区切り線を選択します。

30

保存をクリックします。

15

+ Add stepをクリックし、ELSE IF conditionを選択します。

ELSE IF条件を追加Add step > ELSE IF conditionをクリック

ELSE IF条件の仕組み

GitHubおよびWorkbot for SlackのELSE IF条件の例

IF条件がfalseの場合、ELSE IF条件が評価されます。 このレシピで示すように、複数のELSE IF条件を連結できます。

詳細については、IF制御ステートメントのドキュメントを参照してください。

16
ELSE IF条件を設定します。

ELSE IF条件の設定

このステップでは、作成日時更新日時のタイムスタンプを比較して、マイルストーンが更新されたかどうかを確認します。 このELSE IF条件では、終了日時フィールドがnullであることを確認することで、マイルストーンが閉じられていないことも確認します。

1

GitHubの作成日時Step 1データピルをデータフィールドにマッピングします。

2

条件ドロップダウンメニューを使用して、次の値と等しくないを選択します。

3

GitHubの更新日時Step 1データピルをフィールドにマッピングします。

4

+(プラス)をクリックし、ANDを選択して2つ目の条件を追加します。

5

GitHubの終了日時Step 1データピルをデータフィールドにマッピングします。

6

条件ドロップダウンメニューを使用して、存在しないを選択します。

ELSE IF条件の設定ELSE IF条件の設定

7

保存をクリックします。

17

レシピエディターでステップ3の横にある(省略記号)をクリックしてコピーを選択するか、ステップを選択した後にCommand+Cを押します。

ステップ3をコピーステップ3をコピー

18

ステップ5にカーソルを合わせ、貼り付けをクリックします。

メッセージを投稿ステップを貼り付けメッセージを投稿ステップを貼り付け

19

レシピエディターで余分なステップの横にある(省略記号)をクリックして、削除を選択します。

余分なステップを削除余分なステップを削除

20
Workbot for SlackのPost messageアクションを設定します。

Workbot for Slackのメッセージ投稿アクションの設定

このステップでは、指定したSlackチャンネルに、更新されたGitHubマイルストーンに関する詳細を含むメッセージを投稿します。

1

貼り付けたWorkbot for Slackのメッセージを投稿アクションをクリックします。

2

メッセージ>テキスト付きセクション>セクションテキストに移動し、*New milestone in GitHub**Updated milestone in GitHub*に変更します。

GitHubの更新されたマイルストーンGitHubの更新されたマイルストーン

3

添付ファイルフィールド>フィールド#4>タイトルに移動し、*Created at*:*Updated at*:に変更します。

4

フィールドで、作成日時Step 1データピルを更新日時Step 1データピルに置き換えます。

更新日時データピルをマッピング更新日時Step 1データピルをマッピング

21

+ Add stepをクリックし、ELSE IF conditionを選択します。

ELSE IF条件を追加Add step > ELSE IF conditionをクリック

22
2つ目のELSE IF条件を設定します。

2つ目のELSE IF条件の設定

このステップでは、終了日時フィールドに値が含まれているかどうかを確認して、マイルストーンが閉じられているかどうかを確認します。

1

GitHubの終了日時Step 1データピルをデータフィールドにマッピングします。

2

条件ドロップダウンメニューを使用して、存在するを選択します。

ELSE IF条件の設定ELSE IF条件の設定

3

保存をクリックします。

23

レシピエディターでステップ3の横にある(省略記号)をクリックしてコピーを選択するか、ステップを選択した後にCommand+Cを押します。

ステップ3をコピーステップ3をコピー

24

ステップ7にカーソルを合わせ、貼り付けをクリックします。

メッセージを投稿ステップを貼り付けメッセージを投稿ステップを貼り付け

25

レシピエディターで余分なステップの横にある(省略記号)をクリックして、削除を選択します。

余分なステップを削除余分なステップを削除

26
Workbot for SlackのPost messageアクションを設定します。

Workbot for Slackのメッセージ投稿アクションの設定

このステップでは、指定したSlackチャンネルに、閉じられたGitHubマイルストーンに関する詳細を含むメッセージを投稿します。

1

貼り付けたWorkbot for Slackのメッセージを投稿アクションをクリックします。

2

メッセージ>テキスト付きセクション>セクションテキストに移動し、*New milestone in GitHub**Closed milestone in GitHub*に変更します。 GitHubの閉じられたマイルストーンGitHubの閉じられたマイルストーン

3

添付ファイルフィールド>フィールド#4>タイトルに移動し、*Created at*:*Closed at*:に変更します。

4

フィールドで、作成日時Step 1データピルを終了日時Step 1データピルに置き換えます。

終了日時データピルをマッピング終了日時Step 1データピルをマッピング

Workbot for Slackを使用したGitHubマイルストーンの投稿レシピは、テストして実装する準備ができました。

レシピ設定の例。

GitHubおよびWorkbot for SlackのレシピWorkbot for Slackを使用したGitHubマイルストーンの投稿レシピ

Last updated: