自動化ルール | リンクされた課題の数を合計して親課題でも同様に更新する
プラットフォームの注記: Cloud のみ - この記事は、 クラウド プラットフォーム上のアトラシアン製品にのみ適用されます。
要約
シナリオ: 以下の Jira 課題を考えてみましょう。
課題 A (親課題)
課題 B、課題 C (A にリンク)
課題 D、課題 E、課題 F (B または C にリンク)
要件: 親課題のリンクされた課題の合計数を取得する (例: B、C、D、E、F の各課題の数を課題 A に追加)
フロー: 課題 A から自動化ルールがトリガーされると、リンクされたすべての課題の数 (最大 3 レベル) を計算し、ログ アクションで合計します。
ソリューション
次の自動化ルールを設定します。
トリガー: 手動トリガー
課題のルックアップ:
JQL: issue in linkedIssues(
key
)
変数の作成:
変数名: count
スマート値: {{lookupIssues.size}}
変数の作成:
変数名: jql
スマート値
({{#lookupIssues}}issue in linkedIssues("{{key}}", "is caused by"){{^last}} OR {{/}}{{/}}) AND issue not in ({{#lookupIssues}}"{{key}}",{{/}}"{{triggerIssue.key}}")
課題のルックアップ:
JQL: {{
jql
}}
変数の作成:
変数名: totalCount
スマート値 : {{#=}}{{count}} + {{lookupIssues.size}}{{/}}
ログ アクション:
ログメッセージ: count:
count
--- total: totalCount
説明 :
1 つ目の課題のルックアップ
ルックアップ 1: 課題のルックアップ: issue in linkedIssues(
key
)このルックアップ セクションの JQL クエリでは、キー内のリンクされたすべての課題をチェックします。今回の例では課題であるため、返される結果は課題 B と課題 C となります。
1 つ目の変数の作成
変数の作成 1
変数の作成:
変数名: count
スマート値: {{lookupIssues.size}}
「count」という変数名を作成しました。これは、現在の課題で今後呼び出す必要がある課題の数を記録しておくためです。この例では、A に B と C が追加されているため、2 になります。B または C から確認すると、E と F が含まれるため数は 3 となります。
2 つ目の変数の作成
変数の作成 2
変数の作成:
変数名: jql
スマート値 :({{#lookupIssues}}issue in linkedIssues("{{key}}", "is caused by"){{^last}} OR {{/}}{{/}}) AND issue not in ({{#lookupIssues}}"{{key}}",{{/}}"{{triggerIssue.key}}")
課題のリンクされた課題を取得し、さらに親課題 A を除外する変数を定義しています。この変数をさらに使用します。
課題のルックアップ 2
課題のルックアップ 2 のクエリ
課題のルックアップ:
JQL: {{
jql
}}上記のクエリで返される出力は次のようになります: Output(issue in linkedIssues("Issue-A") OR issue in linkedIssues("Issue-B", "Issue-C")) AND issue not in ("Issue-A","Issue-B","Issue-C")。
3 つ目の変数の作成
変数の作成 3
変数の作成:
変数名: totalCount
スマート値 : {{#=}}{{count}} + {{lookupIssues.size}}{{/}}
この変数では、{{count}}
and
{{lookupIssues.size}} の加算を実行して計算を行っています。2+ 3 となります。
出力: 2+ 3 = 5
インポートする自動化ルール JSON ファイルは次のとおりです。
1
{"cloud":true,"rules":[{"id":14535708,"clientKey":"fcb18f79-08d6-35bd-9c47-b1e204f45645","name":"Check Linked issue for all hierarchy","state":"DISABLED","description":"","authorAccountId":"6362284b01c2ff842c19db70","actor":{"type":"ACCOUNT_ID","value":"557058:f58131cb-b67d-43c7-b30d-6b58d40bd077"},"created":1693299652673,"updated":1693299652673,"trigger":{"id":"312978043","component":"TRIGGER","parentId":null,"conditionParentId":null,"schemaVersion":1,"type":"jira.manual.trigger.issue","value":{"inputFromUsers":false,"inputPrompts":[],"groups":[],"jQLFilter":null},"children":[],"conditions":[],"connectionId":null},"components":[{"id":"312978044","component":"ACTION","parentId":null,"conditionParentId":null,"schemaVersion":1,"type":"jira.lookup.issues","value":{"id":"_customsmartvalue_id_1692714309808","name":{"type":"FREE","value":"lookupIssues"},"type":"JQL","query":{"type":"SMART","value":"issue in linkedIssues({{key}})"},"lazy":false},"children":[],"conditions":[],"connectionId":null},{"id":"312978045","component":"ACTION","parentId":null,"conditionParentId":null,"schemaVersion":1,"type":"codebarrel.action.log","value":"{{lookupIssues}}","children":[],"conditions":[],"connectionId":null},{"id":"312978046","component":"ACTION","parentId":null,"conditionParentId":null,"schemaVersion":1,"type":"jira.create.variable","value":{"id":"_customsmartvalue_id_1692714637187","name":{"type":"FREE","value":"count"},"type":"SMART","query":{"type":"SMART","value":"{{lookupIssues.size}}"},"lazy":false},"children":[],"conditions":[],"connectionId":null},{"id":"312978047","component":"ACTION","parentId":null,"conditionParentId":null,"schemaVersion":1,"type":"jira.create.variable","value":{"id":"_customsmartvalue_id_1692717734917","name":{"type":"FREE","value":"jql"},"type":"SMART","query":{"type":"SMART","value":"({{#lookupIssues}}issue in linkedIssues(\"{{key}}\"){{^last}} OR {{/}}{{/}}) AND issue not in ({{#lookupIssues}}\"{{key}}\",{{/}}\"{{triggerIssue.key}}\")"},"lazy":false},"children":[],"conditions":[],"connectionId":null},{"id":"312978048","component":"ACTION","parentId":null,"conditionParentId":null,"schemaVersion":1,"type":"codebarrel.action.log","value":"{{jql}}","children":[],"conditions":[],"connectionId":null},{"id":"312978049","component":"ACTION","parentId":null,"conditionParentId":null,"schemaVersion":1,"type":"jira.lookup.issues","value":{"id":"_customsmartvalue_id_1692717357777","name":{"type":"FREE","value":"lookupIssues"},"type":"JQL","query":{"type":"SMART","value":"{{jql}}"},"lazy":false},"children":[],"conditions":[],"connectionId":null},{"id":"312978050","component":"ACTION","parentId":null,"conditionParentId":null,"schemaVersion":1,"type":"codebarrel.action.log","value":"{{lookupIssues}}","children":[],"conditions":[],"connectionId":null},{"id":"312978051","component":"ACTION","parentId":null,"conditionParentId":null,"schemaVersion":1,"type":"jira.create.variable","value":{"id":"_customsmartvalue_id_1692714668673","name":{"type":"FREE","value":"totalCount"},"type":"SMART","query":{"type":"SMART","value":"{{#=}}{{count}} + {{lookupIssues.size}}{{/}}"},"lazy":false},"children":[],"conditions":[],"connectionId":null},{"id":"312978052","component":"ACTION","parentId":null,"conditionParentId":null,"schemaVersion":1,"type":"codebarrel.action.log","value":"count: {{count}} --- total: {{totalCount}}","children":[],"conditions":[],"connectionId":null}],"canOtherRuleTrigger":false,"notifyOnError":"FIRSTERROR","projects":[],"labels":[],"tags":[{"id":41776027,"tagType":"IS_RULE_UPDATED","tagValue":"true"}],"ruleScope":{"resources":["ari:cloud:jira:7bbd0f61-9cf7-46a8-a02c-5d635b174db8:project/10015"]},"ruleHome":{"ruleLifeCycleHome":{"locationARI":"ari:cloud:jira:7bbd0f61-9cf7-46a8-a02c-5d635b174db8:project/10015"},"ruleBillingHome":{"locationARI":"ari:cloud:jira-software::site/7bbd0f61-9cf7-46a8-a02c-5d635b174db8"}},"writeAccessType":"UNRESTRICTED","collaborators":[],"billingType":"NORMAL"}]}
注意
上記の JSON コードをファイルにコピーして、.json として保存します。Jira にインポートして上記のルールをインポートします。
この内容はお役に立ちましたか?