プロジェクト

全般

プロフィール

QA #251

チケットのフィールドに、対応するユーザ情報を設定したい

Tamura Shinji約2年前に追加. 22日前に更新.

ステータス:
回答済
優先度:
通常
担当者:
-
カテゴリ:
-
対象バージョン:
開始日:
2016/12/01
期日:
進捗率:

0%

予定工数:

説明

ユーザ情報に、"部署"の情報を入れています。
チケット作成時に、カスタムフィールドでその部署項目を追加した場合、担当者もしくは、同等のカスタムフィールドのユーザ情報から自動的に部署の情報を引っ張って入力させることは可能でしょうか?

  • view customizeで行おうとしたのですが、ユーザ情報を別途参照ができない
  • computed custome field plugin でもできなさそう。。。

だったので、うまくやれる方法があればいいのですが。。。

以上、よろしくお願いします。

部門の自動セット.xlsx (256 KB) 部門の自動セット.xlsx 部門の自動セット Kawai takashi, 2018/12/26 19:45
部署の自動セット改訂.xlsx (156 KB) 部署の自動セット改訂.xlsx 部署の自動セット改訂 Kawai takashi, 2018/12/27 13:38

履歴

#1 奈良 裕記約2年前に更新

念のため、質問内容を確認させてください。

ユーザ情報に、"部署"の情報を入れています。

ユーザのカスタムフィールドとして、"部署"の選択項目を追加している。
各ユーザのエントリにて、自分の所属部署が選択されている。

チケット作成時に、カスタムフィールドでその部署項目を追加した場合、
担当者もしくは、同等のカスタムフィールドのユーザ情報から自動的に部署の情報を引っ張って入力させることは可能でしょうか?

チケット作成時に、担当者(assigned_to) または、ユーザ選択のカスタムフィールドに人を選択すると、
その人の所属部署がチケット上に表示される。


チケット上の表示のみ? カスタムフィールドデータ設定も?


下記手法が参考になると思います。

ただし、新規作成直後のチケット(新規-番号無)の場合は、特殊処理が必要になるかもしれません。
(issuenoで引っ張れないので)

https://redmine.tokyo/issues/245

Wiki Lists Pluginで、データ抽出を行うことで実現できる。

・顧客/設備/問い合わせを、各チケットとして登録
・利用設備/問い合わせ情報のチケット上に、顧客IDを設定

顧客チケット表示時に、設備/問い合わせのチケットから、その顧客の情報を検索し表示。

#2 奈良 裕記約2年前に更新

  • 対象バージョン未解決 にセット

#3 Tamura Shinji約2年前に更新

奈良 裕記 さんは書きました:

念のため、質問内容を確認させてください。

ユーザ情報に、"部署"の情報を入れています。

ユーザのカスタムフィールドとして、"部署"の選択項目を追加している。
各ユーザのエントリにて、自分の所属部署が選択されている。

その通りです。
もう少し詳細を書くと、
社内のActive Directoryから、LDAP SYNCプラグインを用いて自動的にユーザのカスタムフィールドの"部署"に"department"の値をいれつつその部署をグループ登録しています。

チケット作成時に、カスタムフィールドでその部署項目を追加した場合、
担当者もしくは、同等のカスタムフィールドのユーザ情報から自動的に部署の情報を引っ張って入力させることは可能でしょうか?

チケット作成時に、担当者(assigned_to) または、ユーザ選択のカスタムフィールドに人を選択すると、
その人の所属部署がチケット上に表示される。


チケット上の表示のみ? カスタムフィールドデータ設定も?

チケット上の表示だけでなく、例えば"担当部署"というカスタムフィールドを作成した上で、そこに反映させたく思っています。
チケット一覧にだけ表示させるのであれば、担当者を表示する際のソースコードをいじれば、担当者と部署を同時にだすことは可能だとは思うのですが、
チケット一覧からREST APIで外部ツールに取り込んだ際に情報が消えてしまうため、チケットに情報として埋め込みたく思っています。


下記手法が参考になると思います。

ただし、新規作成直後のチケット(新規-番号無)の場合は、特殊処理が必要になるかもしれません。
(issuenoで引っ張れないので)

https://redmine.tokyo/issues/245

Wiki Lists Pluginで、データ抽出を行うことで実現できる。

・顧客/設備/問い合わせを、各チケットとして登録
・利用設備/問い合わせ情報のチケット上に、顧客IDを設定

顧客チケット表示時に、設備/問い合わせのチケットから、その顧客の情報を検索し表示。

この方法は、これはこれで別の課題解決にはなるのですが...
リスト上にのみ反映されるだけなので本件には合致しないですね...

先にも別のプラグインで
https://github.com/annikoff/redmine_plugin_computed_custom_field
でできるのか試していたのですが。。。
式が間違ってるのか、なんともできず。。。
理屈上はこれでできそうな気はしているのですが。。。
"部署"のカスタムフィールドIDが"1"としたら、
self.users.%{cf_1} でいけるか?と思ってたのですがこれがだめでして。。。

#4 奈良 裕記約2年前に更新

>チケット一覧からREST APIで外部ツールに取り込んだ際に情報が消えてしまうため、
>チケットに情報として埋め込みたく思っています。

そうですよねー。
この点が対応できないと、マスタデータの二重管理(後工程で変換)で
運用回避することに成り兼ねません。対応したいのは理解できます。

この様な、Redmine内でのデータ加工。手法まとめたいですね。
(プラグイン利用例、既存プラグインをベースに埋め込みで改造、コアソース改変、外部とのIF)

wiki_lists演算結果を、チケット保存時に画面ではなくカスタムフィールドに出力できれば、
利用分野が大幅に広がりますね。

#5 Tamura Shinji約2年前に更新

そうなんです。

REST API経由でTableauに読み込ませることが多いので…

Tableau側でリレーショナル組むことも出来るのですが、やはりシンプルに使いたいので…

#6 Kawai takashi23日前に更新

Redmine People Plugin と View Customize Pluginを使えば実現できると思います。

プラグインのインストールが必要だったりして、少し無理やりなところがありますが、これでやりたいことはできるのではないでしょうか。参考にしてみてください。

詳細は添付ファイルを参照してください。

#7 奈良 裕記23日前に更新

Kawai takashiさん、ありがとうございます。

担当者→所属部門取得を、プラグイン上の登録内容を利用して取得しということですか。
詳細手順記入して頂き参考になります。

ViewCustomize1.2で、自分のAPIキーによるRESTAPI接続が可能になりましたが、
RedmineのREST-API自体がUserのカスタムフィールドに対応していないので現在では困難ですね。

#8 Kawai takashi22日前に更新

個人設定のページのユーザ情報に"部署"の情報を入れた場合、権限がないと他ユーザーの情報は参照できないですよね。ですので、Redmine People Pluginを使用するしかなさそうです。

#9 Tamura Shinji22日前に更新

Kawai takashi さんは書きました:

個人設定のページのユーザ情報に"部署"の情報を入れた場合、権限がないと他ユーザーの情報は参照できないですよね。ですので、Redmine People Pluginを使用するしかなさそうです。

Redmine People Pluginですね
すっかり忘れていました。。。Pro版購入していました。。。
試してみます

#10 Kawai takashi22日前に更新

Redmine People PluginはFree版でも大丈夫です。

それと、いま試していたら、Redmine People Pluginは無しでもできそうです。

資料を添付します。

#11 Tamura Shinji22日前に更新

  • ステータス新規 から 終了 に変更

おぉ、すばらしい。
ありがとうございます!

#12 Kawai takashi22日前に更新

何度もすいません。

担当者のコンボで空白を選んだ際にエラーで止まってしまうので、「担当者が空白ではない場合」の条件を追加してください。

//対応者の所属部門を自動セット
   $('#issue_assigned_to_id').on('change', function() {
    if ($(this).val() != ""){ //担当者が空白ではなかったら。
      var assignees = $('#issue_assigned_to_id').val();
      $.get("/redmine/users/" + assignees, function(html)
      {
      var getli = $('.splitcontentleft li:nth-child(5)', $(html)).html();
      //var getli = $("li:contains('所属部署')", $(html)).html();
      var bushotext = getli.split(": ");
      var busho = bushotext.pop(); 
      //console.log(busho);
      $('#issue_custom_field_values_48').val(busho);
      },"html"); 
    }else{
      $('#issue_custom_field_values_48').val("");
    }
   });

#13 奈良 裕記22日前に更新

  • 題名チケットにユーザ情報の値を表示させたい から チケットのフィールドに、対応するユーザ情報を設定したい に変更
  • ステータス終了 から 回答済 に変更
  • 対象バージョン未解決 から 設定変更対応 に変更

本PJは情報蓄積用なので、Closeせず回答済状態としています。。

他の形式にエクスポート: Atom PDF