Jira automation
はじめに
ProForma と Automation for Jira を併用する一般的なシナリオとして次の 3 つが挙げられます。
課題間またはリクエスト間で ProForma フォームをコピーする
フィールドまたはフォームの変更に基づいて自動化ルールをトリガーする
ProForma フォームの内容にアクセスする
さらに、自動化とフォームを組み合わせて、次のような高度な機能を実行できます。
複数の ProForma フィールドから 1 つの Jira フィールドにデータをダンプする
フォーム フィールドを Jira カスケード フィールドにリンクする
フォーム フィールドを Jira ラベル フィールドにリンクする
フォーム フィールドを期限フィールドにリンクする
フィールドを計算する
課題間またはリクエスト間でフォームをコピーする
ProForma によって Automation for Jira にアクションが追加され、課題およびリクエストの間でフォームをコピーできるようになります。
既知の制限事項
Currently, when Automation for Jira copies forms to another issue, it will copy all of the forms that are on the source issue. It is not possible to select individual forms to be copied. If you only want some forms to be copied, you need to trigger the automation at a point in the workflow before the other forms have been added to the issue.
例: 親課題からサブタスクへのコピー
例: サブタスクから親課題へのコピー
例: 新しい課題へのフォームのコピー
警告: プロジェクト間のコピー
コピー先プロジェクトにはコピー元プロジェクトと同じカスタム フィールドが含まれている必要があります。2 つのプロジェクトに同じフィールドがない場合は次のようになります。
ステータスが OPEN のフォームをコピーすると、コピー先プロジェクトに存在しないフィールドにリンクされているフォーム フィールドの内容は消去されます。
ステータスが SUBMITTED か LOCKED のフォームをコピーすると、コピー先プロジェクトに対応するフィールドがなくても、フォームの内容は保持されます。
自動化ルールをトリガーする
前提条件: リンクされたフィールド
ProForma フォームの値を使用して Automation for Jira のルールをトリガーするには、フォーム フィールドを Jira フィールドにリンクする必要があります。こうすることで、リンクされた Jira フィールドによって自動化ルールがトリガーされるようになります。
操作の順序: 課題を作成
課題が作成されてから数ミリ秒後に、課題およびリンクされたフィールドが ProForma によって更新されるため、課題を作成トリガーは信頼性が低く、次のスクリプト ルール要素を使用する必要があります。
下の例では、Jira の要約フィールドにリンクされたフォーム フィールドによって、直前に作成された課題のルールがトリガーされます。
ProForma フォームの内容にアクセスする 警告
サポート対象外
Automation for Jira を使用してフォーム データに直接アクセスする方法は公式にはサポートされておらず、現在いくつかの大幅な制限があります。
フォームのステータスが SUBMITTED か LOCKED になっていない限り、リンクされたフィールドの内容はフォーム エンティティのプロパティには保存されないことに注意してください。
現在、フォーム データにアクセスするためのより良いソリューションを提供できるよう取り組んでいます。
Automation for Jira では、Jira 課題のエンティティ プロパティに保存されている未加工の ProForma フォーム データ (標準フォームのみ) にアクセスし、そのデータを自動化ルールで使用できます。課題に ProForma フォームが添付されている場合、フォーム フィールドのデータとフォームのステータスを Automation for Jira で直接読み取ることができます。
The structure to access data, where AAA
is the question ID number (not the Question Key defined in the form builder) is:
Text/Email/URL/Number Fields:
{{issue.properties."proforma.forms.i1".state.answers.AAA.text}}
Date Fields:
{{issue.properties."proforma.forms.i1".state.answers.AAA.date}}
Time Fields:
{{issue.properties."proforma.forms.i1".state.answers.AAA.time}}
Name of a user:
{{issue.properties."proforma.forms.i1".state.answers.AAA.users.get(0).name}}
Choice Fields:
{{issue.properties."proforma.forms.i1".state.answers.AAA.choices.get(0)}}
テキストではなく、選択肢に関連付けられた ID のみが返される点に注意してください。
Retrieving the text of the selected choice value poses a challenge for Automation for Jira. It is stored in the following format
issue.properties."proforma.forms.i1".questions.choices
質問 ID を見つけるには、標準フォーム ビルダーの [プレビュー] タブに移動します。対象のフィールドに値を入力するとそれが反映されます。次に、[Issue JSON (課題 JSON)] タブに移動し、一番下のステータス配列までスクロールします。
例:
複数のフィールドから 1 つの Jira フィールドにフォーム データをダンプする
リンクされたフィールドを使用する
Accessing form data directly using Automation for Jira is not officially supported and there are currently some significant limitations. Therefore, this example assumes that the desired ProForma fields are linked to Jira fields.
下の例では、2 つの ProForma フィールドが Jira フィールドにリンクされています。
ProForma の [Item to be repaired (修理対象アイテム)] フィールドは Jira の [概要] フィールドにリンクされています。
ProForma の [Maintenance location (メンテナンス場所)] フィールドはカスタム Jira フィールドにリンクされています。
リンクされている [Maintenance location (メンテナンス場所)] フィールドの値が更新されると、自動化により、修理対象アイテムと場所の両方が説明フィールドに反映されます。
フォーム フィールドをカスケード フィールドにリンクする
ProForma では現在、Jira カスケード フィールドへのリンクがサポートされていません。ただし、条件付きロジックと自動化ルールを使用することでこの制限を回避できます。
必須フィールドを作成する
カスケード フィールドの親の値 (国など) を格納する、1 つの事実上のカスタム フィールドを作成します。
親選択肢リストのオプションごとに事実上のカスタム フィールドを作成します。このフィールドには選択した子の値 (オーストラリアの州やカナダの州など) が格納されます。
フォームを作成する
まず、カスケード フィールドの親部分を表す選択肢質問をフォームに作成します。親の値を格納するために作成された事実上のカスタム フィールドにそのフィールドをリンクします。
親オプションごとに条件付きセクションを作成します。
各条件付きセクションに適切な子オプションを含む選択肢質問を作成します。子の値を格納するために作成された、対応する事実上のカスタム フィールドにこのフィールドをリンクします。
自動化ルールを作成する
次に、事実上のフィールドの値を次の図のようにカスケード フィールドにコピーする自動化ルールを作成します。
You'll need to create two rules for each option in the parent list: one rule to copy the values from the defacto custom fields to the cascading field, and one rule to copy the values from the cascading field to the defacto custom fields.
フォーム フィールドを Jira ラベル フィールドにリンクする
ラベル フィールドと同じオプションを持つ「事実上」のカスタム選択肢フィールドを作成します。このフィールドはどの画面にも含める必要はありません。
ProForma フォームのフィールドをそのカスタム フィールドにリンクします。
Use Jira automation to copy the value from your custom field into your Labels field.
You'll need to create two automation rules to ensure that both the form field and the Jira field are kept up to date:
ラベル フィールドを更新する (事実上のカスタム フィールドの値と一致するようにラベル フィールドの値を設定する)
事実上のフィールドを更新する (ラベルのカスタム フィールドの値と一致するように事実上のカスタム フィールドの値を設定する)
フォーム フィールドを期限フィールドにリンクする
現在、フォーム フィールドを Jira 期限フィールドにリンクすることはできません。ただし、Automation for Jira とカスタム日付フィールドを使用することでこの制限を回避できます。
計算フォームを作成する
ProForma では現在、計算フィールドがサポートされていません。ただし、リンクされた Jira フィールドと自動化を使用することでこれを回避できます。
必須フィールドを作成する
計算に使用されるアイテムごと、および計算結果が格納されるフィールドごとにカスタム フィールド (数値) を作成します。
各フィールドの既定値を 0 に設定します。
フォームを作成する
フィールドを対応するカスタム フィールドにリンクして、フォームを作成します。
計算値が格納されるフィールドでは、説明プロパティを使用して、フィールドに入力しないようユーザーに伝えることができます (ProForma には現在、読み取り専用フィールドはありません)。
フォームの [設定] タブで、[詳細設定] を [Leave form open (フォームを開いたままにする)] に設定します。これにより、リンクされたフィールドの更新された (計算された) データをフォームに表示できます。
ループ トランジションを作成する
ネストされている計算がフォームに含まれている場合 (たとえば、小計を計算してからそれを総計の計算に使用する場合)、各計算をトリガーするにはステータスを変更する必要があります。ループ トランジションにより、フォームの再計算をトリガーできます。
自動化ルールを作成する
計算を実行するには、課題フィールドの編集アクションを使用します。ルールではカスタム フィールド ID を参照する必要があります: {{#=}}{{issue.customfield_10223}}+{{issue.csutomfield_10224}}+{{issue.customfield_10225}}{{/}}