https://redmine.tokyo/
https://redmine.tokyo/welcome/index/themes/redmine_tokyo_theme/favicon/favicon.ico?1665553863
2017-03-15T13:02:20Z
redmine.tokyo
Unofficial Redmine Cooking - QA #311: トラッカー、ステータス、カスタムフィールドの値を見て 担当者を自動入力したい
https://redmine.tokyo/issues/311?journal_id=3513
2017-03-15T13:02:20Z
奈良 裕記
<ul></ul><p><a class="external" href="https://github.com/annikoff/redmine_plugin_computed_custom_field">https://github.com/annikoff/redmine_plugin_computed_custom_field</a><br />が使えるかもしれません。</p>
<p>↓に使用例があります。<br /><a class="external" href="https://redmine.tokyo/issues/267#note-8">https://redmine.tokyo/issues/267#note-8</a></p>
<p>設定内容によってはcrashする可能性がある様なので、<br />運用中システムでしたら、テスト環境で試してから入れた方が安全ですね。</p>
Unofficial Redmine Cooking - QA #311: トラッカー、ステータス、カスタムフィールドの値を見て 担当者を自動入力したい
https://redmine.tokyo/issues/311?journal_id=3514
2017-03-16T07:55:03Z
運用 システム
system90224@gmail.com
<ul></ul><p>コメントありがとうございます。<br />わからないことが多いので非常に助かります。m(__)m</p>
<p>redmine_plugin_computed_custom_fieldを入れて試してみます。<br />crashする可能性があるとのことなのでテスト環境を作成して実施します。</p>
Unofficial Redmine Cooking - QA #311: トラッカー、ステータス、カスタムフィールドの値を見て 担当者を自動入力したい
https://redmine.tokyo/issues/311?journal_id=3515
2017-03-17T09:29:29Z
Tamura Shinji
<ul></ul><p>view customizeでもできるはずですよ。<br />いいサンプルが見つからないですが。。。。</p>
<p>computed_custom_fieldの場合は、カスタムフィールド値を自動入力(チケット入力後)になるので目的の動作とは異なると思います。<br />既存のフィールドを更新するということはできないので。</p>
Unofficial Redmine Cooking - QA #311: トラッカー、ステータス、カスタムフィールドの値を見て 担当者を自動入力したい
https://redmine.tokyo/issues/311?journal_id=3517
2017-03-17T15:38:01Z
奈良 裕記
<ul></ul><p>タトしましたか。。orz</p>
<p>一応は自分でも動作確認しようとしようとしたのですが、<br />テスト環境(開発中の3.4)では、computed_custom_field最新版が正常に動作しない様で確認できていません。<br />(computedの設定が保存されない様子)</p>
<p>view_customizeのサンプルは↓にまとまっていますね。</p>
<p><a class="external" href="https://github.com/onozaty/redmine-view-customize-scripts">https://github.com/onozaty/redmine-view-customize-scripts</a><br /><a class="external" href="http://qiita.com/wfigo7/items/f13a89e1d3522f4a73b6">http://qiita.com/wfigo7/items/f13a89e1d3522f4a73b6</a></p>
Unofficial Redmine Cooking - QA #311: トラッカー、ステータス、カスタムフィールドの値を見て 担当者を自動入力したい
https://redmine.tokyo/issues/311?journal_id=3518
2017-03-17T16:57:34Z
運用 システム
system90224@gmail.com
<ul></ul><p>Tamuraさま、奈良さま<br />コメントありがとうございます。</p>
<p>computed_custom_fieldは試してみたのですが要領が掴めず、お恥ずかしい話ですが使い方がよくわかりませんでした。。。<br />カスタムフィールドの中で計算式をおいて、値を入れると計算出来るのでしょうか??<br />他のカスタマフィールドの値を計算して代入出来るのでしょうか??<br />サンプルケースがあれば教えて頂けると嬉しいです。m(__)m</p>
<p>私が質問していた内容ですが、javaがさっぱり判らないので、custom_workflows(ruby)をredmineのhook系の.rbファイルを何度も眺め、試行錯誤して触っていたところある程度期待するとこまでは対応出来ました。<br />サンプルを共有させて頂きます。</p>
<p>if @issue.status_id==7 && @issue.custom_field_value(5) 'Yes' && @issue.tracker_id3 && @issue.custom_field_value(1) == 'モバイルサービス'<br /> @issue.assigned_to_id=6<br />end</p>
<p>こんな感じにするとステータスやカスタマフィールドの値などを元に判定して値を更新出来ることを確認しています。</p>
<p>話は変わってしまいますが、チケットのユーザ書式カスタムフィールドに<br />現在のユーザを入れたいのですが以下の形式ですと空白で更新されてしまいます。<br />※値を入れても空白に上書きされます。<br />※テキスト書式でやるとテキストで現在のユーザ名は入るのですが、ユーザ書式(選択)にしたいです。。。</p>
<p>@issue.custom_field_values = {'13' => User.current}</p>
<p>奈良さまとTamuraさまで以前、「#267 ユーザ情報のカスタムフィールド値をチケットにも表示させたい」にて<br />チケットのユーザ書式のやりとりがありますが、現在のユーザをチケットのユーザ属性のカスタムフィールドに<br />入れる方法が判りましたらご教授頂けないでしょうか。<br />チケットに書いてある記述は答えに近そうですが実際に値が入らず。。。知識が乏しくて弱く恐縮です。。。</p>
Unofficial Redmine Cooking - QA #311: トラッカー、ステータス、カスタムフィールドの値を見て 担当者を自動入力したい
https://redmine.tokyo/issues/311?journal_id=3519
2017-03-17T16:59:53Z
運用 システム
system90224@gmail.com
<ul></ul><p>運用 システム さんは書きました:</p>
<blockquote>
<p>Tamuraさま、奈良さま<br />コメントありがとうございます。</p>
<p>computed_custom_fieldは試してみたのですが要領が掴めず、お恥ずかしい話ですが使い方がよくわかりませんでした。。。<br />カスタムフィールドの中で計算式をおいて、値を入れると計算出来るのでしょうか??<br />他のカスタマフィールドの値を計算して代入出来るのでしょうか??<br />サンプルケースがあれば教えて頂けると嬉しいです。m(__)m</p>
<p>私が質問していた内容ですが、javaがさっぱり判らないので、custom_workflows(ruby)をredmineのhook系の.rbファイルを何度も眺め、試行錯誤して触っていたところある程度期待するとこまでは対応出来ました。<br />サンプルを共有させて頂きます。</p>
<p>if @issue.status_id==7 && @issue.custom_field_value(5)=='Yes' && @issue.tracker_id==3 && @issue.custom_field_value(1)=='モバイルサービス'<br />@issue.assigned_to_id=6<br />end</p>
<p>こんな感じにするとステータスやカスタマフィールドの値などを元に判定して値を更新出来ることを確認しています。</p>
<p>話は変わってしまいますが、チケットのユーザ書式カスタムフィールドに<br />現在のユーザを入れたいのですが以下の形式ですと空白で更新されてしまいます。<br />※値を入れても空白に上書きされます。<br />※テキスト書式でやるとテキストで現在のユーザ名は入るのですが、ユーザ書式(選択)にしたいです。。。</p>
<p>@issue.custom_field_values = {'13' => User.current}</p>
<p>奈良さまとTamuraさまで以前、「#267 ユーザ情報のカスタムフィールド値をチケットにも表示させたい」にて<br />チケットのユーザ書式のやりとりがありますが、現在のユーザをチケットのユーザ属性のカスタムフィールドに<br />入れる方法が判りましたらご教授頂けないでしょうか。<br />チケットに書いてある記述は答えに近そうですが実際に値が入らず。。。知識が乏しくて弱く恐縮です。。。</p>
</blockquote>
Unofficial Redmine Cooking - QA #311: トラッカー、ステータス、カスタムフィールドの値を見て 担当者を自動入力したい
https://redmine.tokyo/issues/311?journal_id=3520
2017-03-17T17:03:53Z
運用 システム
system90224@gmail.com
<ul></ul><p>半角スペース==半角スペース を記入すると表示から消えてしまったので<br />コメント編集しようとしたら同じ内容をまた入れてしまいました。編集出来ないんですね。。。失礼しました。</p>
<p>サンプルスクリプトの==のところは前後に半角スペースだと動くことを確認しています。<br />入れなくても動くのかもしれませんが試していないです。</p>
<p>補足でした。。。</p>
Unofficial Redmine Cooking - QA #311: トラッカー、ステータス、カスタムフィールドの値を見て 担当者を自動入力したい
https://redmine.tokyo/issues/311?journal_id=3523
2017-03-21T10:17:48Z
Tamura Shinji
<ul></ul><p>デフォルトステータスをトラッカーに応じて変更するjavascriptです。<br />適宜条件をいれて担当者も変えればいいと思います。<br />switchを使ってるとことをifで定義してあげればいいかと思います。</p>
<p>redmine_plugin_computed_custom_field は基本的にrubyのコードになります。<br />対象となるのは、computedで定義されたカスタムフィールドに対してのみ適用されます。しかも、チケット作成後です。<br />なので、ユーザ属性のカスタムフィールドに適用することはできないのです。<br />表示上、ユーザを表すものでも、computedのカスタムフィールドとして定義する必要があります。<br />今回は、担当者に承認者であるユーザを適用するはずなのでこれは使えないと思います。<br />承認者というカスタムフィールドに対して適用させるにしても、あとあとワークフローが増えて対応させるのであればview customizeであれば<br />ステータス等変更された場合にすぐに適用できるので使い勝手もいいと思います。</p>
<p>computedを使う場合は、数値計算をさせるか、チケット上に無い情報を引っ張ってくる場合に限ると思います。</p>
<pre><code class="javascript syntaxhl" data-language="javascript"><span class="c1">// デフォルトのステータスを変更します</span>
<span class="c1">// Path pattern: /issues/new</span>
<span class="c1">// Type : JavaScript</span>
<span class="nf">$</span><span class="p">(</span><span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">trackerChanged</span> <span class="o">=</span> <span class="kc">false</span><span class="p">;</span>
<span class="nf">$</span><span class="p">(</span><span class="nb">document</span><span class="p">).</span><span class="nf">on</span><span class="p">(</span><span class="dl">'</span><span class="s1">change</span><span class="dl">'</span><span class="p">,</span> <span class="dl">'</span><span class="s1">#issue_tracker_id</span><span class="dl">'</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="nx">trackerChanged</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span>
<span class="p">});</span>
<span class="kd">var</span> <span class="nx">_replaceIssueFormWith</span> <span class="o">=</span> <span class="nx">replaceIssueFormWith</span><span class="p">;</span>
<span class="nx">replaceIssueFormWith</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">html</span><span class="p">){</span>
<span class="nf">_replaceIssueFormWith</span><span class="p">(</span><span class="nx">html</span><span class="p">);</span>
<span class="k">if </span><span class="p">(</span><span class="nx">trackerChanged</span><span class="p">)</span> <span class="p">{</span>
<span class="nf">setDefalutStatus</span><span class="p">();</span>
<span class="p">}</span>
<span class="nx">trackerChanged</span> <span class="o">=</span> <span class="kc">false</span><span class="p">;</span>
<span class="p">};</span>
<span class="kd">var</span> <span class="nx">setDefalutStatus</span> <span class="o">=</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">statusId</span> <span class="o">=</span> <span class="nf">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">#issue_status_id</span><span class="dl">'</span><span class="p">).</span><span class="nf">val</span><span class="p">();</span>
<span class="nf">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">#issue_status_id option</span><span class="dl">'</span><span class="p">).</span><span class="nf">removeAttr</span><span class="p">(</span><span class="dl">"</span><span class="s2">selected</span><span class="dl">"</span><span class="p">);</span>
<span class="c1">// tracker_id -> default status</span>
<span class="k">switch</span><span class="p">(</span><span class="nf">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">#issue_tracker_id</span><span class="dl">'</span><span class="p">).</span><span class="nf">val</span><span class="p">())</span> <span class="p">{</span>
<span class="k">case</span> <span class="dl">"</span><span class="s2">32</span><span class="dl">"</span><span class="p">:</span>
<span class="nx">statusId</span> <span class="o">=</span> <span class="dl">"</span><span class="s2">15</span><span class="dl">"</span><span class="p">;</span>
<span class="k">break</span><span class="p">;</span>
<span class="k">case</span> <span class="dl">"</span><span class="s2">37</span><span class="dl">"</span><span class="p">:</span>
<span class="nx">statusId</span> <span class="o">=</span> <span class="dl">"</span><span class="s2">15</span><span class="dl">"</span><span class="p">;</span>
<span class="k">break</span><span class="p">;</span>
<span class="k">case</span> <span class="dl">"</span><span class="s2">41</span><span class="dl">"</span><span class="p">:</span>
<span class="nx">statusId</span> <span class="o">=</span> <span class="dl">"</span><span class="s2">18</span><span class="dl">"</span><span class="p">;</span>
<span class="k">break</span><span class="p">;</span>
<span class="p">}</span>
<span class="nf">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">#issue_status_id option[value="</span><span class="dl">'</span> <span class="o">+</span> <span class="nx">statusId</span> <span class="o">+</span> <span class="dl">'</span><span class="s1">"]</span><span class="dl">'</span><span class="p">).</span><span class="nf">attr</span><span class="p">(</span><span class="dl">"</span><span class="s2">selected</span><span class="dl">"</span><span class="p">,</span> <span class="dl">"</span><span class="s2">selected</span><span class="dl">"</span><span class="p">);</span>
<span class="p">}</span>
<span class="nf">setDefalutStatus</span><span class="p">();</span>
<span class="p">});</span>
</code><br /></pre>
Unofficial Redmine Cooking - QA #311: トラッカー、ステータス、カスタムフィールドの値を見て 担当者を自動入力したい
https://redmine.tokyo/issues/311?journal_id=3524
2017-03-21T15:31:58Z
奈良 裕記
<ul></ul><p>「開発者」のロールに設定しましたので、今後はご自分の記入内容は編集可能です。<br />対応遅れてすみません。</p>
<p>コードを入力する場合は、<pre> <pre> </pre> </pre> または、codeとして囲ってください。<br /><a class="external" href="http://redmine.jp/tech_note/textile/">http://redmine.jp/tech_note/textile/</a></p>
<p>運用 システム さんは書きました:</p>
<blockquote>
<p>半角スペース==半角スペース を記入すると表示から消えてしまったので<br />コメント編集しようとしたら同じ内容をまた入れてしまいました。編集出来ないんですね。。。失礼しました。</p>
<p>サンプルスクリプトの==のところは前後に半角スペースだと動くことを確認しています。<br />入れなくても動くのかもしれませんが試していないです。</p>
<p>補足でした。。。</p>
</blockquote>