A bunch of neat custom fields Atlassian have developed for their own use, particularly when using JIRA for customer support
| Name | JIRA Toolkit |
|---|---|
| Latest Version | 0.7.28 (for JIRA 3.13+) |
| Previous releases | (see compatibility table) |
| Author(s) | Mark Chaimungkalanont, Nick Menere, Scott Farquhar |
| Issue Tracking | http://developer.atlassian.com/jira/browse/JTOOL |
| Download Location |
|
| Source (Subversion) | https://svn.atlassian.com/svn/public/atlassian/jira/jira-toolkit/trunk |
| Using the JIRA Toolkit As with all plugins in the JIRA Ext area, please take care using this plugin as we do not officially support them as a priority. That said, we're generally happy to answer questions and will most likely address bugs that get raised. We also use it in our support system at the moment. The full source is also provided so you can modify it, fix problems or even contribute back some code. |
Description/Features
The toolkit is a set of simple custom fields that we've come up with to fit our needs. They provide a simple workaround for current limitations to JIRA or solutions to some idiosyncratic problems. Think of it as JIRA Custom fields sandbox if you will. It's also a showcase for how simple customfields can be used get more out of your of JIRA, especially for filtering on information that would otherwise be unavailable.
Installation
- Download the jar and place in your webapp's lib folder (For Standalone/Tomcat it is in the WEB-INF/lib dir)
- Restart JIRA
- Enable the plugin as shown here
- New custom field types will now be available to your system
- Add a new custom field of the types you want in your system from the "Admin" > "Issue Fields" > "Custom Fields"
- Reindex JIRA. This is quite important as most of the custom fields are "calculated" custom fields, which means until you reindex, the values will not be valid.
The Custom Field Types
| Custom Field Type | Description | Screenshots |
|---|---|---|
| Message Custom Fields | These fields are used to added arbitrary HTML to edit and view pages. Edit the default value of these fields and you can easily add custom messages to various screens | |
| Original Estimate Range Search | Search original estimates with a number range searcher. Searches are in hours only. | |
| Number of comments and attachments | You can now also display and search for the numbers of comments and attachments of an issue. You can also perform range searches on either of them. | |
| Last Resolved Date | This field looks up the date when status was last changed to Resolved. You can perform full date range searches on it. NOTE:Some users have reported issues using this field with Oracle. We're still investigating what could be wrong. You can find another implementation of this at JIRA Charting Plugin | |
| Multi Issue Key Searcher | This is a custom field that will allow you to specify multiple issue keys in an issue navigator search field and then order them in any way you like within the issue navigator results. To use this, you must add a global custom field of type 'Multi Issue Key Searcher' and add the custom field as a column to your issue navigator. Once your results are displayed you can click on the column's header to get the sort options. You will be able to move individual issues up or down or remove them from the list altogether. See this tip to help you generate a list of issues from an existing filter. |
|
| Domain of Reporter | The domain name of the reporter's e-mail - can be used as the reporter's "Company". As of 0.2, you clicking the company will try to open the site. You can also search for all issues with that company from the view screen. Since 0.7, there's also a type for assignee. | |
| Days since last comment | Number of minutes, hours, days & weeks since the last comment on the issue. As of 0.2, displays relative time ("1 minutes ago etc"). Moreover, if the issue has not been replied to for > 7 days and is not resolved, the line in the issue navigator will be coloured red. | |
| Last commented by a User Flag | Displays true if last commenter who is not a JIRA developer (member of 'jira-developers'). Comes with its own checkbox searcher | |
| JIRA Toolbar | Allows you to add the Edit & Comment commands to your Issue Navigator. | |
| Participants Field | This field allows you to easily track issues that you've "participated in". These are defined to be any issues you've commented on, raised or are the current assignee. See also the JIRA Extended Participants plugin. | |
| Dummy Project Field | Dummy project field to enable multi project search. DO NOT USE. This has been superceded by functionality in JIRA. If you are still using this field, please remove it as it will be removed in future versions. | |
Listeners
| Listener Name | Class | Description |
|---|---|---|
| Auto Transition Listener | com.atlassian.jira.toolkit.listener.AutoTransitionListener | Listens for a given event on an issue, and then performs a transition. Please refer to the installation and configuration instructions. |
Versions
You need to download the toolkit version that matches your JIRA version:
| Version | JIRA Version(s) | Comments | |||
|---|---|---|---|---|---|
| 0.7.28 | JIRA 3.13 + | Released with JIRA 3.13 | |||
| 0.7.27 | JIRA 3.12 + | Fixes a bug in the SupportService and in the TimezoneUtils | |||
| 0.7.26 | JIRA 3.12 + | Fixes for SQL data sensitivity | |||
| 0.7.25 | JIRA 3.12 + | Version to use for 3.12. Uses some 3.12 functionality so not backwards-compatible. | |||
| 0.7.24 | JIRA 3.11 + | Version to use for 3.11. Updated to Lucene v2.2 in line with JIRA 3.11 moving to the same Lucene code base . NOTE : You can only run this version on JIRA 3.11 and above. This version of the toolkit will not run on earlier versions of JIRA because the Lucence API has changed, with several methods removed. | |||
| 0.7.21 | JIRA 3.9 + | Version to use for 3.9. Improved support handler (internal for atlassian) | |||
| 0.7.20 | JIRA 3.8 + | Version to use for 3.8 | |||
| 0.7.19 | JIRA 3.7.4 | internal release | |||
| 0.7.18 | JIRA 3.7.3 | Updates and compatibility with JIRA 3.7.3 | |||
| 0.7.17 | JIRA 3.7-beta2 | internal release | |||
| 0.7.16 | JIRA 3.7-beta2 | internal release | |||
| 0.7.15 | JIRA 3.7-beta2 | internal release | |||
| 0.7.14 | JIRA 3.7-beta2 | Version to use for 3.7 | |||
| 0.7.13 | JIRA 3.7-beta1 | internal release | |||
| 0.7.12 | JIRA 3.7-beta1 | internal release | |||
| 0.7.11 | JIRA 3.7-beta1 | internal release | |||
| 0.7.10 | JIRA 3.6.x | ||||
| 0.7.9 | JIRA 3.6.x | ||||
| 0.7.8 | JIRA 3.6.x | Participants custom field is faster due to direct SQL statements. A text custom field that gets processed through velocity. Fix bug with changehistory being updated for message field. | |||
| 0.7.6 | JIRA 3.6.x | AutotransitionListener was broken in 3.6. Fixed. Make sure you are using the correct event Ids, they have changed | |||
| 0.7.5 | JIRA 3.6.x | Reflect small API change in JIRA 3.6 | |||
| 0.7.4 | JIRA 3.5.x | Fixed a small bug in the Message Custom Field that was causing Move Issue to break | |||
| 0.7.3 | JIRA 3.5.x | Added Auto-Transition Listener | |||
| 0.7.2 | JIRA 3.5.x | Added two message custom fields, one for view and one for edit screens | |||
| 0.7 | JIRA 3.5.x | Added a whole bunch of plugins. attachment count, comments count, original estimates range searching, assignee domain searcher and resolved date custom field | |||
| 0.6.2 | JIRA 3.4.2 | updated for 3.4.2 | |||
| 0.6.1 | JIRA 3.4.1 | Removed securitylevel CF type (use Security Level system field instead) and updated for 3.4.1 | |||
| 0.6 | JIRA 3.4 | Added the Multi Issue Key custom field and searcher. The Participants field now also supports the "Group and User" searcher | |||
| 0.5.1 | JIRA 3.3 | Updated days since last comment to colour the row red | |||
| 0.5 | JIRA 3.3 | Added the participants field. Updated for JIRA 3.3 use. | |||
| 0.4.1 | JIRA 3.2 | Updated for 3.2 stats mapper changes | |||
| 0.4 | JIRA 3.2-beta | Added a "Dummy Project Field". This is a simple workaround for the very popular issue at http://jira.atlassian.com/browse/JRA-699 | |||
| 0.3 | JIRA 3.2-beta | First compatible version with 3.2-beta | |||
| 0.2 | JIRA 3.1 | Many minor improvements |
|
Using the Dummy Project Field for Multi-Project searching
| Multi project search in JIRA As of JIRA 3.3, multi-project searching is available in the code and the use of this custom field has been deprecated. |
The toolkit now includes a custom field that indexes the project as a custom field and has a multi-select searcher on it. This allows for simple multi-project queries. To use it, add the field as a Global custom field, ensuring you add it on all your edit screens to ensure that it'll be properly indexed. When searching, you'll find the field in the custom fields section (it's just a custom field after all). Make sure you're searching on all projects and voila you have multi-project searches. You can save the results as a filter and run stats on it. This is not perfect and does not handle project level custom fields ideally. However, for all those people craving multi-project searching, this hopefully will ease the pain quite a bit.
Will this work for pre 3.2 versions of JIRA?}
The short answer is no, but it would be possible to write your own custom field type that mimics what the "Dummy Project Field". Which is pretty much do nothing for anything apart from getValueFromIssue where it returns the projectId. Retrofit the searcher, and the search template to the 3.0.3 code base and you should also be able to have your own multi-project searcher.

Comments (88)
Sep 19, 2005
Anonymous says:
For anyone who wants the "Tools" column not to be included when exported to Exce...For anyone who wants the "Tools" column not to be included when exported to Excel, see http://jira.atlassian.com/browse/JRA-7871
Sep 28, 2005
Anonymous says:
Greetings from Berlin, Germany! Is it possible to modify the "Participants ...Greetings from Berlin, Germany!
Is it possible to modify the "Participants Field" for a ability to search for participant "Groups" as well?
Sep 29, 2005
Anton Mazkovoi says:
Hi, It is possibel to extend teh field to do this. You will need to make the fi...Hi,
It is possibel to extend teh field to do this. You will need to make the field index the groups of users as well as users. The information might get out of date, if group memebership is changed.
You will need to also create a searcher that allows users to query these groups.
I hoep this hekps. If you have any questions tregarding implementing this field or any other questions please sign up on http://support.atlassian.com and create a support issue.
Thanks,
Anton
Oct 19, 2005
Anonymous says:
How would I update the "Days Since Last Update" red-trigger so that the days inc...How would I update the "Days Since Last Update" red-trigger so that the days increase from 7 to, say, 14? Any help??
Oct 19, 2005
Anonymous says:
I don't know how to compile it per se, but it was easy to find the source code y...I don't know how to compile it per se, but it was easy to find the source code you'd want to change.
There's a file called jira-toolkit-0.5.1\src\etc\templates\last-commented.vm
with code like this:
#if (!$issue.resolution && $value.intValue() > 604800)
which is the number of seconds in a week (60*60*24*7)
I guess it also bolds it after 4 weeks?
#if (!$issue.resolution && $value.intValue() > 2419200)
Oct 21, 2005
Anonymous says:
Participants is defined as: "any issues you've commented on, raised or are the c...Participants is defined as: "any issues you've commented on, raised or are the current assignee.".
My use case is to see who performed an action (e.g. resolve) on the issue. When re-opening a resolved issue, I need to send it back to the person who resolved it. Now, I have to use Change History to see that. If the participants field also included the user who resolved it, it would save me some time. Would this be of interest to others as well? How do others know who to resolve issues back to?
Oct 28, 2005
Anonymous says:
Next time you're in there you can fix the typo in the Support Toolbar descriptio...Next time you're in there you can fix the typo in the Support Toolbar description:
"Displays the some action links on the issu navigator:"
Nov 24, 2005
Lars Preben Sørsdahl says:
I really like the idea of a "Last commented by a User Flag". The only problem is...I really like the idea of a "Last commented by a User Flag". The only problem is that in our case none of the "developers" in the project are Jira administrators. It would be really cool if this feature could be enhanced to support for instance: "Last commented by user not in group XXX".
Nov 24, 2005
Nick Menere says:
hi, This field is actually based on the jira-developers group, not administrator...hi,
This field is actually based on the jira-developers group, not administrators.
If you want to modify the code, it is quite easy, simply change the value of the followinf field to your desired group:
private static final String JIRA_DEV = "jira-developers";Cheers,
Nick
Nov 25, 2005
Lars Preben Sørsdahl says:
Ah... I was mislead by the documentation and the "create custom field" screen si...Ah... I was mislead by the documentation and the "create custom field" screen since both states: "Displays true if last commenter who is not a JIRA administrator."
It would be really nice if we could select the group when configuring the field. We "renamed" the jira-developers group to "internal" to not confuse our non-technical users and I guess that there are other users out there who also want to use other groups for this functionality.
BTW: Which Jira project should we use to submit feature requests for the jira-toolkit?
Thanks for the help.
Nov 27, 2005
Jeff Turner says:
Thanks, I've fixed the documentation (looks like in the past it was 'jira-admini...Thanks, I've fixed the documentation (looks like in the past it was 'jira-administrators').
Comments here are as good a place as any for registering feature requests.
Nov 30, 2005
Jason Dillon says:
Looks like 0.6.1 is reported at Plugin Version 0.5.Looks like 0.6.1 is reported at Plugin Version 0.5.
Dec 01, 2005
Jeff Turner says:
Thanks for the note, this will be fixed in the next release.Thanks for the note, this will be fixed in the next release.
Dec 08, 2005
Andreas Deimer says:
Hi, I installed the Toolbar in Jira 3.4 to get the Edit|Comment fields in t...Hi, I installed the Toolbar in Jira 3.4 to get the Edit|Comment fields in the issue navigator.
However, when you edit an issue by clicking on the link, the returnURL is set to something like
This confuses Jira: When the issue is updated, the whole Layout is screwed up.
Dec 08, 2005
Andreas Deimer says:
Sorry, forgot this: The returnUrl must be like /secure/IssueNavigator.jspaSorry, forgot this: The returnUrl must be like
Dec 08, 2005
Brian Nguyen says:
Hi Andreas, First of all, could you create an issue at http://support.atlassian...Hi Andreas,
First of all, could you create an issue at http://support.atlassian.com? This will make it easier to track the problem and also stop filling up this page with comments.
In terms of the error itself, all the toolbar does to generate the URL is to obtain the url from the request, which by all accounts should not be corrupted.
So in the issue you create could you answer the following questions:
This should give further indication as to the cause of the problem.
Thanks,
Brian
Dec 15, 2005
Steve Ragle says:
Sorry if this is answered elsewhere: are some or all of these useful field types...Sorry if this is answered elsewhere: are some or all of these useful field types going to be rolled in to the main Jira product itself in the near future?There are several issues in Jira along some similar lines of what some of these tools provide, including http://jira.atlassian.com/browse/JRA-8813?page=all , http://jira.atlassian.com/browse/JRA-7133 , http://jira.atlassian.com/browse/JRA-8527
Regards,
Steve
Dec 15, 2005
Anton Mazkovoi says:
Steve, Yes we are hoping to migrate most useful items into the JIRA core eventu...Steve,
Yes we are hoping to migrate most useful items into the JIRA core eventually. Code in the toolkit usually is not as clean as we would like it to be, and hence has not been put into JIRA. As JIRA becomes more flexible we should be able to merge the functionality.
Unfortunately at the moment due to a large number of feature request I am not able to provide a time line for this.
Thanks,
Anton
Jan 25, 2006
Daniel Estermann says:
I would like to use this with JIRA Professional 3.4.3, but the toolkit 0.6.2 is ...I would like to use this with JIRA Professional 3.4.3, but the toolkit 0.6.2 is guaranteed to be compatible with JIRA 3.4.2 only. Can I expect a newer toolkit version soon or is it already compatible (and stable) with the newest JIRA?
Regards,
Daniel
Jan 25, 2006
Jonathan Nolen says:
We try not to make any API changes on minor version updates. So the current vers...We try not to make any API changes on minor version updates. So the current version of the toolkit should work fine. If you run into any problems, please let us know.
Cheers,
Jonathan
Mar 07, 2006
Kalyan D says:
Tried the Support Toolbar. It works when i add the column into my Issue Navigato...Tried the Support Toolbar. It works when i add the column into my Issue Navigator. If i try to comment a issue with option in the toolbar, it takes me to directly to comment that issue. But the action "Cancel" in Comment/Edit option does destroy all the page formatting
.
Regards,
Kalyan
Mar 09, 2006
Sven Breidenstein says:
Hi, I see that there is a new version 0.7.3 available, but I don't understand w...Hi,
I see that there is a new version 0.7.3 available, but I don't understand what the new feature " Added Auto-Transition Listener" will do.
Regards
Sven
Mar 09, 2006
Nick Menere says:
Hi Sven, In our support site we had a problem where customers were not transiti...Hi Sven,
In our support site we had a problem where customers were not transitioning their issues, they were simply commenting on there issues. This would leave them in the wrong state.
So I created the listener. It listens for a given event on an issue, and then performs a transition. It is quite configurable. You can specify:
I might put some more docs up on it tomorrow.
Cheers,
Nick
Mar 13, 2006
Daniel Estermann says:
Great news: The AutoTransitionListener seems to be exactly what I was looking fo...Great news: The AutoTransitionListener seems to be exactly what I was looking for!
When adding a Listener of class com.atlassian.jira.toolkit.listener.AutoTransitionListener, the following following options are configurable:
Event ID
Action ID
Status
Project Key
Only do when current user is the Reporter?
Only do when current user is the Assignee?
Could you please explain the format of these parameters and give some examples?
Cheers,
Daniel
Mar 13, 2006
Nick Menere says:
Hey Daniel, Please refer to the newly created installation and configuration ins...Hey Daniel,
Please refer to the newly created installation and configuration instructions.
Let us know how you go.
Cheers,
Nick
Mar 15, 2006
Daniel Estermann says:
Thanks for the instruction page! Everything is well documented, although I w...Thanks for the instruction page! Everything is well documented, although I would prefer using names instead of numbers.
The Listener works well for events generated using the Web UI. But the following case leads to an exception:
I want to reopen any issue that is commented by Mail (via CreateOrCommentHandler).
These are my Listener parameters:
Status=6 (Closed)
Event ID=5 (Commented)
Action ID=3 (Closed > Reopen)
The resulting error:
com.opensymphony.workflow.InvalidActionException: Action 3 is invalid
at com.opensymphony.workflow.AbstractWorkflow.doAction(AbstractWorkflow.java:528)
at com.atlassian.jira.workflow.SimpleWorkflowManager.doWorkflowAction(SimpleWorkflowManager.java:228)
at com.atlassian.jira.workflow.WorkflowTransitionUtilImpl.progress(WorkflowTransitionUtilImpl.java:259)
at com.atlassian.jira.toolkit.listener.AutoTransitionListener.workflowEvent(AutoTransitionListener.java:84)
at com.atlassian.jira.event.issue.IssueEventDispatcher.dispatchEvent(IssueEventDispatcher.java:62)
at com.atlassian.jira.event.issue.IssueEventDispatcher.dispatchEvent(IssueEventDispatcher.java:47)
at com.atlassian.jira.action.action.ActionCreate.createAction(ActionCreate.java:97)
at com.atlassian.jira.action.action.ActionCreate.doComment(ActionCreate.java:56)
If I comment the issue on the GUI, the Listener reopens it as expected.
Any ideas?
Cheers,
Daniel