Configure advanced work item workflows

 

This page describes advanced configurations for transitions in Jira workflows. More about workflow basics.

Jira 管理者は、ワークフロー トランジションの次の側面を制御できます。

  • トリガー – Bitbucket など、接続済みの開発ツールで特定のイベントが発生したときに Jira 作業項目をトランジションします。

  • 条件 – トランジションがユーザーによって実行されるべきかどうかを検査します。

  • バリデーター – トランジションが実行される前にトランジションに対する入力 (ユーザーによる入力など) が有効かどうかを検査します。

  • 事後操作 – トランジションの実行後に追加処理を実行します。

  • プロパティ – キー値のペアで、トランジションをさらにカスタマイズするために使用できます。

  • トランジションの表示方法

  • グローバルトランジション

トリガー

Jira 管理者は、リンク済みの開発ツール内のイベントに応答するトリガーを Jira ワークフローに設定できます。これにより、開発ツールと Jira ワークフローを設定できるため、たとえば、開発者がブランチを作成して Bitbucket の作業項目で作業を開始すると、作業項目は自動的に「オープン」から「進行中」にトランジションします。

トリガーの設定

トランジションのトリガーの表示または設定や、トランジションを含むワークフローの編集を行うには、トランジションを選択してから、トランジションのプロパティ パネルで [トリガー] を選択します。

トリガーをトランジションに追加する方法

  1. [] > [作業項目] の順に選択します。

  2. [ワークフロー] を選択してから、関連するワークフローの [編集] を選択します。

  3. ダイアグラム モードでは、トランジションの矢印を選択します。テキスト モードでは、[トランジション (id)] 列からトランジションの名前を選択します。

  4. ダイアグラム モードでは、プロパティ パネルで [トリガー] を選択して、対象のトランジションの構成済みトリガーを表示します。テキスト モードでは、[トリガー] タブを選択します。

  5. [トリガー] タブで [トリガーを追加] を選択して、トリガーを設定します。

For more information, check out Configuring workflow triggers.

条件

条件は、トランジションがユーザーによって実行されるべきかどうかを制御します。たとえば、次のように条件を使用できます。

  • 報告者にのみトランジションの実行を許可する

  • 特定の権限を持つユーザにのみトランジションの実行が許可されている

  • コードがこの作業項目に対してコミットされた場合、またはコミットされなかった場合にのみ実行を許可します。

条件が満たされない場合、[作業項目の表示] ページに [トランジション] ボタンが表示されず、トランジションを実行できません。

条件はトランジション画面でユーザーから収集した入力パラメーターを検証できません。これを実行するには、バリデーターを使用する必要があります。

任意の条件

Jira には、トランジションに追加可能な任意の条件がいくつかあります。

条件

説明

常に False 条件

この条件は常に失敗します。

承認されるまでトランジションをブロック

保留中の承認がある場合に作業項目のトランジションをブロックする条件。

数値カスタム フィールドの比較

指定した数値カスタム フィールドと指定した値の比較結果が True の場合にトランジションを許可する条件です。

ユーザーに非表示条件

この条件は、トランジションをユーザーから隠します。トランジションはワークフロー関数または REST からのみトリガー可能です。

担当者のみ条件

この条件は、担当者にのみトランジションの実行を許可します。

報告者のみ条件

この条件は、報告者にのみトランジションの実行を許可します。

権限条件

この条件は、特定の権限を持つユーザにのみトランジションの実行を許可します。

前のステータス条件

作業項目が指定のステータスにトランジションしたかどうかを確認する条件

割り当てからの分離条件

ユーザーが作業項目でトランジションを既に実行している場合に、ユーザーがトランジションを実行するのを妨げている条件。

サブタスクに応じたブロック条件

サブタスクのステータスに応じて親作業項目トランジションをブロックする条件。

任意のグループのユーザー

この条件は、特定のグループのユーザーにのみトランジションの実行を許可します。

任意のスペースロールのユーザー

この条件は、特定のスペース ロールのユーザーにのみトランジションの実行を許可します。

カスタム フィールド内のユーザー

特定のカスタム フィールド内のユーザーにのみトランジションの実行を許可します。

グループ内のユーザー

この条件は、特定のグループのユーザーにのみトランジションの実行を許可します。

グループ カスタム フィールドのユーザー

この条件は、カスタム フィールドで指定されたグループのユーザーにのみトランジションの実行を許可します。

スペース ロールのユーザー

この条件は、特定のスペース ロールのユーザーにのみトランジションの実行を許可します。

値フィールド

フィールドの値が定数値と等しいか、フィールドに値が設定されている場合にトランジションの実行を許可します。

条件の追加

トランジションに条件を追加して、トランジションを含むワークフローを編集するには、トランジションを選択してから、トランジションのプロパティ パネルで [条件] を選択します。

条件をトランジションに追加する方法

  1. [] > [作業項目] の順に選択します。

  2. [ワークフロー] を選択します。

  3. [その他] () > 関連ワークフローの横にある [編集] の順に選択します。

  4. ダイアグラム モードでは、トランジションの矢印を選択します。テキスト モードでは、トランジションの名前を [トランジション (id)] 列から選択します。

  5. ダイアグラム モードでは、プロパティ パネルで [条件] を選択して、対象のトランジションの構成済みトリガーを表示します。テキスト モードでは、[条件] タブを選択します。

When you select 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.

条件のグループ化

条件をグループ化し、入れ子にすることで、複雑な条件を作成できます。どのような条件でも、その条件の [グループ化された条件を追加] アイコンを選択することによってグループ化できます。これで、上記の説明のように、新しいグループにさらに条件を追加できます。

グループの条件の適用方法のロジックを、[すべて] または [いずれか] を選択して切り替えることができます。

バリデーター

バリデーターは、トランジションの実行に、トランジションへの入力が有効であることを確認します。入力には、トランジション画面でユーザーから収集した入力が含まれます。 

バリデーターが失敗した場合、作業項目はトランジションのターゲット ステータスに進捗せず、トランジションの事後操作は実行されません。 

バリデーターの追加

トランジションにバリデーターを追加するには、トランジションが含まれるワークフローを編集して、トランジションを選択したあと、トランジションのプロパティ パネルで [バリデーター] を選択します。

トランジションにバリデーターを追加する方法

  1. [] > [作業項目] の順に選択します。

  2. [ワークフロー] を選択してから、関連するワークフローの [編集] を選択します。

  3. ダイアグラム モードでは、トランジションの矢印を選択します。テキスト モードでは、トランジションの名前を [トランジション (id)] 列から選択します。

  4. ダイアグラム モードでは、プロパティ パネルで [バリデーター] を選択して、対象のトランジションの構成済みトリガーを表示します。テキスト モードでは、[バリデーター] タブを選択します。

[バリデーターを追加] を選択すると、利用可能なバリデーターを選択してバリデーターに必要なパラメーターを設定できます。

事後操作

事後操作では、トランジション実行後に必要となる、以下のような追加の処理を実行します。

  • 作業項目のフィールドを更新する

  • 作業項目の変更履歴の生成

  • 作業項目へのコメントの追加

  • メール通知をトリガーするイベントの生成

基本的な事後操作

すべての Jira のトランジションで、次のような基本的な事後操作があり、この順番で実行されます。

  1. 作業項目のステータスを、ターゲットのワークフロー ステータスのリンクされたステータスに設定します。

  2. トランジション中にコメントが入力された場合は、作業項目にコメントを追加します。

  3. 作業項目の変更履歴を更新し、作業項目をデータベースに保存します。

  4. 作業項目のインデックスを再作成して、インデックスとデータベースの同期を維持します。

  5. リスナーが処理できる汎用イベントを発生させます。 

     この事後操作を編集または削除しないでください。この重要な事後操作を変更すると、自動化や Marketplace アドオンで意図しない動作が発生します。トランジションで発生する事後操作イベントをカスタマイズする場合は、カスタム事後操作を追加して既定イベントはそのままにすることを検討します。

これらの基本的な事後操作をトランジションから削除したり、並べ替えたりすることはできません。ただし、他の事後操作を間に挿入することはできます。

イベントを発生させる事後操作が、期待と異なる動作をする場合があります。Jira では、事後操作のシーケンスが終了するまで、通知リスナーの呼び出しを行いません。そのため、イベントは期待した順序で発生しますが、通知はトランジションの終了までトリガーされません。

オプションの事後操作

Jira には、トランジションに追加可能な事後操作がいくつか含まれています。

オプションの事後操作

説明

現在のユーザーへの割り当て

トランジションを実行しているユーザーに作業項目を割り当てます。

This post function is ignored unless the user has the Assignable User permission. Create a condition to give the logged-in user this permission before executing the transition.

開発リーダーへの割り当て

コンポーネント リード (存在する場合)、またはスペースリードに作業項目を割り当てます。

報告者への割り当て

作業項目を作成したユーザーに作業項目を割り当てます。

フィールド値のクリア

特定のフィールドの値をクリアします。

他のフィールドの値をコピー

同じ作業項目内、または親からサブタスクへ、1 つのフィールドの値を別のにコピーします。

Perforce のジョブ機能を作成

ワークフローのトランジション完了後、(必要に応じて)Perforce のジョブを作成します。

ユーザーの スペース ロールに基づいて作業項目のセキュリティ レベルを設定する

現在のユーザーが指定されたスペース ロールにいる場合は、作業項目のセキュリティ レベルを指定されたレベルに設定します。

Webhook をトリガーする

ワークフローのトランジション完了後、指定された Webhook をトリガーします。Webhook は、安全性やコンプライアンスが不十分な環境にデータを送信する場合があることに注意してください。

When you add this post function, you will be asked to specify a webhook. This webhook must already be defined in Jira (see Managing webhooks).

作業項目のカスタム フィールドの更新

作業項目カスタム フィールドを指定された値に更新します。

作業項目フィールドの更新

作業項目のフィールドの 1 つを指定された値に更新します。更新可能なフィールドは次のとおりです。

  • 担当者

  • 説明

  • 環境

  • 優先度

  • ソリューション

  • 要約

  • 初期見積 (Original Estimate)

  • 残余見積 (Remaining Estimate)

This post function cannot update custom fields and must be positioned after the other optional post functions.

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.

事後操作の追加

トランジションに事後操作を追加するには、対象のトランジションが含まれるワークフローを編集し、そのトランジションを選択してから、トランジションのプロパティ パネルで [事後操作] を選択します。

トランジションに事後操作を追加する方法

  1. [] > [作業項目] の順に選択します。

  2. [ワークフロー] を選択してから、関連するワークフローの [編集] を選択します。

  3. トランジションを選択します。

    • ダイアグラム モードでは、トランジションの矢印を選択します。

    • テキスト モードでは、トランジションの名前を [トランジション (id)] 列から選択します。

  4. 事後操作タブを開きます。

    • ダイアグラム モードでは、プロパティ パネルで [事後操作] を選択して、対象のトランジションの構成済みトリガーを表示します。

    • テキスト モードでは、[事後操作] タブを選択します。

  5. [事後操作の追加] を選択します。

  6. 事後操作を追加し、[下書きの公開] を選択して変更を完了します。

[事後操作を追加] を選択すると、利用可能な事後操作から選択して必要なパラメーターを設定できます。事後操作の編集、削除、実行順序の変更を行うオプションは、タブの右側にあります (カーソルを合わせると表示されます)。

最初のトランジションでの事後操作の使用

作業項目が作成されたとき、特定のフィールドの値を設定するなどの処理タスクを実行する必要がある場合、ワークフローの最初のトランジションに事後操作を追加できます。最初のトランジションは、「作成」(空白のワークフローを作成した場合) または「作業項目の作成」(システム ワークフローを複製した場合) と呼ばれます。

Jira には、ワークフローの最初のトランジションを指定し、この順番で処理される以下の基本的な事後操作が含まれます。

  1. 作業項目を作成します。

  2. リスナーが処理できるイベントを発生させます。

以下のオプション事後操作は、最初のトランジション用に特別に用意されています。

オプション事後操作(最初のトランジションのみ)

説明

コメント作成

トランジション中にコメントが入力された場合は、作業項目にコメントを追加します。

作業項目のステータスの更新

作業項目のステータスを、ターゲットのワークフロー ステータスのリンクされたステータスに設定します。

作業項目の保存

作業項目の更新を保存します (変更履歴は作成されません)。

標準のオプション事後操作を最初のトランジションに追加することもできます。トランジション作成に追加されたオプション事後操作は、「作業項目を元々作成」事後操作 のに 配置する必要があります。

If you wish, you can configure the initial status for your workflow to go to a different initial transition. See Configuring the initial status for details.

作業項目の作成時に [解決状況] フィールドを設定する必要がある場合、[作業項目フィールドを更新] 事後操作を [作業項目を作成] 事後操作の後に追加し、その後 [作業項目の保存] 事後操作を使用します。"作業項目の保存" 事後操作は、作業項目作成中に解決状況フィールドを設定するのに便利です。

ただし、作業項目の保存事後操作には以下のような制限があるため、必要な場合にのみ使用します。

  • 変更履歴を生成しない

  • 作業項目と 1 対多の関係を持つフィールド (たとえば、「バージョン」や「コンポーネント」) を保持できない

事後操作によるフィールド設定

[作業項目フィールドの更新] 事後操作を使用して、特定のトランジション実行後に作業項目フィールドの値を設定できます。

たとえば、解決状況フィールドを自動設定するために、作業項目を クローズ ステータスに移動するトランジションが必要な場合があります。

例:事後操作による解決状況フィールド設定

  1. トランジションを持つワークフローを編集して、ステータスを他のステータスにドラッグし、新しいトランジションを作成します。

  2. [なし] または、[解決状況] フィールドを含まない画面を選択します。

  3. 新しい [作業項目フィールドの更新] 事後操作を追加し、[作業項目フィールド] と [フィールド値] のリストから解決状況を選択します。

解決状況フィールドをクリアするトランジションを作成するには、上記 [作業項目フィールドの更新] 事後操作をトランジションに追加する場合と同じ手順に従います。 ただし、[ フィールド値] リストから [なし] を選択します。

このトランジションの事後操作一覧には、次のステートメントが含まれます。

  • 作業項目の 解決状況 が クリアされます。

これらのトランジションのいずれかが実行されるたびに、これらの事後操作で指定されているように、作業項目の 解決状況 が自動で設定またはクリアされます。

事後操作によるメール通知の送信

Use the 'Fire an event that can be processed by the listeners' post function to fire the 'Generic Event', which is a built-in Jira event that can be used to trigger the sending of email notifications after a particular transition is executed.

Alternatively, you could fire a custom event that you've created specifically for this transition.

トランジションが実行されると、Jira は以下の動作を行います。

  • Look up the notification scheme associated with the work item’s space and identify the users associated with the fired event;

  • 各ユーザーにメール通知を送信します。

例:事後操作によって一般イベントを実行し、メール通知を送信する

  1. トランジションを作成または編集します。

  2. 対象のトランジションの [事後操作] タブを選択して、[リスナーが処理できるイベントを発生させます] 事後操作を編集します。

  3. イベント一覧から [Generic Event] を選択します。

事後操作を使用して Team フィールドをアップデートする

高度な作業項目ワークフローでチーム フィールドを使用する場合は、チーム名の代わりにチーム UUID 値を使用する必要があります。 

Team フィールドをアップデートする事後操作を追加するには、次の手順に従います。

  1. 事後操作の追加画面から Update Work Item Custom Field (作業項目のカスタム フィールドの更新) を選択します。

  2. 追加 を選択します 。

  3. [作業項目のカスタム フィールド] ドロップダウンから [Team] を選択します。

  4. [カスタム フィールド値] には、Team UUID を入力する必要があります。

Team UUID を取得するには、次の手順に従います。

  1. チーム プロファイル ページに移動します。

  2. URL から Team UUID の値をコピーします。例: https://yoursite.atlassian.net/people/team/[TeamUUID]

  3. Team UUID を [カスタム フィールド値] に貼り付けます。

トランジション プロパティ

プロパティはキー値のペアで、トランジションをさらにカスタマイズするために使用します。たとえば、トランジション プロパティはコピーしたシステム ワークフローを拡張して、言語の翻訳を可能にします。

 トランジションのプロパティを表示、編集するには、

  1. ダイヤグラムからトランジションを選択します。

  2. [プロパティ] を選択します。

  3. 次のいずれかを実行します。

    • トランジションに新しいプロパティを追加する。

    • プロパティの右側にあるアイコンを選択して、プロパティを削除します。 

重要

このページではトランジションのプロパティを編集できません。プロパティのキーまたは値 (あるいはその両方) を変更するには、まず変更したいプロパティを削除して、更新された新しいプロパティを追加する必要があります。

Note that you can also edit the transition in 'text' mode.

It is possible to implement restrictions on transitions using transition properties. For more information, see Workflow properties.

グローバルトランジション

グローバル トランジションにより、ワークフローの任意のステータスを特定のステータスにトランジションできます。

グローバル トランジションを追加するには、

  • (既存のステータスを追加して)新しいステータスを作成する際に、 グローバル トランジションをステータスに追加する オプションをチェックします。

  • ステータスを選択し、ステータスのプロパティ パネルで すべてのステータスがこのステータスにトランジションすることを許可する をチェックします。

同じターゲット ステップをポイントする 2 つのグローバル トランジションを作成するには、

  1. ワークフロー デザイナーでステップを選択して、すべてのステータスがこのステータスにトランジションすることを許可するを選択し、最初のグローバル トランジションを標準として作成します。

  2. 現在そのステップをポイントするグローバル トランジションを持たない 他の ステップで、2 番目のグローバル トランジションを作成します。

  3. 次に、作成した 2 番目のグローバル トランジションをテキスト エディターから選択します。

  4. [編集] を選択して、ターゲット ステップを最初のグローバル トランジションで選択したものと同じステップに変更します。 

  5. 完了したら、[更新] を選択します。 

Jira を最大限に活用する

Discover even more ways to configure workflows with top workflow apps on the Atlassian Marketplace.

さらにヘルプが必要ですか?

アトラシアン コミュニティをご利用ください。