クローズされた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 URLStep 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コメントを作成するレシピ
Last updated:

Add step > IF conditionをクリック