サードパーティ アクションを含む Automation for Jira ルールの失敗

プラットフォームについて: Data Center のみ。 - This article only applies to Atlassian apps on the Data Center プラットフォーム

この KB は Data Center バージョンの製品用に作成されています。Data Center 固有ではない機能の Data Center KB は、製品のサーバー バージョンでも動作する可能性はありますが、テストは行われていません。 Server* 製品のサポートは 2024 年 2 月 15 日に終了しました。Server 製品を実行している場合は、 アトラシアン Server サポート終了 のお知らせにアクセスして、移行オプションを確認してください。

*Fisheye および Crucible は除く

要約

Automation for Jira 9.1.1 のアップデートを使用し、ScriptRunner スクリプトなどのサードパーティ アクションを組み込んだ自動化ルールに障害が発生しています。これらの障害は、以下に示すように、自動化監査ログに詳細なしで記録されます。

サードパーティ アクションの監査ログの失敗例を含む Automation for Jira ルールの失敗

診断

  • この問題は、Automation for Jira を 9.1.1 にアップグレードした後に発生した

  • ロギング レベルを [デバッグ] に設定すると、com.codebarrel.automationcom.codebarrel.jira.plugin.automation の 2 つのデバッグ パッケージ(Atlassian Jira のログ ファイル内) で、「検証に合格しなかったためスキップされました」というメッセージが表示された

    atlassian-jira.log

    2024-05-31 08:30:00,671+0000 http-nio-8080-exec-25 url: /jira/rest/cb-automation/latest/project/10000/rule/1/execute/SCRUM-23; user: admin DEBUG xxx 510x1768x1 xxxx  /rest/cb-automation/latest/project/10000/rule/1/execute/SCRUM-23 [c.c.j.p.a.service.execution.JiraAutomationExecutionService] Sync execution of Rule(id=1, name='Sample Scriptrunner rule') for AutomationEvent with traceId='d105dd50-1017-4ca5-900c-8576261cba33' has been skipped because it didn't pass the validation.

  • ルール アクターにグローバル Jira 管理者権限がない

原因

ScriptRunner の「スクリプトを実行」アクションおよび他のサードパーティ プラグイン アクションには、Jira 管理者権限が必要です。しかし、以前のバージョンでは、この要件は十分に検証されておらず、Jira 9.1.1 のアップデート後に初めて実装されました。

この動作に関連するいくつかのバグ/改善リクエストがあります。

  • 自動化監査ログの失敗メッセージに失敗の理由に関する詳細が含まれていない: JIRAAUTOSERVER-1029

  • アクター ユーザーの権限が不十分な状況でルールを公開しようとすると、検証が行われない: JIRAAUTOSERVER-1030

  • サードパーティ プラグインによって提供されるアクションに必要な権限に関するドキュメンテーションの改善: JRASERVER-77784

  • ルール所有者にルールの失敗を通知するメールが送信されない: JIRAAUTOSERVER-1100

ソリューション

この課題の影響を受けるすべての自動化ルールを修正するには、次の手順に従って、ルール アクターにグローバル Jira 管理者権限を付与する必要があります。

  • 次の SQL クエリを使用して、Jira データベースを介してサードパーティ アドオンからのアクションを使用しているすべての自動化ルールを特定します (結果にはルール名と ID が含まれます)。

SQL クエリ Postgres:

SELECT r."ID" AS "Rule Id", r."NAME" AS "Rule name", t."TYPE" AS "Rule trigger", STRING_AGG(DISTINCT p.pkey, ', ') AS "Project Keys", au1.lower_user_name AS "Rule author", au2.lower_user_name AS "Rule actor" FROM "AO_589059_RULE_CONFIG" r LEFT JOIN "AO_589059_RULE_CFG_COMPONENT" t ON t."RULE_CONFIG_ID" = r."ID" AND t."COMPONENT" = 'ACTION' LEFT JOIN "AO_589059_RULE_CFG_PROJ_ASSOC" rp ON rp."RULE_CONFIG_ID" = r."ID" LEFT JOIN project p ON CAST(p.id AS TEXT) = rp."PROJECT_ID" LEFT JOIN app_user au1 ON au1.user_key = r."AUTHOR_KEY" LEFT JOIN app_user au2 ON au2.user_key = r."ACTOR_KEY" WHERE r."STATE" = 'ENABLED' AND t."TYPE" not in ('jira.issue.assign' 'jira.issue.clone', 'jira.issue.comment', 'jira.issue.create', 'jira.issue.create.subtasks', 'jira.issue.delete.comment', 'jira.issue.delete', 'jira.issue.delete.link', 'jira.issue.edit', 'jira.issue.link', 'jira.worklog.add', 'jira.issue.add.watcher', 'jira.issue.transition', 'jira.issue.outgoing.email', 'hipchat.notification', 'msteams.notification', 'slack.notification', 'stride.notification', 'twilio.notification.sms', 'jira.issue.outgoing.webhook', 'jira.sd.add.customer', 'jira.sd.create.request', 'jira.version.create', 'jira.version.release', 'jira.version.unrelease', 'jira.create.variable', 'jira.issue.deleteattachment', 'codebarrel.action.log', 'jira.lookup.issues', 'jira.publish.event', 'jira.issue.refresh.issue', 'jira.set.entity.property', 'jira.issue.archive') GROUP BY r."ID", r."NAME", t."TYPE", au1.lower_user_name, au2.lower_user_name ORDER BY r."NAME" ASC;

SQL クエリ Oracle:

SELECT r.ID AS "Rule Id", r.NAME AS "Rule name", t.TYPE AS "Rule trigger", LISTAGG(DISTINCT p.pkey, ', ') WITHIN GROUP (ORDER BY p.pkey) AS "Project Keys", au1.lower_user_name AS "Rule author", au2.lower_user_name AS "Rule actor" FROM AO_589059_RULE_CONFIG r LEFT JOIN AO_589059_RULE_CFG_COMPONENT t ON t.RULE_CONFIG_ID = r.ID AND t.COMPONENT = 'ACTION' LEFT JOIN AO_589059_RULE_CFG_PROJ_ASSOC rp ON rp.RULE_CONFIG_ID = r.ID LEFT JOIN project p ON p.id = rp.PROJECT_ID LEFT JOIN app_user au1 ON au1.user_key = r.AUTHOR_KEY LEFT JOIN app_user au2 ON au2.user_key = r.ACTOR_KEY WHERE r.STATE = 'ENABLED' AND t.TYPE not in ('jira.issue.assign','jira.issue.clone','jira.issue.comment','jira.issue.create','jira.issue.create.subtasks','jira.issue.delete.comment','jira.issue.delete','jira.issue.delete.link','jira.issue.edit','jira.issue.link','jira.worklog.add','jira.issue.add.watcher','jira.issue.transition','jira.issue.outgoing.email','hipchat.notification','msteams.notification','slack.notification','stride.notification','twilio.notification.sms','jira.issue.outgoing.webhook','jira.sd.add.customer','jira.sd.create.request','jira.version.create','jira.version.release','jira.version.unrelease','jira.create.variable','jira.issue.deleteattachment','codebarrel.action.log','jira.lookup.issues','jira.publish.event','jira.issue.refresh.issue','jira.set.entity.property','jira.issue.archive') GROUP BY r.ID, r.NAME, t.TYPE, au1.lower_user_name, au2.lower_user_name ORDER BY r.NAME ASC;
  • 各自動化ルールの設定ページを開いて、ルール アクターを確認してください。

  • 自動化ルールを修正して、ルール アクターにグローバル Jira 管理者権限が付与されていることを確認するには、2 つのオプションがあります。

    • オプション 1:

      • ルール アクターをそのままにします。

      • 次のページを使用して、このユーザーを適切なグループに追加することでグローバル管理者権限を付与します。

        ⚙ > [ユーザー管理] > [ユーザー]

    • オプション 2:

      • ルール アクターを変更して、すでにグローバル管理者権限が付与されている別のユーザーを指定します。

      • ルール アクターを変更するには、ルール設定を変更するユーザーに、"A4J グローバル スコープのユーザーに偽装する" 権限が付与されている必要があります。

        • プロジェクト権限スキーム内 (ルールのスコープにプロジェクトが 1 つだけ含まれている場合)

        • グローバル Jira レベル (ルールのスコープに少なくとも 2 つのプロジェクトが含まれている場合)

更新日時: September 26, 2025

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

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