Q:チケットの一括登録したがデータ不備があったため再度一括登録をする必要がある。チケットの一括削除する方法は?
運用中のプロジェクトにチケットの一括登録を行ったのですが、登録情報に不備があり再度、一括登録を行いたいと思ってます。 チケットの一括削除する方法はありませんか?
tracpath の標準機能として提供しておりませんが、以下の2つの方法をご提案致します
一括削除する方法ですが、tracpath の標準機能として提供しておりません。申し訳ございません。 解決方法として、2つの案をご提案いたします。
- チケットの一括インポートはチケットの新規追加と更新が可能です。この機能を利用する方法
- tracpathはXML-RPCと呼ばれる外部向けAPIを提供しております。この機能を利用すると一括削除が可能
1.チケットの一括インポートで追加と更新
チケットインポートについて 添付ファイル「tracpath-sample-ticketimport.xls」のように一括イン ポートデータの「ID」列に更新したいチケットのIDを入力することで、チケットの更新を実行します。
- チケットIDが空の場合、新規チケットとして登録します。
- チケットIDが登録済みチケットと同じIDの場合、既存のチケットを更新します。
tracpath-sample-ticketimport.xls
注意して頂く点として、チケットの更新は更新履歴として残ることになります。 |
2. XML-RPC(外部向けAPI)利用した一括削除のサンプル
Python用のサンプルファイルをお送りいたします。xml-rpc-sample.zip このサンプルは2つのファイルから構成されています。
xmlrpc-test.py・・・tracpathに接続するためのテストスクリプトです。最初に内容を書き換えテストをしてください
xmlrpc-ticket-delete.py・・・対象プロジェクトのチケットを一括削除するスクリプトです。テストが成功した後に、チケットIDを指定して実行してください。この操作はやり直しすることが出来ませんので十分に注して操作してください。
それでは、スクリプトの使い方を説明します。
- まず Python をご用意ください。2.4 以上であれば問題ありません。
xmlrpc-test.py をテキストエディタで開いていただいて、以下の部分をご利用のプロジェクトのパスと使用されているユーザ/パスワードに置き換えてください。
hostname = 'xxxxxxx.tracpath.com' # 変更してください(契約しているURLのサブドメインを記載してください) proj = 'sandbox' # 対象のプロジェクト名を入力してください。 username = 'userid' # 対象プロジェクトの管理者権限を持つユーザー名を入力してください。 password = 'password' # 対象プロジェクトの管理者権限を持つユーザーのパスワードを入力してください。
python xmlrpc-test.py を実行します。うまくいけば、以下のような [1, 1, 2] が出力されます。これは Trac XML-RPC のバージョンです。この機能を利用するには TRAC_ADMIN 権限ないし XML_RPC 権限が必要になりますので、権限がない場合には割り当てを行ってから実施してください。
C:> python xmlrpc-test.py [1, 1, 2]
xmlrpc-ticket-delete.py では、10042 から 10194 までのチケットを削除するようなスクリプトとなっています。削除対象にあわせて変更してご利用ください。
xmlrpc-ticket-delete.py をテキストエディタで開きます。接続情報とチケットIDの範囲を指定してください。python xmlrpc-test.py と同じように接続に必要な情報を変更する必要があります。削除したいチケットの範囲をIDを指定します。
# 10042 から 10194 のチケットを削除 begin = 10042 # チケットの範囲:開始を設定してください end = 10194 # チケットの範囲:終了を設定してください
削除したチケットを復旧することはできませんので、ご注意願います。
Pythonについて対応が難しい場合、お時間を頂きますが、php/perl/ruby 等のサンプルスクリプト提供も可能です。
お気軽にご相談ください。