読者です 読者をやめる 読者になる 読者になる

kengo700のナレッジベース

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

研究室のRedmineのグループの設定(ExcelでRedmineのグループデータを取得)

この記事では、私たちの研究室で使っているRedmineのグループおよびロールの設定を紹介します。

また以前作成した、ExcelでRedmineのメンバーとグループ一覧情報を取得するプログラムを公開します。

※アイキャッチ画像のクレジット:Martin Herr (2009) / CC BY-SA 2.5

はじめに

Redmineは「プロジェクト」というまとまりで機能・情報をまとめます。このとき各プロジェクトに、権限を設定してメンバーを参加させることができます。この権限の設定は「ロール」と呼ばれます。

f:id:kengo700:20160305195203p:plain

プロジェクト数が多くなると、メンバーの参加登録が大変になりますが、これを解決するために「グループ」という機能があります。

各プロジェクトにはグループ単位でメンバーを登録することができるので、グループにメンバーを登録するだけで、すべてのプロジェクトに一括でメンバーを登録することができます。またチケットの「担当者」にグループを割り当てることもできます。

この記事では、私たちの研究室で使っているRedmineのグループおよびロールの設定を紹介します。

グループの設定

研究室のRedmineでは、大きく分けて「学年」「役職」「担当」の3つの種類のグループを設定しています。「学年:B3」のように書くことで、グループを種類ごとにソートしています。

それぞれ下記のようなグループ名となっています。

  • 学年
    • 学年:B3
    • 学年:B4
    • 学年:D1
    • 学年:D2
    • 学年:D3
    • 学年:M1
    • 学年:M2
    • 学年:OB・OG
    • 学年:RS
  • 役職
    • 役職:学生 / Student
    • 役職:教職員 / Staff
  • 担当
    • 担当:Web管理 / Web Admin.
    • 担当:カタログ管理 / Catalog
    • 担当:タイムカード管理 / Time Card
    • 担当:ディスプレイ管理 / Display
    • 担当:ファイルサーバ管理 / File Server
    • 担当:メール管理 / E-mail
    • 担当:ライセンス管理 / License
    • 担当:共有PC管理 / Shared PC
    • 担当:内部ネット管理 / Internal Network

※RS(Research Student)は短期の研究生のことです。

ほとんどのプロジェクトには「役職」のグループ単位で登録しています(2つだけで楽なので)。各雑務用のプロジェクトには「担当」グループを使っています。「学年」グループは、学年に仕事を割り振るときなどに使っています。

グループを利用した担当者の確認

グループ機能を使うと、役割分担の確認がしやすくなるという利点もあります。私たちの研究室は割と学生数が多いので「あの仕事は誰の担当だっけ??」と、よくなります。このときRedmineのグループを確認すれば、担当者がだれかすぐにわかります。

デフォルトの機能では(おそらく)Redmineの管理者でなければ、どのグループに誰が参加しているかを見ることはできませんが、「Redmine People plugin」というプラグインをインストールすると、下図のようにグループの内訳ページを利用することができるようになります。

f:id:kengo700:20160306042225p:plain

このプラグインについては下記を参照ください。

ロールの設定

私たちの研究室のRedmineでは、下記の2種類のロールを設定しています。

  • 管理者 / Admin.
  • 閲覧者 / Viewer

管理を簡単にするため、必要最低限の数のロールをだけを設定しています。「管理者」ロールはすべての操作を行うことができ、「閲覧者」ロールはプロジェクトやチケットの閲覧のみが可能です。

メンバーは、ほとんどのプロジェクトで「管理者」となっていますが、一部のプロジェクトでは設定を変更できないように「閲覧者」ロールを使っています。

Excelでグループデータを取得

学生が卒業し雑務を新しく割り振る際に、だれがどの仕事を担当しているか知りたくなります。各メンバーがどのグループに所属しているかは、Redmineの管理者が確認できますが、(おそらく)一人ずつしか確認できず一覧ページはありません。

そこでRedmineのAPIとExcelを用いて、メンバーが所属しているグループの一覧を取得するソフトを作成しました(後述のリンク先で提供されているものを修正しただけですが)。

※Redmineのプラグインを作るスキルがあれば、プラグインで実現した方が早いと思います。

このExcelファイルにRedmineのURLとAPIアクセスキーを設定し、「更新」ボタンをクリックすると、ユーザ名とグループの一覧が表示されます。実行にはRedmineの管理者権限が必要です。

f:id:kengo700:20160310231122p:plain

URLとAPIアクセスキーの設定方法は下記の通りです(ファイルの「使い方」シートに簡単に書いてあります)。

  1. Redmine -> 個人設定 -> API アクセスキー の値をコピーする
  2. このファイルの「開発」タブ -> 「マクロ」 -> 「編集」
  3. 3行あたりのhttp://xxxxに、RedmineのURLを書き込む
  4. 26行あたりのxxxxxxxxxxxxxxxxxxxxに、コピーしたAPIアクセスキーをペーストする

このExcelファイルは下記からダウンロードできます。

※素人が作ったプログラムなので、ご利用は自己責任でお願いします。
※コードを読めばわかりますが、Redmineのグループに「役職」「担当」の文字が含まれているものしか取得しません。適宜コードを修正してください。

参考資料

下記ページを参考にさせていただきました。

関連記事

kengo700.hatenablog.com

おわりに

下記記事で「私がVBAを使ったのは、この抽選ソフトを作ったときが最初で最後でした。」と言ったな。あれは嘘だ。

完全に忘れてました(ノД`)