non-existing status による Jira エラー
プラットフォームについて: 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 は除く
問題
さまざまなアクションを実行しようとしたときに、エラーで失敗する。これには、検索、課題の表示、アジャイル ボードの表示、アジャイル ボードの作成などが含まれます。
次のエラーが atlassian-jira.log に表示される場合があります(各種のアクションによって異なる)。
2018-08-08 09:23:41,367 https-jsse-nio-8443-exec-20 WARN admin 563x439985x1 4het9v 0:0:0:0:0:0:0:1 /secure/QueryComponent!Jql.jspa [c.a.jira.workflow.AbstractJiraWorkflow] Workflow 'Test Workflow' contains step 'In Progress' (ID:17) which is linked to non-existing status (ID:12345)
2018-08-08 10:07:23,972 https-jsse-nio-8443-exec-17 WARN admin 607x445953x1 j8un30 0:0:0:0:0:0:0:1 /secure/QuickSearch.jspa [c.a.jira.workflow.AbstractJiraWorkflow] Workflow 'Test Workflow' contains step 'In Progress' (ID:17) which is linked to non-existing status (ID:12345)
2018-08-08 09:06:13,666 https-jsse-nio-8443-exec-29 WARN admin 546x438605x1 1gsdonq 0:0:0:0:0:0:0:1 /rest/greenhopper/1.0/rapidview/create/advanced [c.a.jira.workflow.AbstractJiraWorkflow] Workflow 'Test Workflow' contains step 'In Progress' (ID:17) which is linked to non-existing status (ID:12345)
2018-08-08 09:03:25,953 https-jsse-nio-8443-exec-15 WARN admin 543x438362x1 y635u9 0:0:0:0:0:0:0:1 /browse/TEST-5619 [c.a.jira.workflow.AbstractJiraWorkflow] Workflow 'Test Workflow' contains step 'In Progress' (ID:17) which is linked to non-existing status (ID:12345)
2018-08-08 08:57:53,339 https-jsse-nio-8443-exec-16 WARN admin 537x437593x1 y635u9 0:0:0:0:0:0:0:1 /issues/ [c.a.jira.workflow.AbstractJiraWorkflow] Workflow 'Test Workflow' contains step 'In Progress' (ID:17) which is linked to non-existing status (ID:12345)
診断
上述のエラーから次のことがわかります。
- The workflow involved is "Test Workflow"
- The Step that is linked to a missing project is Step with ID 17
- 期待されていたが不足している Status ID の ID は 12345 である
If we check the database, we can confirm that there is no Status with ID 12345:
SELECT * FROM issuestatus WHERE id = '12345';
ソリューション
Remove the step that is linked to a non-existing status.
If removing the step fails, follow the document below:
不足しているステータスの ID を判断する
- ワークフローを XML にエクスポートします (ワークフローの編集中に [エクスポート] > [XML] をクリック)
- XML を開き、ステップ/ステータス名を検索します。たとえば上述のスクリーンショットの場合、DELETEMESTATUS を探します。
次のように表示されます。
<step id="12" name="deletemestatus"> <meta name="jira.status.id">10200</meta> </step>
- この例の場合、ID は 10200 です。
回避策 - データベースの修正
データベースの変更を行う場合は必ず事前にバックアップを取得してください。可能な場合は、まずステージング サーバーで SQL コマンドの変更、挿入、更新、または削除を行うようにします。
- まったく新しいステータスを作成します ([Jira 管理] > [課題] > [ステータス] > [ステータスを追加])
- この例では "deletemestatus2" とします。
データベースにアクセスして次のクエリを実行します。
SELECT * FROM issuestatus WHERE pname = 'deletemestatus2';
- SQL クエリで返された ID を記録します。
- これで、問題のワークフロー ステップ、10200、および新しく作成したステータスの ID を確認できたことになります。
- 新しく作成したステータスを、ID 10200 を使うように更新します。
-
UPDATE issuestatus SET id = '10200' WHERE id = 'XXXXX';
- XXXXX を、ステップ 2 で取得した ID で置き換えます。
- 次に、データベースへの新しい変更を反映するために、Jira のキャッシュを更新する必要があります。これを行うには、ステップ 1 と同じように、新しいステータスをもう 1 つ作成します。
- 最後に、ワークフローの編集に戻ってワークフロー ステップを削除します。
- 作成した追加のステータスも、必要に応じて整理します。