データベース整合性チェッカーの利用
共通データの不整合を検索するために、データベース整合性チェッカーは全 Jira データの整合性の確認を試行します。
これは次のような場合を含むさまざまなシチュエーションで役に立ちます。
- プロジェクトを新しいワークフローに移行する前
- 外部プログラムが Jira のデータベースを変更している
- サーバークラッシュのトラブルシューティング
エラーが発生した場合、ほとんどの整合性検査では、データを安定した状態にリセットしようとする「修復」オプションが用意されています。
次のすべての手順を行うには、Jira システム管理者グローバル権限を持つユーザーとしてログインする必要があります。
次のセクションにジャンプ:
整合性チェッカーの利用
- 上部のナビゲーション バーから [管理者 ] > [システム] を選択します。
- [システム サポート] > [整合性チェッカー] を選択して整合性チェッカーのページを開きます。
整合性チェッカーは、多くの整合性チェック機能を使用して、Jira に保存されたデータから一般的な不整合を見つけます。整合性チェックの詳細をご確認ください。 - 実行したいオプションを 1 つ以上選択して、[チェック] ボタンを選択します。
- チェックの実行中は、進捗バーで操作の状態を追跡できます。 操作が完了したら、[承認] ボタンを選択します。
プレビュー画面が表示され、すべてのチェックに合格したかどうかを確認できます。
データの不一致が見つかった場合は赤で表示され、[修正] ボタンもページに表示されます。不一致を修正するには、表示されているチェックを選択し、[修正] ボタンを選択します。
黄色のメッセージは、チェックが修正されないことを示す警告です。課題に対してアクションが実行されると、Jira はこれらの不一致から自動的に回復します。
不整合を修正する前にデータをバックアップしておくことを強くお勧めします。
- 不整合が検出され、その修正を選択した場合、実行されたすべての修正処置を説明するサマリ画面が表示されます。
整合性チェッカーは、jira.integrity.checker.displayable.results.limit
プロパティで制限されているレコードの数を表示します。つまり、制限が 20 に設定されている場合、各チェックでは最大 20 件の結果が表示されます。
整合性チェッカーは、jira.integrity.checker.results.limit
プロパティで制限されている影響を受けるレコードの数も修正します。つまり、制限を 1000 に設定すると、最大 1000 レコードが修正されます。2000 件の該当レコードが見つかった場合は、1000 レコードのみを修正して再度チェックを実行するか、制限を調整してさらに多くのレコードを対象にできます。
監査イベント
整合性チェッカーに関連する監査イベントには次の 3 タイプがあります。
チェックまたは修正が開始されると、整合性チェッカー タスクが開始されます。
整合性チェッカーのタスクが終了しました: チェックまたは修正が完了し、操作を実行したユーザーに承認されたとき。
整合性チェッカーのタスクが削除されました: システム管理者がチェックまたは修正を実行し、終了したが、次の事象が発生したとき。
提出者に承認されていない。この場合、提出者は監査ログでその内容を見つけ、進行状況の URL を使用してページに戻り、タスクを承認できます。
タスク送信のノードが再起動され、別のシステム管理者が
https://{JIRA_HOME}/secure/admin/IntegrityChecker!default.jspa
を入力した。これが発生した場合は、そのタスクはもう承認できません。問題を解決するには、チェックまたは修正を再度実行してください。
整合性チェックの概要
整合性チェッカーは、多くの整合性チェック機能を使用して、Jira に保存されたデータから一般的な不整合を見つけます。
名前の確認 | 長期的な修正か? | チェック内容 | 修正方法 |
---|---|---|---|
課題の関係を確認する | |||
関係が「ParentProject」の課題を確認する | はい | 課題のプロジェクト ID が既存のプロジェクトを指しているかどうかを確認します。 | 対応するプロジェクトがない場合は、課題を削除します。特に、
インデックスが解除され、削除イベントが送信されています。 This action doesn't remove attachments stored on disk or S3. |
関係が「RelatedOSWorkflowEntry」の課題を確認する | はい | 課題のワークフロー ID が既存の OS ワークフロー エントリを指しているかどうかを確認します。 |
|
すべての課題リンクが有効な課題に関連付けられていることを確認する | いいえ | 課題リンクの発信元または宛先の課題 ID が既存の課題を指しているかどうかを確認します。 | 破損した課題リンクをデータベースから削除します。 |
検索リクエストを確認する | |||
検索リクエストが有効なプロジェクトを参照していることを確認する | はい | 空でないプロジェクト フィールドを含む検索リクエスト (検索フィルター) が既存のプロジェクトを指しているかどうかを確認します。 |
|
重複する権限を確認する | |||
権限が重複していないことを確認する | はい |
|
|
ワークフローの整合性を確認する | |||
ワークフロー エントリの状態が正しいことを確認する | いいえ | ステータスが | 見つかった課題の、対応する OS ワークフロー エントリの状態を |
ワークフローの現在のステップ エントリを確認する | いいえ | ワークフローにおける課題の現在のステータスが正しいかどうかを確認します。 このチェックは、インスタンスにあるすべての課題で繰り返されます。課題の数によっては、このチェックは長時間かかる場合があります。 | ケースによって、修正できる場合とできない場合があります。 |
ケース 1: 課題のステータスが null です。 結果: このチェックは修正できません。回復するには、ステータスが null の Jira 課題を確認するを使用してください。 | |||
ケース 2: 課題の OS ワークフロー ステータス ID が null です。 結果: このチェックは修正できません。回復するには、関係「RelatedOSWorkflowEntry」の課題を確認するを使用してください。 | |||
ケース 3: 課題のステータスは設定されていますが、ワークフローにはこのステータスにリンクされたステップ記述子がありません。 結果: このチェックは修正できません。 | |||
ケース 4: 特定の OS ワークフロー エントリ ID を持つ課題について、OS の現在のステップ テーブルに 0 レコードが見つかりました。 結果: 特定のステータスと OS ワークフロー エントリ ID を持つ特定の課題 ID に対して、欠落している OS の現在のステップを作成します。 | |||
ケース 5: 特定の OS ワークフロー エントリ ID の課題の OS の現在のステップ テーブルに 1 レコードが見つかりましたが、ステップ ID が null であるか、課題のステータスからマップされたものと異なります。 結果: 見つかった OS の現在のステップ レコードが無効な場合は、その値を DB に設定します。そうでなければ、スキップします。 | |||
ケース 6: 特定の OS ワークフロー エントリ ID を持つ課題について、OS の現在のステップ テーブルに 1 以上のレコードが見つかりました。 結果: 冗長なステップを削除して、1 つだけ保持します。 | |||
ステータスが null の Jira 課題を確認する | いいえ | 課題のステータスが null の場合 |
|
フィールド レイアウト スキームの整合性を確認する | |||
フィールド レイアウト スキームで、削除されたカスタム フィールドへの参照がないことを確認する | いいえ | すべてのフィールド レイアウト項目が既存のカスタム フィールドを指しているかどうかを確認します。 Field Layout Item can specify if a given Custom Field is required in a given Field Layout. More about specifying field behavior | フィールド レイアウト アイテム テーブルから問題のあるレコードを削除します。 |
無効なフィルターのサブスクリプションを確認する | |||
存在しないスケジュール ジョブへの参照に関する FilterSubscriptions を確認する | いいえ | フィルター サブスクリプションが、クラスター ジョブ テーブルに存在しない定期クラスター ジョブにリンクされているかどうかを確認します。 | フィルター サブスクリプション テーブルから問題のあるレコードを削除します。 |
存在しない SearchRequests への参照が FilterSubscriptions にあるかどうかを確認する | いいえ | 以下の場合に確認
|
|
整合性チェッカーのプロパティ キー
整合性チェッカーは、次のアプリ プロパティ キーを使用します。これらのキーは、[システム] > [高度なプロパティ (Advanced properties)] の順に選択するか、または REST API を使用していつでも調整できます。
プロパティ キー | 説明 | 既定値 | 高度なプロパティで調整可能 | REST API 経由で調整可能 |
---|---|---|---|---|
| チェックが長期的な修正としてマークされた場合に処理する修正の最大数。 | 1000 | はい | はい |
| ワークフローの現在のステップ整合性チェッカーのバッチ サイズ。 | 1000 | はい | いいえ |
| 1 回の整合性チェックで UI に表示される結果の最大数。 | 20 | はい | いいえ |