高度なワークフローの設定
This page describes configuring transitions in JIRA workflows. For information about the basics of workflows – see Configuring Workflow.
JIRA 管理者は、トランジションの動作の次の側面を制御できます。
- Triggers – transition JIRA issues when certain events occur in a connected development tool, such as Bitbucket.
- Conditions – check that a transition should be performed by the user.
- Validators – check that any input to the transition (for example, by a user) is valid, before the transition is performed.
- Post functions – carry out additional processing, after a transition is performed.
- プロパティ – キー値のペアで、トランジションをさらにカスタマイズするために使用できます。
このページで解説するその他の項目:
トリガー
JIRA administrators can configure triggers in JIRA workflows that respond to events in your linked development tools. This allows you to set up your development tools and JIRA workflows so that, for example, when a developer creates a branch to start work on an issue in Bitbucket the issue will automatically be transitioned from 'Open' to 'In progress'.
以前にトリガーを設定したことがない場合、またはトリガーについて詳細を学習する場合は、トリガーに関するガイド「ワークフロートリガーの設定」を参照してください。ガイドでは、このサンプル開発ワークフローと類似した、トリガーを含むワークフローを設定する方法も説明しています。トリガーを含む開発ワークフロー (Atlassian Marketplace より)。
トリガーの設定
トランジションのトリガーの表示または設定や、トランジションを含むワークフローの編集を行うには、トランジションを選択してから、トランジションのプロパティパネルでトリガーをクリックします。
条件
条件は、トランジションがユーザーによって実行されるべきかどうかを制御します。たとえば、次のように条件を使用できます。
- 報告者にのみトランジションの実行を許可する
- 特定の権限を持つユーザにのみトランジションの実行が許可されている
- allow execution only if code has, or has not, been committed against this issue.
条件が満たされない場合、「課題の表示」ページのトランジション ボタンが表示されず、トランジションを実行できません。
条件はトランジション画面でユーザーから収集した入力パラメーターを検証できません。これを実行するには、バリデーターを使用する必要があります。
以降のセクションの内容
条件の追加
トランジションに条件を追加して、トランジションを含むワークフローを編集するには、トランジションを選択してから、トランジションのプロパティパネルで条件をクリックします。
条件タブでは設定済みの条件を確認できます。
When you click Add condition, you can choose from the available conditions, and set any necessary parameters for the condition:
Additional conditions may be available from installed plugins. or you can create your own conditions using the plugin system; see the Workflow Plugin Modules for details.
「テキスト」モードでは、トランジションの編集もできます。
条件のグループ化
You can construct complex conditions by grouping and nesting conditions.
Change any condition into a group by clicking the 'Add grouped condition' icon for the condition:
Now you can add further conditions to this new group, as described above.
グループ内の条件の適用方法を すべて か いずれか かで、ロジックの切替ができます。
バリデーター
Validators check that any input made to the transition is valid before the transition is performed. Input can include that gathered from the user on the transition's screen.
If a validator fails, the issue does not progress to the destination status of the transition, and the transition's post functions are not executed.
バリデーターの追加
To add a validator to a transition, edit the workflow that contains the transition, select the transition, then click Validators in the properties panel for the transition.
On the Validators tab, you can see any validators that have already been set.
When you cllck Add validator you can choose from the available validators and set any necessary parameters for the validator.
「テキスト」モードでは、トランジションの編集もできます。
事後操作
事後操作では、トランジション実行後に必要となる、以下のような追加の処理を実行します。
- 課題フィールドの更新
- 課題の変更履歴生成
- 課題へのコメント追加
- メール通知をトリガーするイベントの生成
以降のセクションの内容
基本的な事後操作
すべての JIRA のトランジションで、次のような基本的な事後操作が行われ、この順番で実行されます。
- 課題のステータスをターゲット ワークフロー ステータスのリンクされたステータスに設定します。
- トランジション中にコメントが入力された場合、そのコメントを課題に追加します。
- 課題の変更履歴を更新し、データベースに課題を格納します。
- 課題のインデックスを再作成して、データベースとの同期を維持します。
- リスナーが処理できるイベントを発生させます。
これらの基本事後操作はトランジションから削除したり、並べ替えることができません。ただし、他の(オプションの)事後操作を間に挿入することはできます。
オプションの事後操作
JIRA には、トランジションに追加可能な事後操作がいくつか含まれています。
Additional post functions may be available from installed plugins. or you can create your own post functions using the plugin system; see the Workflow Plugin Modules for details.
事後操作の追加
トランジションに事後操作を追加するには、トランジションが含まれるワークフローを編集して、トランジションを選択したあと、トランジションのプロパティ パネルで 事後操作 をクリックします
On the Post functions tab, you can see any post functions that have already been set:
When you cllck Add post function you can choose from the available post functions, and set any necessary parameters.
Options for editing or deleting a post function, and for changing the execution order, are at the right of the tab (hover there to see them).
「テキスト」モードでは、トランジションの編集もできます。
最初のトランジションの事後操作の使用
課題が作成されたとき、特定のフィールドの値を設定するなどの処理タスクを実行する必要がある場合、ワークフローの最初のトランジションに事後操作を追加できます。最初のトランジションは、「作成」(空白のワークフローを作成した場合)または「課題の作成」(システム ワークフローを複製した場合)と呼ばれます。
JIRA には、ワークフローの最初のトランジションを指定し、この順番で処理される以下の基本的な事後操作が含まれます。
- 課題を作成します。
- リスナーが処理できるイベントを発生させます。
以下のオプション事後操作は、最初のトランジション用に特別に用意されています。
オプション事後操作(最初のトランジションのみ) | 説明 |
---|---|
コメントを作成 | トランジション中にコメントが入力された場合、そのコメントを課題に追加します。 |
課題ステータスの更新 | 課題のステータスをターゲット ワークフロー ステータスのリンクされたステータスに設定します。 |
課題の保存 | 課題の更新を保存します(変更履歴は作成されません)。 |
Additionally, the standard optional post functions can also be added to an initial transition,
トランジション作成に追加されたオプション事後操作は、「元課題の作成」事後操作の前に配置する必要があります。
必要に応じ、別の最初のトランジションに移動するよう、ワークフローの最初のステータスを設定できます。詳細については、最初のステータスの設定を参照してください。
注意
課題を作成する際に「解決状況」フィールドを設定する必要がある場合、 「課題作成」事後操作の後に「課題フィールドの更新」事後操作を追加し、その後 「課題の保存」事後操作を使用します。「課題の保存」事後操作は、課題作成時に解決状況フィールドを設定するのに便利です。
ただし、課題の保存事後操作には以下のような制限があるため、必要な場合にのみ使用します。
- 変更履歴を生成しない
- 課題と 1 対多の関係を持つフィールド(たとえば、「バージョン」や「コンポーネント」)を保持できない
事後操作によるフィールド設定
特定のトランジションが実行されたあと、課題フィールドの値を設定するには、「課題フィールドの更新」事後操作を使用します。
たとえば、課題をクローズ ステータスに移動し、「解決状況」フィールドを自動的に設定するトランジションが必要な場合があります。
例:事後操作による解決状況フィールド設定
Edit the workflow that has the transition, and drag between status ports to create a new transition:
- Select either None or a screen that does not contain the Resolution field.
- 「課題フィールドの更新」タイプの新しい事後操作を追加し、
- 課題フィールド一覧 から解決状況を選択します。
- フィールド値一覧から適切な解決状況を選択します。
解決状況フィールドをクリアするトランジションを作成するには、上記の「課題フィールドの更新」事後操作をトランジションに追加する手順と同じ手順にしたがいます。ただし、フィールド値一覧からなしを選択します。
このトランジションの事後操作一覧には、次のステートメントが含まれます。
- 課題の解決状況がクリアされます。
これらのトランジションが実行されるたびに、課題の解決状況は、これらの事後設定で指定されたとおりに自動的に設定、またはクリアされます。
事後操作による HipChat 通知の送信
You can use a 'Notify HipChat' post function to send a notification to one or more HipChat rooms whenever an issue passes through a transition with this post function. You can also add a JQL query to the 'Notify Hipchat' post function to filter for the issues that will trigger the HipChat notification.
HipChat 通知を送信するには、
- Create or edit your transition.
- 「HipChat 通知」タイプの新しい事後操作を追加します。
- 「操作へのパラメーター追加」ページで、
- Optionally, specify a JQL query. Only issues that match the query will send notifications.
Leave this field empty to send notifications to all issues that pass through this transition. - ワークフロー トランジションにリンクする HipChat ルームを選択します。
- Optionally, specify a JQL query. Only issues that match the query will send notifications.
事後操作によるメール通知の送信
「リスナーが処理可能なイベント発生」事後操作を使用して、「一般イベント」、すなわち組み込みの JIRA イベントを発生させます。このイベントは特定のトランジションが実行されたあと、メール通知の送信をトリガーするために使用します。
また、このトランジション用に特別に作成したカスタム イベントを発生させることができます。
トランジションが実行されると、JIRA は以下の動作を行います。
- 課題のプロジェクトに関連付けられた通知スキームを調べ、発生したイベントに関連付けられたユーザーを特定します。
- 各ユーザーにメール通知を送信します。
例:事後操作によって一般イベントを発生し、メール通知を送信する
トランジション プロパティ
プロパティはキー値のペアで、トランジションをさらにカスタマイズするために使用します。たとえば、トランジション プロパティはコピーした システム ワークフロー を拡張して、言語の翻訳を可能にします。
トランジションのプロパティを表示、編集するには、
- ダイヤグラムからトランジションを選択します。
- プローパティ パネルで プロパティ を選択します。
- 次のいずれかを実行します。
- トランジションに新しいプロパティを追加する。
- プロパティの右側にあるアイコンをクリックして、プロパティを削除する。
重要
このページではトランジションのプロパティを編集できません。プロパティのキーまたは値(あるいはその両方)を変更するには、まず変更したいプロパティを削除し、更新された新しいプロパティを追加する必要があります。
「テキスト」モードでは、トランジションの編集もできます。
トランジション プロパティを使用して、トランジションに制限を実装することが可能です。詳細については、「ワークフロー プロパティ」を参照してください。
トランジションの表示方法のカスタマイズ
When viewing an issue, most of the operations and workflow transitions are available from a row of buttons at the top of the issue.To change the order of transition buttons:
[ワークフロー] メニューに表示される追加のトランジションを含む、トランジション ボタンの順序を変更するには、順序を変更する各ワークフロー トランジションにプロパティ キー opsbar-sequence
を追加します。各 opsbar-sequence
プロパティ キーでは、課題ビュー上のトランジション アクションの順序を定義するプロパティ値が必要です。
- Go to the transition's properties, as described in Transition properties above.
- [新しいプロパティの追加] の [プロパティ キー] フィールドに「
opsbar-sequence
」と入力します。 - [プロパティ値] フィールドに値を入力します。この値は課題ビューに表示されるトランジション ボタンの順序を定義し、"0" 以降の正の整数である必要があります。
10、20、30...などの連続するopsbar-sequence
プロパティー値を使用し、新しいトランジションをあとから簡単に追加できるようにします。 - [追加] をクリックします。
opsbar-sequence
プロパティをワークフロー トランジションに追加しても、テキスト編集モードでのワークフロー内のトランジション順は変わりません。このプロパティの追加は [課題の表示] ページのトランジション順にのみ影響します。
グローバルトランジション
グローバル トランジション により、ワークフローの任意のステータスを特定のステータスにトランジションできます。
グローバル トランジションを追加するには、
- (既存のステータスを追加して)新しいステータスを作成する際に、 グローバル トランジションをステータスに追加する オプションをチェックします。
- By selecting a status and checking Allow all statuses to transition to this one in the properties panel for the status.
同じターゲット ステップをポイントする 2 つのグローバル トランジションを作成するには、
- ワークフロー デザイナーでステップを選択して、"すべてのステータスがこのステータスにトランジションすることを許可する" を選択し、最初のグローバル トランジションを標準として作成します。
- Create the second global transition on any other step that does not currently have a global transition pointing to it
- 次に、作成した 2 番目のグローバル トランジションをテキスト エディタから選択します。
- 「編集」ボタンをクリックし、「ターゲット ステップ」を最初のグローバル トランジションで選択したのと同じステップに変更し、「更新」をクリックします。