OTRSのチケットを一括で削除する方法(OTRS6)

表題の件で、テストを行っていたOTRSサーバが実際に運用が始まることになったので、運用のタイミングに合わせて既存のチケットを一括削除しました。
以下の方法で削除が可能です。

データベースからの削除

https://aubreykloppers.wordpress.com/2015/05/29/otrs-delete-all-tickets-from-database/を参考に作業してみましたが、一部エラーが発生し、失敗。


MariaDB [otrs]> delete from ticket_history;

Query OK, 350958 rows affected (8 min 5.10 sec)

MariaDB [otrs]> delete from article;
ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`otrs`.`article_attachment`, CONSTRAINT `FK_article_attachment_article_id_id` FOREIGN KEY (`article_id`) REFERENCES `article` (`id`))

MariaDB [otrs]> delete from article_attachment;

Query OK, 197280 rows affected (43 min 39.45 sec)

外部のキーと紐付いているため削除できない、みたいなエラーが出ました。
明日までに削除しないといけないため、とりあえずDatabaseでの削除は諦め、管理画面からの削除に移りました。
また追って調べたいと思います。

OTRSの管理画面からの削除

  1. OTRS管理画面の「管理」>「管理用ジョブ」>「ジョブ追加」の順に開きます。
  2. ジョブ名(任意の名前でOK)を付け、「チケットを選択」プルダウン内の「キュー」を「Junk」に指定し、ページ下部の「保存して終了」を押します
  3. ステータス・ビューを開き、削除したいチケットを”Junk”キューに割り当てます。
    チケットをJunkキューに割当て
    チケットをJunkキューに割当て
  4. 再度、管理画面の「管理」>「管理用ジョブ」を開き、先ほど作成したジョブを実行します。
    「このタスクを実行」をクリック
    「このタスクを実行」をクリック
  5. 削除対象チケットが表示されますので、問題なければ「ジョブ実行」ボタンを押します。
    「ジョブ実行」ボタンをクリック
    「ジョブ実行」ボタンをクリック
  6. ステータス・ビューからジョブが削除されます。

OTRSの中にあるチケットをすべて削除したい場合などは、手順2のキューの指定を全選択にする、またはステータスで全選択にする等の設定で、ジョブの処理対象がすべてのチケットになるため、削除可能です。
ただし件数が多い場合は時間がかかります。

1つのジョブで最大4000件までしか処理できませんと表示されます。
1つのジョブで最大4000件までしか処理できませんと表示されます。







コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です