先週まで涼しかったのに今週はずいぶん暑くて辛いおおまえです。(夏はまだまだこれからなのに…)

先週の金曜ぐらいにJIRA 課題を付箋に印刷する方法というのを知りました (たしかに Twitter で)。「これはよいのでわ!」と思い、同じようなことができる Trac プラグインを作ってみました。

http://trac-hacks.org/wiki/StickyTicketPlugin

インストール

さっそくインストールしましょう。

1. ソース取得

http://trac-hacks.org/svn/stickyticketplugin/0.12 を適当なディレクトリにチェックアウト (もしくはエクスポート) します。

2. easy_install でインストール

easy_install にソースディレクトリを指定してインストールを実行します。PDF 生成のために reportlab を使っています。このライブラリがインストールされていない場合には PyPI から合わせてインストールされます。

C:\TracLight\bin>easy_install -Z C:\temp\stickyticketplugin\0.12
Processing 0.12
Running setup.py -q bdist_egg --dist-dir C:\temp\stickyticketplugin\0.12\egg-dist-tmp-aboc0q
zip_safe flag not set; analyzing archive contents...
stickyticketplugin 0.12.0.1 is already the active version in easy-install.pth

Installed c:\traclight\python\lib\site-packages\stickyticketplugin-0.12.0.1-py2.6.egg
Processing dependencies for stickyticketplugin==0.12.0.1
Searching for reportlab
Reading http://pypi.python.org/simple/reportlab/
Reading http://www.reportlab.com/
Best match: reportlab 2.5
Downloading http://pypi.python.org/packages/2.6/r/reportlab/reportlab-2.5.win32-py2.6.exe#md5=4ce6342f3264507a59b33d20dd819471
Processing reportlab-2.5.win32-py2.6.exe
reportlab.rl_config: module references __file__
reportlab.__init__: module references __file__
reportlab.lib.fontfinder: module references __file__
reportlab.lib.testutils: module references __path__
reportlab.lib.utils: module references __file__
reportlab.lib.utils: module references __path__
reportlab.pdfgen.pdfimages: module references __file__
creating 'c:\docume~1\admini~1.ope\locals~1\temp\easy_install-_go0ni\reportlab-2.5-py2.6-win32.egg' and adding 'c:\docume~1\admini~1.ope\locals~1\temp\easy_install-_go0ni\reportlab-2.5-py2.6-win32.egg.tmp' to it
creating c:\traclight\python\lib\site-packages\reportlab-2.5-py2.6-win32.egg
Extracting reportlab-2.5-py2.6-win32.egg to c:\traclight\python\lib\site-packages
Adding reportlab 2.5 to easy-install.pth file

Installed c:\traclight\python\lib\site-packages\reportlab-2.5-py2.6-win32.egg
Finished processing dependencies for stickyticketplugin==0.12.0.1

3. trac.ini でプラグインを有効にする

有効にしたい Trac プロジェクトの conf/trac.ini か inherit-file で共有している trac.ini でこのプラグインを有効にします。

# trac.ini
[components]
tracstickyticket.* = enabled

印刷してみる

付箋を貼る台紙を作る

付箋に印刷するにあたって、まずは付箋を貼り付ける台紙が必要です。それを作るためにプラグインを有効にしたプロジェクトの検索ボックスで query:?id=0 と入力します。


検索結果なし (query:?id=0)


もちろん検索結果は 0 ですが、この一番にある「付箋」リンクをクリックすると付箋を貼り付ける箱が描かれた PDF がダウンロードできます。この PDF を印刷して付箋を貼る台紙にします。

付箋のサイズはデフォルトで 75mm x 75mm としています。また紙のサイズは A4 です。これ以外のサイズにしたいときは trac.ini で [sticky-ticket] セクションを設定してください。sticky-width, sticky-height で付箋の幅と高さをミリメートルで指定するようになっています。

チケットを印刷


ようやく準備が整いました。カスタムクエリを使って印刷したいチケットを絞り込みます。絞り込んだら一番下にある付箋リンクをクリックしましょう。付箋を貼った位置と同じ場所にチケット内容が配置された PDF がダウンロード出来たでしょうか。うまく行っていれば、この PDF と付箋を貼った紙を手差ししながらチケットを付箋に印刷していきましょう。


印刷したいチケットの番号がはっきりしているときには、カスタムクエリから検索条件にチケットを選んで対象の id をカンマ区切りで入力するとすぐに検索できます。検索ボックスから query:?id=6,8,10 と入力するのでもいいと思います。

これでチケットが付箋に印刷できました。タスクボードに貼っていきましょう。

サイクロンで要望の多かったチケットを一括でインポートする機能が利用できるようになりました。Excelファイルやカンマ区切り(CSV)ファイルから一括でチケットをインポートすることが出来ます。

残念ながら、Excel 2007には対応していません。。。

特徴

  • ExcelやCSVから大量のチケットを一括で登録・更新できる
  • 登録前にプレビューとヒント表示
  • カスタムフィールドに対応

少し仕様がややこしいですが抑えておきたいポイント

  • 1行目はインポートする項目名(チケットの英字名称)、2行目以降はインポートしたいデータ
  • ticket(チケットNO)と概要(summary)をキーとして扱います。概要(summary)が同じ、またはチケットNO(ticket or id)が同じ。データが存在する場合、既存のチケットデータを更新します。
  • この機能により、チケットをエクスポートし、Excelで編集、再度インポートが可能です。
  • 必須項目 : 概要(summary)のみ

利用できるフィールド(カスタムフィールドも可能)

  • チケットNO : ticket または id
  • 概要 : summary
  • 報告者 : reporter
  • 担当者 : owner
  • 詳細 : description
  • 分類 : type
  • 状態 : status
  • 優先度 : priority
  • マイルストーン : milestone
  • コンポーネント : component
  • バージョン : version
  • 解決方法 : resolution
  • キーワード : keywords
  • 関係者 : cc
  • 作成日 : time
  • 更新日 : changetime

 

スクリーンショット

プロジェクトの管理タブをクリックして、管理メニューに「チケットインポート」が表示されます。

Excelファイルをインポートしたいデータで作成します。(サンプルデータは MS Excel 2003にて作成)

ファイルアップロードすれば、自動でプレビュー画面が表示されます。問題なければインポートを実行します。

ciklone-sample-ticketimport

Trac Plugin:TicketImportPlugin