ビルドと課題ワークフローの統合
ビルドが正常に完了した際にワークフローが動作するように、JIRA のワークフローを設定することができます。たとえば、課題を「ビルド中」から「解決済み」ステータスに自動的に進行させるようにワークフローを設定することができます。また、ビルドが課題の失敗に関連する場合は、課題を「ビルド中」から「ビルド失敗」ステータスに進行させるように同じワークフローを設定することもできます。ビルドがコミット メッセージに JIRA 課題キーが追加されているコミットに関連する場合、ビルドは課題に関係します。
On this page:
ビルド ワークフローが JIRA に存在し、共通ステータスとトランジションが組み込まれています(詳細については、以下の「ビルド ワークフローの理解」セクションを参照してください)。
- JIRA および Bamboo に慣れていない場合は、既存のワークフローの編集は些細なタスクではないため、ビルド ワークフローを使用することをお勧めします。
- ビルド ステータスとトランジションを含めるように変更したい既存のワークフローがある場合、ビルド ワークフローをコピーして編集することをお勧めします。
- Bamboo トランジションを既存のワークフローに統合する場合、ワークフローを編集してトランジションを追加することができます。JIRA ワークフローについてよくわからない場合は、これを行わないことをお勧めします。
ビルド ワークフローの理解
図: 既定のビルド ワークフロー
# | トランジション |
|---|---|
1 | Start Progress |
2 | 進行停止 |
3 | 課題の解決 |
4 | 課題のクローズ |
5 | 課題の再オープン |
6 | ビルド待機 |
7 | ビルド成功 |
8 | ビルド失敗 |
ビルド待機、ビルド成功、およびビルド失敗トランジションは、Bamboo 固有のトランジションです。
- ビルド待機 — このトランジションは、
#waitまたは#wait-for-buildコミット コマンドを使用して、この課題に関するコードがコミットされた (そしてビルドが開始された) ときにトリガーされます。トランジションをトリガーするには、「スマート コミットの利用」で説明されているように、コミット メッセージに手動でコミット コマンドを入力する必要があることに注意してください。 - ビルド成功 — このトランジションは、この課題に関するビルドが成功したときに自動的にトリガされます。
- ビルド失敗 — このトランジションは、この課題に関するビルドが失敗したときに自動的にトリガされます。
プロジェクトでのビルド ワークフローの使用
以下の手順では、ビルド ワークフローを使用するワークフロー スキームを作成し、そのワークフロー スキームをプロジェクトに関連付ける方法を説明します。ビルド ワークフローを既存のワークフロー スキームに追加する場合、以下のステップ4~6を無視し、代わりに既存のワークフロー スキームにワークフローを割り当てます。
方法
1.ビルド ワークフローを使用するワークフロー スキームの作成
- サイト管理者としてログインします。
- JIRA 管理コンソールで、ワークフロー > ワークフロー スキームに移動します。ワークフロー スキーム ページが表示されます。
- ワークフロー スキームの追加 をクリックします。
- ワークフロー スキームの名前と説明を入力し、追加をクリックします。ワークフロー スキームが作成され、ワークフローを編集するためのページが表示されます。
- ワークフローの割り当てをクリックします。
- 課題タイプ ドロップダウンで、ビルド ワークフローを適用する課題タイプを選択します。ワークフロー ドロップダウンで、ビルド ワークフローを選択します。追加をクリックします。
2.ワークフロー スキームとプロジェクトの関連付け
- 「 JIRA 管理者 」グローバル権限を持つユーザーとしてログインします 。
「プロジェクト概要」ページに移動します。キーボード ショートカット:「g」 + 「g」 +「projects」と入力
「プロジェクト概要」ページの左側のワークフローをクリックします(画面中央の「ワークフロー」セクションの詳細リンクをクリックすることもできます)。「ワークフロー」ページが表示され、プロジェクトで使用されている現在のワークフロー スキームが示されます。
スキームの切り替えをクリックすると「プロジェクトへのワークフロー スキームの関連付け」ページが表示されます。
- スキーム リストから関連するワークフロー スキームを選択し、関連付けをクリックして、移行プロセスを開始します。ワークフロー スキームによって、ビルド ワークフローがプロジェクトに関連付けられます。
- 同意するをクリックしてプロセスを終了します。
- ビルド ワークフローと共に使用するプロジェクトを選択します。
(ワークフロー スキームで指定した課題タイプの)課題がビルド ワークフローを使用するようになりました。コミット時に課題の課題キーをコミット メッセージに追加すると、ビルドが開始/成功/失敗するときに、課題は自動的にワークフローに沿ってトランジションします。
ビルド ワークフローの編集
ビルド ワークフロー自体は編集不可のため、編集することができません。ただし、元のビルド ワークフローがプロジェクトのに0図にあっていない場合、コピーしてそのコピーを編集することができます。ワークフロー スキームに追加して、そのスキームをプロジェクトに関連付けることで、新しい(コピーした)ワークフローをアクティブ化することができます。
ビルド ワークフローのコピーと編集
- サイト管理者としてログインします。
- JIRA 管理コンソールで、スキーム > ワークフロー スキームに移動します。ワークフロー スキーム ページが表示されます。
- すべてのワークフローの表示をクリックします。
- ビルド ワークフローを見つけて、「操作」列のコピーをクリックします。
- 新しい(コピーされた)ワークフロー スキームの名前と説明を入力し、コピーをクリックします。新しいワークフローが作成され、「ワークフローの表示」ページが表示されます。
- 必要に応じて新しいワークフローを編集してアクティブ化できるようになりました。この方法の詳細については、「ワークフローの設定」と「ワークフローのアクティブ化」を参照してください。
カスタム ワークフローへのビルド トランジションの統合
プロジェクトでビルド ワークフローのコピーの編集ができない場合は、Bamboo トランジションを含めるように既存のワークフローを手動で編集することができます。JIRA ワークフローについてよくわからない場合は、これを行わないことをお勧めします。
ビルド トランジションを既存のカスタム ワークフローに統合するには、ワークフローを編集し、以下のように、適切な課題ステータスと課題トランジションを設定します。
課題ステータスの設定
課題に関連するビルドがビルド中またはビルドが失敗したことを示す課題ステータス(「ビルド中」、「ビルド失敗」など)をワークフローに設定することをお勧めします。中間ステータスなしで Bamboo 固有のビルド トランジションを JIRA ワークフローに組み込むことを妨げる技術的な制約はありませんが、実際には問題の原因となります。
たとえば、開発者が課題に取り組んでおり、その課題について、数日の間に何度かコミットしたとします。
以前のコミットでビルドが成功した場合でも、開発者が課題に関する作業を完了していない場合があり、課題を解決するビルドを成功させず、より多くのコードをコミットする必要があります。そのため、中間状態 (「ビルド中」など) が必要になります。これは、課題を特定のビルドから解決させたい場合にのみ、開発者が課題をトランジションさせる状態です (#build コミット コマンドを使用)。
課題トランジションの設定
ビルドによる自動課題トランジションは、コミット コマンドと、以下のような JIRA の Bamboo 固有トランジション プロパティによって制御されます。
- コミット コマンド — コミット コマンドはトランジション名にマップされます。そのため、「ビルド待機中」トランジションをワークフローに追加する場合、ユーザーは、コミット メッセージで
#waitまたは#wait-for-buildコミット コマンドを使用することで、トランジションを自動的にトリガーできます。 Bamboo 固有トランジション プロパティ — Bamboo ビルドが成功または失敗した場合にトリガするトランジション上の Bamboo 固有トランジション プロパティ。以下のプロパティがサポートされます。
プロパティ
値
説明
build.passed.transitionすべて
このプロパティを持つトランジションは、この課題のビルドが成功したときにトリガされ、現在の状態の課題にトランジションすることができます。
build.failed.transitionすべて
このプロパティを持つトランジションは、この課題のビルドが失敗したときにトリガされ、現在の状態の課題にトランジションすることができます。
build.passed.resolution有効な解決状況、例:「修正済み」
このプロパティを持つトランジションがビルドによってトリガされると、課題の解決状況がこのプロパティで指定されたものに設定されます。
JIRA で一般的なトランジション プロパティを設定できないことに注意してください。追加する各トランジションのトランジション プロパティを手動で再入力する必要があります。