Automation For Jira - Advanced Roadmaps の "チーム" フィールドを設定するルールの記述方法
プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Fisheye および Crucible は除く
要約
現在、Automation For Jira は、"チーム"、"目標開始日"、"目標終了日" の各フィールドなど、Advanced Roadmaps から取得されるフィールドをサポートしていません。これらのフィールドは [設定するフィールドを選択…] ドロップダウンにリストされないため、「課題を編集」アクションでこれらのフィールドを簡単に設定できません。この制限は、次のリンク先の機能リクエストで追跡されます。
JIRAAUTOSERVER-159 - Getting issue details... STATUS
また、"チーム" フィールドはチーム名ではなくチーム ID のみをデータベースに保存するため、スマート値の使用時にこのフィールドを編集するルールを記述するのが困難です。
この記事では、[設定するフィールドを選択…] ドロップダウンを使用する代わりに、スマート値で "チーム" フィールドを設定するルールの構成方法をご説明します。
環境
- Jira Server / Data Center 8.0.0 以降のバージョン
- Automation for Jira 7.0.0 以降のバージョン
ソリューション
新しい課題が作成された際に、別のフィールド ("優先度" フィールドなど) の値に基づいて自動的に "チーム" フィールドを設定するよう、自動化ルールを作成したいと仮定しましょう。次に示す解決策は、このユース ケースをカバーするルールの実装方法を説明していますが、個々のユース ケースに合わせて自由に調整できます。
Please note that the Team field cannot be set for a sub-task issue, since this field is automatically inherited from the parent issue of the sub-task. Therefore, the solution suggested does not apply to sub-tasks.
ステップ 1 - "チーム" フィールドのカスタム フィールド ID を取得する
各 Jira インストールには、独自のカスタム フィールド ID のセットがあります。したがって、"チーム" フィールド ID は Jira のインストールによって異なる可能性があるため、このステップは必須です。
この ID を取得するには、次の手順に従います。
- ページで ⚙ > [課題] >[カスタム フィールド] の順に移動する
- "チーム" フィールドを探して、そのフィールドの横にある [...] > [表示] をクリックします。
- URL にある ID を取得します (下の例での ID は 10204)。
ステップ 2 - データベースからチーム名とそれぞれの ID のリストを取得する
Jira データベースにログインして、次の SQL クエリを実行し、チーム名とそれぞれの ID のリストを取得します。
select * from "AO_82B313_TEAM" where "SHAREABLE" = true;
この SQL クエリは PostgreSQL 用に記述/テストされています。他のデータベース タイプの場合は、実行する前にこのクエリから二重引用符を削除してください。
結果の一例:
上の例では、「スクラム ボード チーム」という名前で、ID が 1 であるチームが 1 つのみ存在します。
ステップ 3 - 自動化ルールを設定する
"優先度" フィールドが中程度に設定されると、「スクラム ボード チーム」に "チーム" フィールドを設定するルールを作成したいと仮定しましょう。この場合、ルールは次のように設定できます。
- トリガー:
- 課題が作成されました
- If/else ブロック:
- 「優先度が中程度」という条件を使用する
- アクション: 課題を編集
- [設定するフィールドを選択…] オプションではなく、[その他のオプション] を選択します。
次の内容を [追加フィールド] セクションに貼り付けます。10204 を Jira インスタンスの "チーム" フィールド ID に変更して、1 を選択したチーム ID に変更します。
{ "fields": { "customfield_10204":"1" } }
チームが 1 つ以上ある場合は (そうである場合がほとんどです)、IF ブロックのあとにチーム数と同じ数の ELSE ブロックを追加できます。その後、各 ELSE ブロックで次を実行します。
- 条件を別の優先度値 (または、どのチームにチケットを割り当てるかを決定するために選択するフィールドの別の値) に変更する
- 正しいチーム ID を使用して、追加フィールドの数式を変更する