タグ: view_customize_plugin

Redmine View Customize Pluginによる期日自動入力。(日報などの時限性トラッカー)

やること

日報代わりにRedmineのチケットを用いる場合、作成日=期日というパターンは割とあります。

そこで、チケットの作成と同時に、期日を自動的に入れるスクリプトを入れました。

環境

  • Redmine 5.1
  • 要 Redmine View Customize plugin

設定

  1. Redmineに管理者権限でログインします。
  2. 管理>表示のカスタマイズ>新しい表示のカスタマイズをクリックします。

スクリプト内容

  • パスのパターン
    • /issues/new$
  • プロジェクトのパターン
    • 空白
  • 挿入位置
  • チケット入力欄の下
  • 種別
  • JavaScript

スクリプト内容

$(document).ready(function() {
// トラッカーの選択が変更されたときに実行
$('#issue_tracker_id').change(function() {
var selectedTrackerId = $('#issue_tracker_id').val();
var startDate = $('#issue_start_date').val(); // 開始日を取得

// 特定のトラッカーIDが選択された場合
// トラッカーIDは管理>トラッカーから確認可能
if (selectedTrackerId == '6') {
$('#issue_due_date').val(startDate); // 期日に開始日を設定
}
});

// ページ読み込み時にトラッカーが既に選択されている場合にも対応
var selectedTrackerIdOnLoad = $('#issue_tracker_id').val();
var startDateOnLoad = $('#issue_start_date').val();

// 先に指定したトラッカーIDを指定する
if (selectedTrackerIdOnLoad == '6') {
$('#issue_due_date').val(startDateOnLoad);
}
});

作成後、保存をクリックします。

挙動

設定したトラッカーがあるプロジェクトに遷移し、新しいチケットを作成します。

トラッカーを選択後、期日が当日になっていれば設定完了です。

ViewCustomizeによるガントチャートの修正

RedmineのViewCustomizeはいじりがいがあるプラグインです。

今回もまたちょっとした要望に応えるユースケースとなりました。

やりたいこと

攻略情報をRedmineのチケットとして載せています。

https://atelier.reisalin.com/projects/ryza3/issues/gantt

この、「アトリエ-全般」やチケットNo.が視認性を悪くしているので、これの表示を変えます。

具体的には

トラッカー名-チケット番号-チケットの件名

を、

チケットの件名-トラッカー名-チケット番号

に変える形です。

環境

  • Redmine 4.2
  • View_Customizeプラグインが入っていること

手順

※ 参考:Redmine View Customizeサンプルスクリプト:ガントチャートでトラッカー名・チケット番号を非表示にする

  1. Redmineの管理画面にログインします。
  2. 「管理」 > 「表示のカスタマイズ」に移動します。
  3. 「新しい表示のカスタマイズ」をクリックします。

以下の通り設定します。

  • 「パスのパターン」: /issues/gantt
  • 「プロジェクトのパターン」:空白
  • 「挿入位置
  • 「種別」:JavaScript
  • コード
$(function() {
$('div.issue-subject span').each(function() {
var $this = $(this);
var issue_link = $this.find('a.issue');
var issue_number = issue_link.text().trim();
var issue_title = $this.clone().children().remove().end().text().trim();
var new_html = issue_title + ' ' + issue_number;
// 新しいHTMLを設定
$this.html(new_html);
// リンクを再設定
$this.wrapInner('<a href="' + issue_link.attr('href') + '"></a>');
});
});
  • コメント:ガントチャートの並び順を変える
  • 有効:チェック
  • プライベート:チェックを外す

設定後、保存します。

修正確認

上記の設定を行ったプロジェクトのガントチャートを確認します。

このように、並び順が変われば設定OKです。

Redmine View Customizeを利用した、チケット作成時の定型文挿入。-1-(Issue Template Pluginのワークアラウンド)

概要

メインで使っているRedmineのバージョンは4.2ですが、OSのEOL等に備えて5.1での検証を始めました。

そんな中、活用しているプラグインが使えないのでその対処を行いました。

問題となったプラグイン

こちら、2024/01/19現在、Redmine5.1でインストールできませんでした。

  • チケットを発行するときの定型文を入れたい
  • プロジェクトによっては既に内容が決まっているとなおよい

をモットーにしているだけに、このプラグインが利用できないのはバージョンアップの大きな障害となります。

それを解決するため、RedmineViewCustomizeを使いました。

試した環境

  • Ubuntu 22.04
  • Redmine 5.1
  • Ruby 3.0
  • Apache / ModPassanger
  • 要:ViewCustomizeインストール

https://atelier.reisalin.com/projects/zettel/knowledgebase/articles/31

手順

  1. Redmineに管理者権限でログインします。
  2. 管理>表示のカスタマイズに進みます。
  3. 新しい表示のカスタマイズをクリックします。
  4. 以下の通り、コードを挿入します。

パスのパターン

  • 空白
  • 全プロジェクト

プロジェクトのパターン

空白

挿入位置

全ページのヘッダ

種別

JavaScript

コード

$(function() {
// チケット作成画面のみ対象
if ($('#issue-form').length > 0 && $('#issue_subject').val() == '') {
// 件名の先頭に定型文を追加
$('#issue_subject').val('[起票:] 『件名』(期日:) ');
// 説明に本文を追加 (自身が使うパターンで使ってください。\nで改行を入れられます。)
$('#issue_description').val('### 概要\n\n### 依頼者\n\n### 締切概算\n\n### あるべきゴール\n\n### まずすべきこと\n\n- [ ]');
}
});

コメント

チケット作成時にタイトルを追加


設定反映確認

  1. 任意のプロジェクトで新しいチケットを発行します。
  2. 以下のように自動的にタイトルと説明が入っていればOKです。

Redmineにヘッダ画像を付与。(Redmine View Customizeを利用したCSS編集)

RedmineのView Customize Pluginを利用して、ちょっとだけサイトを装飾してみました。

やったこと

このように、Redmineサイトのヘッダに画像を入れました。

https://atelier.reisalin.com/

前提

画像ロゴを用意します。

個人/私的利用のため、Bing Image Creatorにて生成しています。

用意した後、適切な箇所にアップロードします。(筆者はDMSFプラグインでアップロードしています)

表示を変更していきます。

画面遷移

  1. Redmineサイトに管理者権限でログインします。
  2. 管理>表示のカスタマイズに進みます。
  3. 「新しい表示のカスタマイズ」をクリックします。

設定

以下の通り設定します。

  • パスのパターン:
  • 空白
  • プロジェクトのパターン:
  • 空白
  • 挿入位置:
  • 全ページのヘッダ
  • 種別
  • CSS
  • コード
#header {
background-image: url("画像への適切なパス");
background-repeat: no-repeat;
background-size: contain;
background-position: 80% center;
height: 100px; 
/* 位置・高さはサイトやテーマに合わせてください */
}

設定後、「有効」にチェックを入れて「作成」をクリックします。

表示を確認します。

ヘッダに設定した画像が出てくれば成功です。

続・アクセス解析システム:matomoとRedmineの連携。(View Customize Plugin対応版)

概要

こちらの「matomoとRedmineの連携」にて「view_customize_pluginで設定がうまくいなかった」件について、Redmine_jpの代表様から直々のコメントをいただきました。

View Customizeプラグインでのトラッキングコード挿入がうまくいかなかった件、matomoで生成したトラッキングコードから と の計2行を削除するとうまくいきそうな気がします。

アクセス解析システムmatomoとredmineの連携。コメント

これを元に設定を行いました。

実施した手順

さっくりとした手順

  1. SSHクライアントからベースファイルの切り戻しを行います。
  2. RedmineのWeb画面「表示のカスタマイズ」から再設定を行います。
  3. matomo管理画面からアクセス解析が有効であることを確認します。

前提

  • Redmine上にview_customize_pluginが導入済みであること。
  • ウェブ解析システムmatomoが導入済みであり、対象Redmineのトラッキングコードを控えていること。

Redmineサーバで実施する作業

ベースファイルのバックアップから切り戻しを行います。

sudo cp -pi /path/to/backup/directory/base.html.erb.$(date +%Y%m%d --date '1 Day ago') /var/lib/redmine/app/views/layouts/base.html.erb
# 変数「date」でバックアップを取っているので、作業した日付に修正します
# 2日前なら'2 Days ago'、1週間前なら'1 Week ago'、3年前なら'3 Years ago'など応用が利きます

diff -u /path/to/backup/directory/base.html.erb.$(date +%Y%m%d --date '1 Day ago') /var/lib/redmine/app/views/layouts/base.html.erb
# バックアップと差分がないことで切り戻しを確認します

切り戻し後にWebサービスの再起動を行います。

sudo systemctl restart apache2.service

aystemctl status apache2.service

# 自分が使っているWebサービスに合わせます

Redmine管理画面で実施する作業

Redmineに管理者アカウントでログインします。

  1. 管理>表示のカスタマイズに進みます。
  2. 「新しい表示のカスタマイズ」をクリックします。

トラッキングコードを設定します。

  • パスのパターン:空白
  • プロジェクトのパターン:空白
  • 挿入位置:全ページのヘッダ
  • 種別:JavaScript
  • コード:matomoで提示されたトラッキングコードから、「上部の<script>と下部の </script>を外したコード

設定後、「有効」にチェックを入れ「保存」をクリックします。

保存後、Redmineサイト内のページをいくつか表示させます。

Web解析システムmatomoで実施する作業

解析対象のRedmineで解析されていることを確認します。

今回の学び

  • ダメだった手順を載せることに意義がありました。
  • ソース修正の時に「ヘッダを確認する」のところで、「view_customize_pluginで設定済みの他のヘッダ」を確認すべきでした。そうすれば、設定の誤りに気づくことができました。

Powered by WordPress & Theme by Anders Norén