目次

  1. Redmine の設定
    1. トラッカー
  2. Machinegun の設定
  3. カスタムフィールド
  4. チケット詳細表示のカスタマイズ
    1. チケットタイトル表示
    2. サムネイル表示

Redmine の設定

トラッカー

ディレクトリ構造と合わせて管理内容を統一するために以下のトラッカーを追加します。ここでの命名は directory.xml で定義されている名前と揃えるとよいでしょう。

また、作業フェーズ(Modeling、Rigging、Animation等) もトラッカーとして追加します。作業フェーズの構成は project.xml の Asset type, Shot type と揃えるとよいです。

ここで示したトラッカーの構成は Redmine のカスタマイズ で解説しているものと同じです。

Machinegun の設定

Machinegun の設定は管理者メニューのプラグインの設定からおこなうことができます。

設定内容はたとえば以下のようになります。

name : assets
top : assets
assetGroup : category,element,variation
taskTrackers : modeling,lookdev

name が設定名で、これが Machinegun で選択可能な表示メニューになります。

top は表示したい階層のトップのチケット名で、通常は assets か shots のいずれかです。

assetGroup と taskTrackers は表示するトラッカー名で、assetGroup は Machinegun 画面左側の階層部分、 taskTrackers はタスクとして表示するトラッカーになります。

上の例では、assets という名前の表示モードでは assets(globalトラッカー) チケット以下にある category/element/variation というトラッカーの階層になっているチケットを階層表示し、variation の子チケットのうち、 modeling と lookdev トラッカーのチケットを表示します。

カスタムフィールド

「管理」→「カスタムフィールド」から、下記の設定でフィールドを新規作成します。

チケット詳細表示のカスタマイズ

view cutomize を使うことでチケットのタイトルをカスタマイズします。

チケットタイトル表示

$(function() {
  var subject = $('div.subject');

  var h2 = $('h2');
  var h3 = subject.find('h3');

  var text = h2.text() + ":" + h3.text();

  h2.text(text);
  h3.text(text);
})

サムネイル表示

$(function(){
    const custom_fields = $("[class*=cf_]");
    let href = null;

    for(let i=0; i<custom_fields.length; i++) {
        const cf = custom_fields.eq(i);
        const label = cf.find(".label").text();
        if(label === "Thumbnail:"){
            href = cf.find("a").attr("href");
            break;
        }
    }

    if(href == null){
        return
    }

    let dirs = href.split("/");
    dirs.splice(2, 0, "download");
    const img_path = dirs.join("/");

    const attributes = $('.attributes');
    attributes.append("<div><img src='" + img_path + "'></div>");
 });
})