kengo700のナレッジベース

誰かの役に立つと思う情報を発信するブログ

Redmineのチケットで研究室のイベントを周知・記録(Googleカレンダーへ読み込む)

この記事では、研究室のRedmine内に作成した、イベント周知・記録用のページを紹介します。1つのイベントに1つのチケットを割り当て、各種情報を書き込むことで、周知と記録を行っています。

また、Redmine内のチケット情報をGoogleカレンダーへ読み込む方法も紹介します。

イベントの周知・記録ページ紹介

大学や研究室などのイベント(例えば進捗報告会、学会関係、学位論文関係、講義関係、講演会、飲み会など)の予定は、メールや掲示板や各種ホームページで連絡されますが、その情報が一カ所にまとめられていれば便利かと思い、研究室のRedmine内にイベント周知・記録用のプロジェクトを作りました。

予定の確認が簡単になるだけでなく、研究室に配属された人が去年の同時期の予定を確認できることで、安心して研究に集中できる効果も期待できます(メールなどで周知されるだけでは、過去の記録が残らないため確認しにくい)。

イベントの周知・記録用チケット

f:id:kengo700:20160202181830j:plain

1つのイベントに1つのチケットを割り当てていて、カスタムフィールド(自分で追加した項目のこと)に時間や場所などを記載しています。Redmineの標準機能により、カレンダーやガントチャートで確認することもできます。また、関連するファイルをチケットに添付したり、議事録を書き込んで残すこともできます。

トラッカーの設定

トラッカー(チケットの種類の設定)は「イベント / Event」という名前で、下記の項目を設定しています。

  • 標準フィールド
    • 担当者
    • カテゴリ
    • 開始日
    • 期日
  • カスタムフィールド
    • 開始時刻 / Start Time
    • 終了時刻 / End Time
    • 場所 / Location
    • リンク / Link(学会のホームページや、Redmine内のページへのリンクです)
    • 備考 / Note

チケットのステータスは、下記の通りです。

  • 新規 / New
  • 完了 / Completed

イベントが終わったらステータスを「完了」にし、一覧ページには未来のイベントだけが表示されるようにしています。専用のプラグインを作れば、期日が過ぎたチケットのステータスを自動的に「完了」にできると思いますが、今のところ手動で「完了」にしています。

カスタムクエリ

カスタムクエリ(フィルタやオプション設定を保存したもの)は、下図の9種類を設定しています。これにより、ワンクリックで特定のイベントだけ表示させることができます。

f:id:kengo700:20160202181845p:plain

「Googleカレンダー用クエリ」は、次節で説明するGoogleカレンダーへ予定を読み込むために必要な項目を表示するクエリです。「未完了の過去のイベント」は、期日を過ぎた予定をまとめて「完了」にするためのクエリです。

Googleカレンダーへ読み込む方法

研究室のRedmineのイベント周知・記録ページに登録されている情報は、下記手順でGoogleカレンダーへ読み込むことができます。

  1. チケットの項目をCSV形式で出力する
  2. 項目名をGoogleカレンダーが読込めるように修正する
  3. Googleカレンダーで読み込む

これにより、研究室のRedmineにアクセスできない状況でも予定を確認することができるようになります。

CSV形式で出力

チケット一覧ページのオプションで、必要な項目を表示するように設定します。設定はクエリとして保存しておけば、次回からはワンクリックで開くことができます。

具体的には下記の項目を表示します(一部情報がなくても大丈夫です)。

  • 題名
  • 開始日
  • 開始時刻
  • 期日
  • 終了時刻
  • 場所

次に、必要に応じて、登録したい項目だけを表示するように「フィルタ」を設定します。例えば学会関係のみを登録したければ、「カテゴリ」「等しい」「学会,投稿〆切,申込〆切」とし、「適用」をクリックします。

チケット一覧ページ右下の「他の形式にエクスポート」の「CSV」をクリックします。

「CSVエクスポート設定」で「説明」にチェックを入れ「エクスポート」をクリック(下図)し、任意のファイル名で保存します。

f:id:kengo700:20160202183323p:plain

項目名の修正

Googleカレンダーで読込めるように、先頭行の項目を下記のように修正し、文字コードをUTF-8にして保存します。

  • 題名 → Subject
  • 開始日 → Start Date
  • 開始時刻 → Start Time
  • 期日 → End Date
  • 終了時刻 → End Time
  • 場所 → Location
  • 説明 → Description

※ CSVファイルを「メモ帳」などで開き、一行目を下の文字で上書きしてもOK

#,Subject,Start Date,Start Time,End Date,End Time,Location,Description

Googleカレンダーに読み込み

下記手順で、CSVファイルの情報をGoogleカレンダーに読み込むことができます。詳しくは「参考資料」の節のリンク先をご参照ください。

  1. Googleカレンダーページの右上の「設定」(歯車アイコン)を開く
  2. 「カレンダー」タブの「新しいカレンダーの作成」から適当な名前のカレンダーを作成する
  3. 再び「設定」の「カレンダー」タブを開き、「カレンダーをインポート」をクリックする
  4. 「ファイル」で、修正したCSVファイルを選択し、「カレンダー」で作成したカレンダーを選択し「インポート」をクリックする
  5. インポート結果が表示されるので「閉じる」をクリック

※同じ予定があるCSVファイルを読込んでも、新しいものだけが登録される模様です。2重に登録されたりはしません。

関連情報

バージョンなど

  • Redmineのサーバ
    • Redmine:Redmine 2.5
    • OS:CentOS 6.5
    • データベース:MySQL 5.1.73
    • webサーバ:Apache 2.2.15
    • Ruby:2.0.0

参考資料

関連記事

kengo700.hatenablog.com

おわりに

始めからGoogleカレンダーを使った方が便利なのでは」ですか?

Exactly(そのとおりでございます)

べ、べつにこの記事を書くまで、その発想がなかったわけではないですよ(震え声)。

Redmineだとガントチャートとかクエリとか便利ですし(涙目)。

そ、そもそも、予定を共有する文化がなかった研究室に、セキュアなシステムで導入したことに意義があるんです(嗚咽)。