プロジェクト

全般

プロフィール

Vote #64839

未完了

Templating for description of new tickets by Tracker

Admin Redmine さんが3ヶ月前に追加. 3ヶ月前に更新.

ステータス:
New
優先度:
通常
担当者:
-
カテゴリ:
Issues_2
開始日:
2022/05/09
期日:
進捗率:

0%

予定工数:
category_id:
2
version_id:
32
issue_org_id:
2931
author_id:
4287
assigned_to_id:
0
comments:
43
status_id:
1
tracker_id:
3
plus1:
8
affected_version:
closed_on:
affected_version_id:
ステータス-->[New]

説明

This patch allows to assign a template for Trackers to be inserted in the description field when creating a new Issue. This is useful to maintain the standardization of issues.

This was diff'd against svn trunk revision 2568.


journals

--------------------------------------------------------------------------------
Related to ticket #1138
--------------------------------------------------------------------------------
I updated the patch for Redmine 0.9.6. Note that the patch only includes the English language definitions.

--------------------------------------------------------------------------------
Oops... Here is the updated file:
--------------------------------------------------------------------------------
My apologies. I diffed the states in the wrong order. Here is the proper 0.9.6 patch.
--------------------------------------------------------------------------------
We installed this latest patch on 1.0.0. and are able to configure different description templates for different trackers.

Upon creation of new issue, the description template for the default tracker is shown. However, when a different tracker is chosen from the drop down list, the description template shown remains the one for the default tracker while other custom fields are updated according to the chosen tracker. Somehow it does not update the description template according to the chosen tracker. Please advice.
--------------------------------------------------------------------------------
Light Kong, the description is changed only on creation of an issue (new record) in order to prevent the lost of issue's description when editing. Feel free to change this behavior.

--------------------------------------------------------------------------------
Some tips on installing this patch (I was puzzled at first).

In you root of redmine installation where you have @tracker_templates_redmine_0.9.6.diff@:

<pre>
> patch -p1 < tracker_templates_redmine_0.9.6.diff
> rake db:migrate
</pre>

You may need to tweak the cols style in app/views/trackers/_form.rhtml to fit in your particular preferences, but go to Administration->Tracker-><your tracker here> and you should see the form.
--------------------------------------------------------------------------------
Hi,
any reason why this is not yet in trunk ?
--------------------------------------------------------------------------------
+1
--------------------------------------------------------------------------------
+1 ! :o)
--------------------------------------------------------------------------------
+1
--------------------------------------------------------------------------------
This is a great patch that I would love to see included as standard.

It is worth noting that the default ":string" type for the template column in 102_add_trackers_template.rb above limits the template to 255 chars. Change that to ":text" for larger templates.
--------------------------------------------------------------------------------
This patch appears to break the "Duplicate issue" functionality. I've tweaked it so it works on my 1.1.2.stable copy. I'm a complete newbie at Ruby on Rails; corrections/oversights welcome. ;)

<pre>
+++ L:/www/redmine/app/views/issues/_form.rhtml Tue May 17 17:51:00 2011
@@ -15,7 +15,7 @@
<% end %>

<p><%= f.text_area :description,
- :value => (@issue.new_record? ? @issue.tracker.template : @issue.description),
+ :value => ((@issue.new_record? && @issue.description.blank?) ? @issue.tracker.template : @issue.description),
:cols => 60,
:rows => (@issue.description.blank? ? 10 : [[10, @issue.description.length / 50].max, 100].min),
:accesskey => accesskey(:edit),</pre>
--------------------------------------------------------------------------------
+1

This is truely an great patch, it should really be included!!
--------------------------------------------------------------------------------
Hi,

I'm using Redmine 1.0.1 and I try to use this patch with the command:

<pre>
root@projet:/opt/bitnami/apps/redmine# patch -p1 < tracker_templates_redmine_0.9.6.diff
patch: **** Only garbage was found in the patch input.
</pre>

Could someone give me a hint how to apply the patch correctly?

Thanks
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
Hi,

I am trying to apply this patch and these are the steps I performed:

% rake 102_add_trackers_template.rb
(in /usr/share/redmine-1.2.0)

% rake db:migrate
(in /usr/share/redmine-1.2.0)

% patch -pl < tracker_templates_redmine_0.9.6.diff
patch: **** strip count l is not a number

I'm not sure what that error means? Any help is appreciated. Thanks!
--------------------------------------------------------------------------------
This only appears to work on the default tracker. When you change the tracker it does not update the description. Any ideas on how to make this work?

Thanks
--------------------------------------------------------------------------------
We fixed this in our implementation. I have asked the relevant engineer to post a patch for 1.2.1.
--------------------------------------------------------------------------------
The attached patches provide support for the tracker templates and take care of the updating issue when changing trackers, i.e. when changing the Tracker on an issue the Description content of an issue will be updated to the template of the new Tracker *as long as* the Description content has not been changed.

--------------------------------------------------------------------------------
BTW. I've not included the migration patch to add the template column to the tracker table. Just use the 102_add_trackers_template.rb provided above or create your own (f.i. to make the column 'text' instead of 'string').

Martin Corino wrote:
> The attached patches provide support for the tracker templates and take care of the updating issue when changing trackers, i.e. when changing the Tracker on an issue the Description content of an issue will be updated to the template of the new Tracker *as long as* the Description content has not been changed.

--------------------------------------------------------------------------------
Thanks Martin for the 1.2 update. Note that the patch does not include the tweak for app/views/trackers/_form.rhtml for showing the template edit box.
--------------------------------------------------------------------------------
For whomever ports this into the main code, note that there appears to be a minor bug (with an easy workaround) using 1.2.1-stable:

# Add templates for trackers "Bug" and "Feature."
# Open a new issue of type "Bug."
# Select the "Tracker" drop-down list and change it from "Bug" to "Feature." Observe proper switch to the "Feature" template.
# Change the tracker type to "Support" or another type that has no template created yet.
# Change the tracker type back to "Bug."
# ERROR: "Internal error" appears where the template would normally exist.
# WORKAROUND: Simply create a template for each tracker or, if you don't want a template for a particular tracker, open the tracker anyway and click "Save" with the template box left empty so it creates a blank template.
--------------------------------------------------------------------------------
Sorry, I'm not used to patch redmine and I have some diffuculties here. Could someone give what are the steps to patch the 1.2 stable version?
Any help would be very appreciated.

I tried these steps with no luck:

cd in root redmine directory
<pre>
% patch -pl < tracker_templates_redmine_1.2-stable.diff
% rake 102_add_trackers_template.rb
% rake db:migrate
</pre>

I have an error when I try to create a new issue. With this message in the log:
<pre>
NoMethodError (undefined method `template' for #<ActiveRecord::Associations::BelongsToAssociation:0x7fe68d1e3680>):
app/controllers/issues_controller.rb:316:in `build_new_issue_from_params'
/opt/passenger-3.0.5/lib/phusion_passenger/rack/request_handler.rb:96:in `process_request'
/opt/passenger-3.0.5/lib/phusion_passenger/abstract_request_handler.rb:513:in `accept_and_process_next_request'
/opt/passenger-3.0.5/lib/phusion_passenger/abstract_request_handler.rb:274:in `main_loop'
/opt/passenger-3.0.5/lib/phusion_passenger/classic_rails/application_spawner.rb:321:in `start_request_handler'
/opt/passenger-3.0.5/lib/phusion_passenger/classic_rails/application_spawner.rb:275:in `send'
/opt/passenger-3.0.5/lib/phusion_passenger/classic_rails/application_spawner.rb:275:in `handle_spawn_application'
/opt/passenger-3.0.5/lib/phusion_passenger/utils.rb:479:in `safe_fork'
/opt/passenger-3.0.5/lib/phusion_passenger/classic_rails/application_spawner.rb:270:in `handle_spawn_application'
/opt/passenger-3.0.5/lib/phusion_passenger/abstract_server.rb:357:in `__send__'
/opt/passenger-3.0.5/lib/phusion_passenger/abstract_server.rb:357:in `server_main_loop'
/opt/passenger-3.0.5/lib/phusion_passenger/abstract_server.rb:206:in `start_synchronously'
/opt/passenger-3.0.5/lib/phusion_passenger/abstract_server.rb:180:in `start'
/opt/passenger-3.0.5/lib/phusion_passenger/classic_rails/application_spawner.rb:149:in `start'
/opt/passenger-3.0.5/lib/phusion_passenger/spawn_manager.rb:219:in `spawn_rails_application'
/opt/passenger-3.0.5/lib/phusion_passenger/abstract_server_collection.rb:132:in `lookup_or_add'
/opt/passenger-3.0.5/lib/phusion_passenger/spawn_manager.rb:214:in `spawn_rails_application'
/opt/passenger-3.0.5/lib/phusion_passenger/abstract_server_collection.rb:82:in `synchronize'
/opt/passenger-3.0.5/lib/phusion_passenger/abstract_server_collection.rb:79:in `synchronize'
/opt/passenger-3.0.5/lib/phusion_passenger/spawn_manager.rb:213:in `spawn_rails_application'
/opt/passenger-3.0.5/lib/phusion_passenger/spawn_manager.rb:132:in `spawn_application'
/opt/passenger-3.0.5/lib/phusion_passenger/spawn_manager.rb:275:in `handle_spawn_application'
/opt/passenger-3.0.5/lib/phusion_passenger/abstract_server.rb:357:in `__send__'
/opt/passenger-3.0.5/lib/phusion_passenger/abstract_server.rb:357:in `server_main_loop'
/opt/passenger-3.0.5/lib/phusion_passenger/abstract_server.rb:206:in `start_synchronously'
/opt/passenger-3.0.5/helper-scripts/passenger-spawn-server:99

Rendering /var/www/redmine/public/500.html (500 Internal Server Error)
</pre>

Thanks
--------------------------------------------------------------------------------
Hmm...Something in the 1.2.1 batch of tweaks for this seems to be preventing the "Duplicate" function from copying over the source bug description. Investigating...
--------------------------------------------------------------------------------
Duplicate functionality resolved.

<pre>*** L:/www/redmine/app/controllers/issues_controller.rb.duplicatebroken Tue Oct 11 16:31:53 2011
--- L:/www/redmine/app/controllers/issues_controller.rb Tue Oct 11 16:25:17 2011
***************
*** 317,323 ****
--- 317,325 ----
(_prev_tracker = @project.trackers.find(params[:prev_tracker_id])) && # previous tracker (+ template)
(params[:issue][:description].gsub(/\r|\n/, '') != _prev_tracker.template.gsub(/\r|\n/, '')) # description changed
params[:issue] ||= {}
+ unless params[:copy_from]
params[:issue][:description] = @issue.tracker.template
+ end
end
end
@issue.start_date ||= Date.today</pre>
--------------------------------------------------------------------------------
Hmmm.. I have the same issues as Olivier Chabanel on Redmine 1.2.1.stable

<pre>
% patch -p1 < tracker_templates_redmine_1.2-stable.diff
% rake 102_add_trackers_template.rb
% rake db:migrate
</pre>

I've added the patch as above and then manually added the two lines from John Stone's additional fix.

<pre>
NoMethodError (undefined method `template' for #<ActiveRecord::Associations::BelongsToAssociation:0xb708075c>):
app/controllers/issues_controller.rb:319:in `build_new_issue_from_params'
passenger (3.0.9) lib/phusion_passenger/rack/request_handler.rb:96:in `process_request'
passenger (3.0.9) lib/phusion_passenger/abstract_request_handler.rb:513:in `accept_and_process_next_request'
passenger (3.0.9) lib/phusion_passenger/abstract_request_handler.rb:274:in `main_loop'
passenger (3.0.9) lib/phusion_passenger/classic_rails/application_spawner.rb:321:in `start_request_handler'
passenger (3.0.9) lib/phusion_passenger/classic_rails/application_spawner.rb:275:in `send'
passenger (3.0.9) lib/phusion_passenger/classic_rails/application_spawner.rb:275:in `handle_spawn_application'
passenger (3.0.9) lib/phusion_passenger/utils.rb:479:in `safe_fork'
passenger (3.0.9) lib/phusion_passenger/classic_rails/application_spawner.rb:270:in `handle_spawn_application'
passenger (3.0.9) lib/phusion_passenger/abstract_server.rb:357:in `__send__'
passenger (3.0.9) lib/phusion_passenger/abstract_server.rb:357:in `server_main_loop'
passenger (3.0.9) lib/phusion_passenger/abstract_server.rb:206:in `start_synchronously'
passenger (3.0.9) lib/phusion_passenger/abstract_server.rb:180:in `start'
passenger (3.0.9) lib/phusion_passenger/classic_rails/application_spawner.rb:149:in `start'
passenger (3.0.9) lib/phusion_passenger/spawn_manager.rb:219:in `spawn_rails_application'
passenger (3.0.9) lib/phusion_passenger/abstract_server_collection.rb:132:in `lookup_or_add'
passenger (3.0.9) lib/phusion_passenger/spawn_manager.rb:214:in `spawn_rails_application'
passenger (3.0.9) lib/phusion_passenger/abstract_server_collection.rb:82:in `synchronize'
passenger (3.0.9) lib/phusion_passenger/abstract_server_collection.rb:79:in `synchronize'
passenger (3.0.9) lib/phusion_passenger/spawn_manager.rb:213:in `spawn_rails_application'
passenger (3.0.9) lib/phusion_passenger/spawn_manager.rb:132:in `spawn_application'
passenger (3.0.9) lib/phusion_passenger/spawn_manager.rb:275:in `handle_spawn_application'
passenger (3.0.9) lib/phusion_passenger/abstract_server.rb:357:in `__send__'
passenger (3.0.9) lib/phusion_passenger/abstract_server.rb:357:in `server_main_loop'
passenger (3.0.9) lib/phusion_passenger/abstract_server.rb:206:in `start_synchronously'
passenger (3.0.9) helper-scripts/passenger-spawn-server:99

Rendering /opt/redmine-1.2.1/public/500.html (500 Internal Server Error)
</pre>
--------------------------------------------------------------------------------
Anyone made a patch for 1.3 ? thnx
--------------------------------------------------------------------------------
"Please vote for issue template extension":https://github.com/generaldesoftware/RedMine-plantillas-plugin/issues/2 for "RedMine-plantillas-plugin":https://github.com/generaldesoftware/RedMine-plantillas-plugin. Wiki templates already working!
--------------------------------------------------------------------------------
Can you have a patch for 2.0-stable?

Thanks a lot
--------------------------------------------------------------------------------
+1
--------------------------------------------------------------------------------
+1
--------------------------------------------------------------------------------
+1 needs to be on trunk
--------------------------------------------------------------------------------
+1
--------------------------------------------------------------------------------
Someone of you have tested the plugin: http://www.redmine.org/plugins/issue_templates ?
--------------------------------------------------------------------------------
Jonas J wrote:
> Someone of you have tested the plugin: http://www.redmine.org/plugins/issue_templates ?

Nice plugin, but works as project module. It would be better if it was Redmine-wide plugin.
--------------------------------------------------------------------------------
Ivan Cenov wrote:
> Jonas J wrote:
> > Someone of you have tested the plugin: http://www.redmine.org/plugins/issue_templates ?
>
> Nice plugin, but works as project module. It would be better if it was Redmine-wide plugin.

Considering the fact that trackers are bound to projects I think it is the best to implement this plugin as a project module.
--------------------------------------------------------------------------------
If you can also share templates globallz check out another plugins which can do thats also.

http://www.redmine.org/plugins/gsc_templates

As far as i remember i tested successfully for remine 2.2.3
--------------------------------------------------------------------------------
Mischa The Evil wrote:

> Considering the fact that trackers are bound to projects I think it is the best to implement this plugin as a project module.

I would disagree as trackers are project independents IMO and furthermore if you have a lot of projects, it is a pain to configure ...
--------------------------------------------------------------------------------
For that matter, new issues should be settable to only those tracker-types that are configured for the users given role (or roles).

I envision this workflow as follows:
(1) Administrator creates a role (let's call it role A)
(2) Administrator assigns a user (or group) role A.
(3) Through the implementation of this feature, the administrator will be able to define which tracker-types that role A is capable of creating (so long as role A has been assigned the "add issue" permission)
(4) When the user possessing role A (and also having the "add issue" permission) clicks the "New Issue" tab, the user will see only those trackers which were defined as "can create this tracker" to role A.
(5) If the user has multiple roles with "can create this tracker" defined, each having their own set of permissible trackers, the user will be able to create the super-set of all trackers from all assigned roles.

This feature would greatly enhance Redmine's flexibility in configuration.
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------


related_issues

relates,Closed,1138,Issue templates
relates,New,643,Issue description templates
duplicates,Closed,7055,Default description per tracker.
duplicates,Closed,5341,Default issue description per tracker basis

Admin Redmine さんが3ヶ月前に更新

  • カテゴリIssues_2 にセット
  • 対象バージョンCandidate for next major release_32 にセット

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

いいね!0
いいね!0