Automation for Jira によって Jira と GitHub を統合する方法

この記事では、Automation for Jira Server によって Webhook を使用して Jira と GitHub 間のワークフローを統合する方法を見ていきます。

Webhook を簡単に言うと、あるアプリが別のアプリにデータをリアルタイムで送信するためのメカニズムです (詳細)。ここでは、タスクに優先順位を付ける方法として「To Do リスト」を重視します。そのため、最初の例では Jira 課題の作成を自動化して、GitHub リポジトリでレビューが必要なプル リクエストを追跡します。その後、GitHub における作成時に Jira でバージョンを自動でリリースします。

Webhook ルールの作成

最初に Automation for Jira Server でルールを作成します。これは Webhook を作成するプル リクエストを処理するものです。Webhook の受信を先に行うのは、逆行しているように思えるかもしれません。これは、GitHub が Webhook を作成するために、送信先の URL を必要とするためです。

最初に、新しいルールを Automation で作成して [受信 Webhook トリガー] を選択します。ここに記載されている URL をコピーして、次のステップで使用できるようにする必要があります。もう 1 つ注意すべき非常に重要なことは「Content-Type」についてメンションしているセクションです。Automation for Jira では application/jso を理解するため、この形式で送信するように GitHub に指示する必要があります。

GitHub の Webhook がメッセージ本文に課題情報を持つことは想定していないため、[Webhook からの課題がない] を選択して保存します。

次に、Webhook ペイロードで GitHub から受け取ったものを確認できるように、ログ アクションを作成します。ペイロード情報は GitHub 開発者ガイドで詳しく説明されていますが、ログアウトすると GitHub から受け取った内容を簡単に確認できます。

次に、ルールに名前を付けて保存します。ここでは、自分のルールに「GitHub で作成された新しいプル リクエスト」という名前を付けました。

Webhook を GitHub に追加する

次に、GitHub に移動します。接続しているリポジトリを見つけます。この場合は「example」と呼ばれる架空のリポジトリを使用します。設定タブで [Webhook] > [Webhook を追加] の順に選択します。

前のステップで作成した Automation for Jira からの URL を入力して、コンテンツ タイプを application/json に送信します。次に必要な操作は、Automation に送信するイベントを決定することだけです。この例ではプル リクエストのみを対象にしているので、[イベントを個別に選択] を選択して [プル リクエスト] をチェックするだけです。

Webhook を有効にするので「アクティブ」にチェックを入れたまま Webhook を追加します。これで基本は完了です。それでは、すべてを結び付けましょう。

課題の作成

すべてが正しく統合されていることをテストしましょう。リポジトリのブランチにプル リクエストを作成しました。これは「作成された新しいプル リクエスト」ルールの監査ログに何かがあることを意味します。

案の定、GitHub から Webhook が送信されて、アクションによって監査ログにログ記録されました。上記の緑色の大きなテキスト ブロックは、JSON 形式のプル リクエスト作成イベントに関するすべてのデータです。ここから、対象にしている情報が分かります。

リポジトリの名前、プル リクエスト番号、それを作成したユーザー、タイトル、説明が必要です。簡単にアクセスできるように「プル リクエスト」 へのリンクを含めるのも良いでしょう。

さて、パズルの最後のピースになりました。プル リクエストをレビューする課題を作成しましょう。

ご覧のとおり、特定した情報部分を引き出すために、スマート バリューによって説明を作成しました。これを保存して公開するということは、プル リクエストが次回作成された際に課題が作成されることを意味します。

ここに、その課題があります。対象にしている詳細を含む Jira のプル リクエストから課題が作成されました。

GitHub から Jira バージョンをリリースする

ここではまず 2 つ目の例をご紹介します。既存の Jira バージョンを GitHub の Webhook からリリースする方法を簡単に説明します。このサンプル プロジェクトでは、まだリリースされていないバージョン (4.1.0) があります。

前のルールと同じステップに従って、リリースするバージョンを含む Webhook をプロジェクト内に作成しました。GitHub のペイロードを見るために「ログ アクション」によって [リリース バージョン] アクションを追加します。GitHub の正確なバージョンがリリースされていることを確認するので、その他のオプションを拡張して Webhook からのバージョンを使用しています。

前の例のように、GitHub に移動して Webhook を作成しましょう。今回だけは [リリース] をチェックします。

これで終了です。バージョンを GitHub でリリースすると、次の例に示すように Jira は同じバージョンをリリース済みとしてマークします。

まとめ

Webhook と Automation for Jira は、要件に合わせてカスタマイズされた方法で Jira 管理を自動化するための非常に優れた方法を提供します。GitHub はその一例に過ぎません。潜在的なユース ケースは無限大にあります。

最終更新日 2020 年 6 月 24 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.