クローズされたGitHub PRから要約されたConfluenceノートとJiraコメントを作成するレシピ

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

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

このレシピの機能

このレシピは、GitHubリポジトリのクローズされた課題に基づいて、Confluenceに週次リリースノートを生成します。

このレシピは、クローズされた課題を検索してリストにまとめ、クローズされた課題を含むConfluenceページを作成します。 さらに、GitHub課題の本文で特定のJiraチケットが参照されている場合、レシピは対応するJiraチケットにコメントを追加します。

レシピの作成

次の手順を実行して、GitHubリポジトリでクローズされた課題を検索し、それらをリストに追加して、関連するJiraチケットにコメントも追加しながら課題を要約するConfluenceページを作成するレシピを作成します。

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

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

1

Workatoにサインインします。

2

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

3

GitHub、Jira、Confluenceのコネクションを作成します。

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

接続をクリックします。

Jiraコネクションの作成

Jiraコネクションの作成

この手順では、WorkatoとJiraアカウント間のコネクションを作成します。

1

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

2

New connectionページでJiraを検索して選択します。

3

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

Jiraコネクション設定Jiraコネクション設定

4

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

5

コネクションタイプを選択します。

6

認証タイプドロップダウンメニューを使用して、認証方法を選択します。 サポートされるオプションには、BasicAPIトークンOAuth 2.0、および個人アクセストークンが含まれます。

7

ホスト名を入力します。 たとえば、JiraのURLがhttps://acme.atlassian.netの場合、ホスト名はacme.atlassian.netです。

8

接続をクリックします。

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

Confluenceコネクションの作成

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

1

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

2

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

3

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

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

4

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

5

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

6

認証タイプドロップダウンメニューを使用して、認証方法を選択します。 オプションには、BasicAPI tokenOAuth 2.0があります。

7

コネクション情報を入力します。

  • クラウドコネクションを使用する場合ConfluenceサブドメインフィールドにConfluenceサブドメインを入力します。
  • オンプレミスコネクションを使用する場合ConfluenceルートURIフィールドに、ConfluenceホストのルートURI(プロトコル、任意のポート、ホスト名を含む)を入力します。
8

認証情報を入力します。

Basic認証を選択した場合

1

ユーザー名フィールドにユーザー名(メールアドレスではありません)を入力します。

2

Passwordフィールドにパスワードを入力します。

API tokenを選択した場合

1

メールアドレスフィールドにメールアドレスを入力します。

2

APIトークンフィールドにAPIトークンを入力します。 Atlassianアカウントに移動し、セキュリティ>API tokens>Create API tokenを選択すると作成できます。

OAuth 2.0を選択した場合

1

Client IDフィールドにクライアントIDを入力します。

2

Client secretフィールドにクライアントシークレットを入力します。

3

任意です。 詳細設定を展開して、このコネクションでリクエストするスコープを選択します。 デフォルトでは、次のスコープが選択されています。

  • read:confluence-groups
  • read:confluence-content.summary
  • write:confluence-content
  • search:confluence
9

接続をクリックします。

4

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

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

5

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

6

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

7

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

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

8

Pick a starting pointをクリックし、Run on a scheduleを選択します。 これにより、スケジューラー by WorkatoのNew recurring eventトリガーを使用する新しいレシピが作成されます。 このトリガーでは、コネクションを確立する必要はありません。

9
スケジューラー by Workato New recurring eventトリガーを設定します。

スケジューラー by Workato New recurring eventトリガーの設定

このトリガーは、レシピを実行する頻度の間隔を設定します。 スケジューラー by Workatoのトリガーにはコネクションは不要です。

1

レシピエディターでトリガーをクリックします。

トリガーをクリックトリガーをクリック

2

時間単位フィールドでを選択します。

  • 使用可能なオプションには、MinutesHoursDaysWeeksMonths、またはCustom scheduleがあります。
3

レシピを毎週実行するには、トリガーの間隔フィールドに1を入力します。

4

曜日フィールドでレシピを実行する曜日を選択します。 たとえば、月曜日を選択します。

5

レシピを実行する時刻をトリガー時刻フィールドに指定します。 たとえば、9:00 AMと入力します。

6

任意です。 Timezoneフィールドでタイムゾーンを選択します。 空白のままにした場合、デフォルトはAmerica/Los_Angelesです。

7

任意です。 開始日時フィールドに開始日時を設定するか、空白のままにして、レシピを開始した直後にトリガーを有効にします。 レシピを実行またはテストした後は、この値を変更できません。

8

保存をクリックします。

10

+ Add stepをクリックし、Action in appを選択します。

アクションを追加Add step > Add action in appをクリック

11
変数 by WorkatoのCreate list(リストの作成)アクションを設定します。

変数 by WorkatoのCreate list(リストの作成)アクションの設定

このステップでは、過去1週間にクローズされたGitHub課題を取得する、Releasesという名前の空のリストを作成します。

1

Variables by Workatoを検索し、アプリとして選択します。

変数 by Workatoを選択変数 by Workatoを選択

2

Create listアクションを選択します。

Create listアクションを選択Create listアクションを選択

3

リスト名フィールドにReleasesと入力します。

4

リスト項目スキーマフィールドでフィールドを手動で追加を選択します。

5

新しいフィールドを追加ダイアログで次のフィールドを編集します。

  • 名前フィールドにDetailsと入力します。
  • データ型フィールドで文字列が選択されていることを確認します。
  • 任意フィールドでいいえが選択されていることを確認します。
6

フィールドを追加をクリックします。

7

保存をクリックします。

12

+ Add stepをクリックし、Action in appを選択します。

13
GitHub Search issues/pull requestsアクションを設定します。

GitHub Search issues/pull requestsアクションを設定

このステップでは、選択したGitHubリポジトリで前週の開始以降にクローズされた課題を検索します。

1

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

GitHubを選択GitHubを選択

2

Search issues/pull requestsアクションを選択します。

Search issues/pull requestsアクションを選択Search issues/pull requestsアクションを選択

3

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

4

アクセスする予定のリポジトリを含む組織を選択します。

5

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

6

タイプフィールドで課題を選択します。

7

クローズされた課題を検索するには、ステータスクローズ済みに設定します。

8

Closed afterフィールドに移動し、Formulaモードに切り替えて、次のFormulaを入力します。

ruby
(today - 7.days).beginning_of_week

このFormulaは、検索をフィルタリングして、前週の開始以降にクローズされた課題のみを取得します。

9

保存をクリックします。

14

+ Add stepをクリックし、Repeat for eachを選択します。

Repeat for eachを追加Add step > Repeat for eachをクリック

Repeat for each条件はどのように機能しますか?

GitHub Repeat for each条件の例

Repeat for eachループは、リスト内の各アイテムに対して1つ以上のアクションを繰り返します。 リスト全体の処理が完了すると、ループは自動的に終了します。

15
Repeat for eachループを設定します。

Repeat for eachループを設定

このステップでは、前週の開始以降にクローズされた各課題を処理します。 ループを設定した後、各課題に対してレシピで実行するアクションを定義できます。

1
課題Step 3データピルを入力リストフィールドにマッピングします。

課題データピルをマッピング課題Step 3データピルをマッピング

2

繰り返しモードフィールドで一度に1項目を選択します。

3

ステップ出力をクリアフィールドでいいえを選択します。 この入力フィールドの詳細をご覧ください。

4

保存をクリックします。

16

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

17
変数 by WorkatoのAdd items to list(リストへの項目の追加)アクションを設定します。

変数 by WorkatoのAdd items to list(リストへの項目の追加)アクションの設定

このステップでは、Repeat for eachループで処理された各課題から抽出した詳細を、課題のタイトルと課題番号へのハイパーリンクを含めてReleasesリストに追加します。

1

Variables by Workatoを検索し、アプリとして選択します。

変数 by Workatoを選択変数 by Workatoを選択

2

Add items to listアクションを選択します。

Add items to listアクションを選択Add items to listアクションを選択

3

List nameフィールドでReleases (step 2)を選択します。

4

挿入位置フィールドでリストの末尾を選択します。

5

リスト項目フィールドを展開します。

6

Detailsフィールドで次のアクションを完了します。

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

(<a href="と入力します。

3
HTML URLStep 4データピルをマッピングします。
4

">#と入力します。

5
番号Step 4データピルをマッピングします。
6

</a>)と入力します。

設定は次のようになります:

plaintext
TITLE_STEP_4 (<a href="HTML_URL_STEP_4">#NUMBER_STEP_4</a>)

リスト項目の詳細設定リスト項目の詳細設定

7

保存をクリックします。

18

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

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

IF条件の仕組み

課題追加のIF条件の例

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

19
IF条件を設定します。

IF条件を設定

このステップでは、各課題の本文にJiraチケット参照が含まれているかどうかを確認します。

1
本文Step 4データピルをデータフィールドにマッピングします。
2

Conditionフィールドでis presentを選択します。

この条件は、処理中の現在の課題の課題本文が空でもnullでもないことを確認し、次のステップでFormulaを適用するときのエラーを防ぎます。

3

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

4

データフィールドをFormulaモードに切り替えて、次の操作を行います。

1
本文Step 4データピルをマッピングします。
2

.match?(/Jira:w+-\d+/)Formulaを追加します。

このFormulaは、GitHub課題のBodyJira:ABC-123形式のJiraチケット参照が含まれているかどうかを確認します。

5

条件フィールドで等しいを選択します。

6

フィールドに移動し、Formulaモードに切り替えて、trueと入力します。

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

7

保存をクリックします。

20

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

21
JiraのCreate commentアクションを設定します。

Jira Create commentアクションを設定

このステップでは、レシピが課題本文でJira参照を検出した場合に、対応するJiraチケットにコメントを作成します。 コメントには、その課題がGitHubでクローズされたことが、課題番号と課題へのハイパーリンクとともに示されます。

1

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

Jiraを選択Jiraを選択

2

Create commentアクションを選択します。

Create commentアクションを選択Create commentアクションを選択

3

Issue ID or keyフィールドをFormulaモードに切り替えます。

4

Issue ID or keyフィールドで次のアクションを完了します。

1
本文Step 4データピルをマッピングします。
2

.match?(/Jira:w+-\d+/)Formulaを追加します。

Issue ID or keyの設定Issue ID or keyの設定

5

Comment textフィールドで次のアクションを完了します。

1

Closed by Github #と入力します。

2
番号Step 4データピルをハッシュ#記号の横にマッピングします。
3

新しい行を入力し、HTML URLStep 4データピルをマッピングします。

Comment textの設定Comment textの設定

6

保存をクリックします。

22

+ Add stepをクリックし、Action in appを選択します。

23
ConfluenceのCreate pageアクションを設定します。

Confluence Create pageアクションを設定

このステップでは、前週の開始以降にクローズされたGitHub課題を一覧表示するConfluenceページを作成します。

1

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

Confluenceを選択Confluenceを選択

2

Create pageアクションを選択します。

Create pageアクションを選択Create pageアクションを選択

3

Space keyフィールドにConfluenceスペースキーを入力します。 この値はConfluenceスペースページのURLで確認できます。

4

タイトルフィールドをFormulaモードに切り替え、次を入力します。

ruby
"Product release (" + today.beginning_of_week.strftime("%d %B %Y") +")"

これにより、Confluenceリリースノートページのタイトルが設定されます。 たとえば、Product release (1 October 2024)です。

タイトルの設定タイトルの設定

5

本文フィールドをFormulaモードに切り替えて、次の操作を行います。

1

"<p>" +と入力します。

2
ReleasesStep 2データピルをマッピングします。
3

次のFormulaを入力します。

ruby
.pluck('Details').join("<br/><br/>")
4

+ "</p>と入力します。

このコードは、Releasesリストの詳細を含むHTML段落を構築し、各詳細を2つの改行(<br/><br/>)で区切ります。

本文の設定本文の設定

6

保存をクリックします。

24

+ Add stepをクリックし、Action in appを選択します。

25
変数 by WorkatoのClear all items from list(リストからすべての項目をクリア)アクションを設定します。

変数 by WorkatoのClear all items from list(リストからすべての項目をクリア)アクションの設定

このステップでは、Releasesリストから項目をクリアして、リリースノートページに以前含まれていたクローズ済み課題が、次回レシピを実行したときに含まれないようにします。

1

Variables by Workatoを検索し、アプリとして選択します。

変数 by Workatoを選択変数 by Workatoを選択

2

Clear all items from listアクションを選択します。

Clear all items from listアクションを選択Clear all items from listアクションを選択

3

List nameフィールドに移動し、Releases (step 2)を選択して、レシピ実行の最後にこのリストからすべての項目をクリアします。

4

保存をクリックします。

クローズされたGitHub PRから要約されたConfluenceノートとJiraコメントを作成する レシピをテストして実装する準備ができました。

レシピ設定の例。

GitHub、Jira、ConfluenceのレシピクローズされたGitHub PRから要約されたConfluenceノートとJiraコメントを作成するレシピ

Last updated: