クローズされたGitHub PRから要約されたConfluenceノートとJiraコメントを作成するレシピ
このユースケースでは、GitHub、Jira、Confluenceを接続して強力な自動化を作成する方法について説明します。
このレシピの機能
このレシピは、GitHubリポジトリのクローズされた課題に基づいて、Confluenceに週次リリースノートを生成します。
このレシピは、クローズされた課題を検索してリストにまとめ、クローズされた課題を含むConfluenceページを作成します。さらに、GitHub課題の本文で特定のJiraチケットが参照されている場合、レシピは対応するJiraチケットにコメントを追加します。
レシピの作成
次の手順を実行して、GitHubリポジトリでクローズされた課題を検索し、それらをリストに追加して、関連するJiraチケットにコメントも追加しながら課題を要約するConfluenceページを作成するレシピを作成します。
ユースケースは例示のみを目的としています
このユースケースは一例です。このレシピをワークフローに合わせて適応させるには、トリガー、アクション、または条件ロジックの変更が必要になる場合があります。
Workatoにサインインします。
レシピを作成する予定のプロジェクトを選択します。
GitHub、Jira、Confluenceのコネクションを作成します。
GitHubコネクションを作成します。
GitHubコネクションの作成
このステップでは、WorkatoとGitHubアカウント間のコネクションを作成します。
作成 > コネクションをクリックするか、Cを2回押します。
新規コネクションページでGitHubを検索して選択します。
コネクション名フィールドにコネクションの名前を入力します。
GitHubコネクションのセットアップ
ロケーションドロップダウンメニューを使用して、コネクションを保存するプロジェクトを選択します。
コネクションタイプドロップダウンメニューを使用して、使用する予定のコネクション方式を選択します。オンプレミスグループ名を選択するか、Cloudを選択して直接コネクションを使用できます。
Authentication typeドロップダウンメニューで、OAuth App、GitHub App、またはPersonal Access Tokenのいずれかを選択します。
GitHub Appを選択した場合:
GitHub App IDフィールドにアプリIDを入力します。
GitHub App Private keyフィールドに秘密鍵を入力します。
Installation IDフィールドに入力します。
任意です。詳細設定を展開し、GitHub Enterprise Serverを使用する場合に適用されるAPI Root URLを指定します。
Personal Access Tokenを選択した場合:
Personal Access TokenフィールドにPersonal Access Tokenを入力します。
接続をクリックします。
Jiraコネクションを作成します。
Jiraコネクションの作成
この手順では、WorkatoとJiraアカウント間のコネクションを作成します。
作成 > コネクションをクリックするか、Cを2回押します。
New connectionページでJiraを検索して選択します。
Jiraコネクションの名前をコネクション名フィールドに入力します。
Jiraコネクション設定
ロケーションドロップダウンメニューを使用して、コネクションを保存するプロジェクトを選択します。
コネクションタイプを選択します。
認証タイプドロップダウンメニューを使用して、認証方法を選択します。サポートされるオプションには、Basic、APIトークン、OAuth 2.0、および個人アクセストークンが含まれます。
ホスト名を入力します。たとえば、JiraのURLがhttps://acme.atlassian.netの場合、ホスト名はacme.atlassian.netです。
接続をクリックします。
Confluenceコネクションを作成します。
Confluenceコネクションの作成
このステップでは、WorkatoとConfluenceアカウント間のコネクションを作成します。
作成 > コネクションをクリックするか、Cを2回押します。
新規コネクションページでConfluenceを検索して選択します。
コネクション名フィールドにコネクションの名前を入力します。
Confluenceコネクションのセットアップ
ロケーションドロップダウンメニューを使用して、コネクションを保存するプロジェクトを選択します。
コネクションタイプドロップダウンメニューを使用して、使用する予定のコネクション方式を選択します。オンプレミスグループ名を選択するか、Cloudを選択して直接コネクションを使用できます。
認証タイプドロップダウンメニューを使用して、認証方法を選択します。オプションには、Basic、API token、OAuth 2.0があります。
コネクション情報を入力します。
- クラウドコネクションを使用する場合:ConfluenceサブドメインフィールドにConfluenceサブドメインを入力します。
- オンプレミスコネクションを使用する場合:ConfluenceルートURIフィールドに、ConfluenceホストのルートURI(プロトコル、任意のポート、ホスト名を含む)を入力します。
認証情報を入力します。
Basic認証を選択した場合:
ユーザー名フィールドにユーザー名(メールアドレスではありません)を入力します。
Passwordフィールドにパスワードを入力します。
API tokenを選択した場合:
メールアドレスフィールドにメールアドレスを入力します。
APIトークンフィールドにAPIトークンを入力します。 Atlassianアカウントに移動し、セキュリティ>API tokens>Create API tokenを選択すると作成できます。
OAuth 2.0を選択した場合:
Client IDフィールドにクライアントIDを入力します。
Client secretフィールドにクライアントシークレットを入力します。
任意です。詳細設定を展開して、このコネクションでリクエストするスコープを選択します。デフォルトでは、次のスコープが選択されています。
read:confluence-groupsread:confluence-content.summarywrite:confluence-contentsearch:confluence
接続をクリックします。
プロジェクトに戻り、Create > Recipeをクリックするか、C+Rを押します。
新しいレシピを作成
Nameフィールドにレシピの名前を入力します。
Locationドロップダウンメニューから、レシピを保存する予定のプロジェクトを選択します。
ビルドを開始をクリックします。
レシピの構築を開始
Pick a starting pointをクリックし、Run on a scheduleを選択します。これにより、スケジューラー by WorkatoのNew recurring eventトリガーを使用する新しいレシピが作成されます。このトリガーでは、コネクションを確立する必要はありません。
スケジューラー by Workato New recurring eventトリガーを設定します。
スケジューラー by Workato New recurring eventトリガーの設定
このトリガーは、レシピを実行する頻度の間隔を設定します。スケジューラー by Workatoのトリガーにはコネクションは不要です。
レシピエディターでトリガーをクリックします。
トリガーをクリック
時間単位フィールドで週を選択します。
- 使用可能なオプションには、Minutes、Hours、Days、Weeks、Months、またはCustom scheduleがあります。
レシピを毎週実行するには、トリガーの間隔フィールドに1を入力します。
曜日フィールドでレシピを実行する曜日を選択します。たとえば、月曜日を選択します。
レシピを実行する時刻をトリガー時刻フィールドに指定します。たとえば、9:00 AMと入力します。
任意です。 Timezoneフィールドでタイムゾーンを選択します。空白のままにした場合、デフォルトはAmerica/Los_Angelesです。
任意です。開始日時フィールドに開始日時を設定するか、空白のままにして、レシピを開始した直後にトリガーを有効にします。レシピを実行またはテストした後は、この値を変更できません。
保存をクリックします。
+ Add stepをクリックし、Action in appを選択します。
Add step > Add action in appをクリック
変数 by WorkatoのCreate list(リストの作成)アクションを設定します。
変数 by WorkatoのCreate list(リストの作成)アクションの設定
このステップでは、過去1週間にクローズされたGitHub課題を取得する、Releasesという名前の空のリストを作成します。
Variables by Workatoを検索し、アプリとして選択します。
変数 by Workatoを選択
Create listアクションを選択します。
Create listアクションを選択
リスト名フィールドにReleasesと入力します。
リスト項目スキーマフィールドでフィールドを手動で追加を選択します。
新しいフィールドを追加ダイアログで次のフィールドを編集します。
- 名前フィールドに
Detailsと入力します。 - データ型フィールドで文字列が選択されていることを確認します。
- 任意フィールドでいいえが選択されていることを確認します。
フィールドを追加をクリックします。
保存をクリックします。
+ Add stepをクリックし、Action in appを選択します。
GitHub Search issues/pull requestsアクションを設定します。
GitHub Search issues/pull requestsアクションを設定
このステップでは、選択したGitHubリポジトリで前週の開始以降にクローズされた課題を検索します。
GitHubを検索し、アプリとして選択します。
GitHubを選択
Search issues/pull requestsアクションを選択します。
Search issues/pull requestsアクションを選択
前の手順で作成したGitHubコネクションを選択します。
アクセスする予定のリポジトリを含む組織を選択します。
リポジトリ名フィールドでリポジトリを選択します。
タイプフィールドで課題を選択します。
クローズされた課題を検索するには、ステータスをクローズ済みに設定します。
Closed afterフィールドに移動し、Formulaモードに切り替えて、次のFormulaを入力します。
(today - 7.days).beginning_of_weekこのFormulaは、検索をフィルタリングして、前週の開始以降にクローズされた課題のみを取得します。
保存をクリックします。
+ Add stepをクリックし、Repeat for eachを選択します。
Add step > Repeat for eachをクリック
Repeat for each条件はどのように機能しますか?
GitHub Repeat for each条件の例
Repeat for eachループは、リスト内の各アイテムに対して1つ以上のアクションを繰り返します。リスト全体の処理が完了すると、ループは自動的に終了します。
Select an app and actionをクリックします。
変数 by WorkatoのAdd items to list(リストへの項目の追加)アクションを設定します。
変数 by WorkatoのAdd items to list(リストへの項目の追加)アクションの設定
このステップでは、Repeat for eachループで処理された各課題から抽出した詳細を、課題のタイトルと課題番号へのハイパーリンクを含めてReleasesリストに追加します。
Variables by Workatoを検索し、アプリとして選択します。
変数 by Workatoを選択
Add items to listアクションを選択します。
Add items to listアクションを選択
List nameフィールドでReleases (step 2)を選択します。
挿入位置フィールドでリストの末尾を選択します。
リスト項目フィールドを展開します。
Detailsフィールドで次のアクションを完了します。
(<a href="と入力します。
">#と入力します。
</a>)と入力します。
設定は次のようになります:
TITLE_STEP_4 (<a href="HTML_URL_STEP_4">#NUMBER_STEP_4</a>)
リスト項目の詳細設定
保存をクリックします。
IF条件を設定します。
IF条件を設定
このステップでは、各課題の本文にJiraチケット参照が含まれているかどうかを確認します。
Conditionフィールドでis presentを選択します。
この条件は、処理中の現在の課題の課題本文が空でもnullでもないことを確認し、次のステップでFormulaを適用するときのエラーを防ぎます。
+(プラス)をクリックし、ANDを選択して2番目の条件を追加します。
データフィールドをFormulaモードに切り替えて、次の操作を行います。
.match?(/Jira:w+-\d+/)Formulaを追加します。
このFormulaは、GitHub課題のBodyにJira:ABC-123形式のJiraチケット参照が含まれているかどうかを確認します。
条件フィールドで等しいを選択します。
値フィールドに移動し、Formulaモードに切り替えて、trueと入力します。
IF条件の設定
保存をクリックします。
Select an app and actionをクリックします。
JiraのCreate commentアクションを設定します。
Jira Create commentアクションを設定
このステップでは、レシピが課題本文でJira参照を検出した場合に、対応するJiraチケットにコメントを作成します。コメントには、その課題がGitHubでクローズされたことが、課題番号と課題へのハイパーリンクとともに示されます。
Jiraを検索し、アプリとして選択します。
Jiraを選択
Create commentアクションを選択します。
Create commentアクションを選択
Issue ID or keyフィールドをFormulaモードに切り替えます。
Issue ID or keyフィールドで次のアクションを完了します。
.match?(/Jira:w+-\d+/)Formulaを追加します。
Issue ID or keyの設定
Comment textフィールドで次のアクションを完了します。
Closed by Github #と入力します。
#記号の横にマッピングします。新しい行を入力し、HTML URLステップ 4データピルをマッピングします。
Comment textの設定
保存をクリックします。
+ Add stepをクリックし、Action in appを選択します。
ConfluenceのCreate pageアクションを設定します。
Confluence Create pageアクションを設定
このステップでは、前週の開始以降にクローズされたGitHub課題を一覧表示するConfluenceページを作成します。
Confluenceを検索し、アプリとして選択します。
Confluenceを選択
Create pageアクションを選択します。
Create pageアクションを選択
Space keyフィールドにConfluenceスペースキーを入力します。この値はConfluenceスペースページのURLで確認できます。
タイトルフィールドをFormulaモードに切り替え、次を入力します。
"Product release (" + today.beginning_of_week.strftime("%d %B %Y") +")"これにより、Confluenceリリースノートページのタイトルが設定されます。たとえば、Product release (1 October 2024)です。
タイトルの設定
本文フィールドをFormulaモードに切り替えて、次の操作を行います。
"<p>" +と入力します。
次のFormulaを入力します。
.pluck('Details').join("<br/><br/>")+ "</p>と入力します。
このコードは、Releasesリストの詳細を含むHTML段落を構築し、各詳細を2つの改行(<br/><br/>)で区切ります。
本文の設定
保存をクリックします。
+ Add stepをクリックし、Action in appを選択します。
変数 by WorkatoのClear all items from list(リストからすべての項目をクリア)アクションを設定します。
変数 by WorkatoのClear all items from list(リストからすべての項目をクリア)アクションの設定
このステップでは、Releasesリストから項目をクリアして、リリースノートページに以前含まれていたクローズ済み課題が、次回レシピを実行したときに含まれないようにします。
Variables by Workatoを検索し、アプリとして選択します。
変数 by Workatoを選択
Clear all items from listアクションを選択します。
Clear all items from listアクションを選択
List nameフィールドに移動し、Releases (step 2)を選択して、レシピ実行の最後にこのリストからすべての項目をクリアします。
保存をクリックします。
クローズされたGitHub PRから要約されたConfluenceノートとJiraコメントを作成する レシピをテストして実装する準備ができました。
レシピ設定の例。
クローズされたGitHub PRから要約されたConfluenceノートとJiraコメントを作成するレシピ
最終更新日:

Add step > IF conditionをクリック