Configure advanced work item workflows

 

このページでは、Jira ワークフローでのトランジションの高度な設定について説明します。ワークフローの基本に関する詳細をご確認ください

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

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

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

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

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

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

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

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

トリガー

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

トリガーの設定

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

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

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

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

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

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

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

詳細については、ワークフローのトリガーの設定をチェックしてください。

条件

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

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

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

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

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

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

任意の条件

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

条件

説明

常に False 条件

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

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

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

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

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

ユーザーに非表示条件

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

担当者のみ条件

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

報告者のみ条件

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

権限条件

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

前のステータス条件

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

割り当てからの分離条件

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

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

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

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

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

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

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

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

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

グループ内のユーザー

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

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

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

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

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

値フィールド

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

条件の追加

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

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

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

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

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

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

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

[条件を追加] を選択すると、使用可能な条件から条件を選択して、その条件に必要なパラメーターを設定できます。追加の条件はインストール済みのプラグインから利用できる場合があります。または、プラグイン システムを使用して独自の条件を作成できます。詳細については、「ワークフロー プラグイン モジュール」をご参照ください。

条件のグループ化

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

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

バリデーター

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

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

バリデーターの追加

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

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

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

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

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

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

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

事後操作

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

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

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

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

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

基本的な事後操作

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

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

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

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

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

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

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

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

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

オプションの事後操作

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

オプションの事後操作

説明

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

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

ユーザーが割り当て可能なユーザー権限を持っていない場合、この事後操作は無視されます。トランジションを実行する前にこの権限をログイン済みユーザーに与えるには、条件を作成します。

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

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

報告者への割り当て

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

フィールド値のクリア

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

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

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

Perforce のジョブ機能を作成

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

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

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

Webhook をトリガーする

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

事後操作の追加時に、Webhook を指定するよう求められます。ここで指定する Webhook は JIRA で定義ずみである必要があります(Webhook の管理を参照)。

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

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

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

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

  • 担当者

  • 説明

  • 環境

  • 優先度

  • ソリューション

  • 要約

  • 初期見積 (Original Estimate)

  • 残余見積 (Remaining Estimate)

この事後操作はカスタム フィールドの更新ができません。また、他のオプションの事後操作の後に配置する必要があります。

追加の事後操作はインストール済みのプラグインから利用できる場合もあります。または、プラグイン システムを使用して独自の事後操作を作成できます。詳細については、「ワークフロー プラグイン モジュール」を参照してください。

事後操作の追加

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

説明

コメント作成

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

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

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

作業項目の保存

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

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

必要に応じ、ワークフローの最初のステータスを変更して、別の初回トランジションに設定できます。詳細は、「最初のステータスの構成」を参照してください。

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

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

  • 変更履歴を生成しない

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

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

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

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

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

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

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

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

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

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

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

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

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

"Fire an event that can be processed by the listeners"事後操作を使用して、組み込みの Jira イベントである "Generic Event" を発生させます。このイベントは特定のトランジションが実行された後にメール通知の送信をトリガーするために使用できます。

または、このトランジション用に作成したカスタム イベントを発生させることもできます。

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

  • 作業項目のスペースに関連付けられている通知スキームを検索し、発生したイベントに関連付けられているユーザーを特定します。

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

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

  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. 次のいずれかを実行します。

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

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

重要

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

「テキスト」モードでは、トランジションの編集もできます。

トランジション プロパティを使用して、トランジションに制限を実装することが可能です。詳細については、「ワークフロー プロパティ」を参照してください。

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

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

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

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

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

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

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

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

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

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

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

Jira を最大限に活用する

Atlassian Marketplace の人気のあるワークフロー アプリを使用することで、さらに多くのワークフロー構成方法を利用できるようになります。

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

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