Last updated Dec 5, 2024

JIRA Developer Documentation : Issue Operations Plugin Module

Available:

Issue Operation plugin modules are available in JIRA 3.4 through to 4.0.

Deprecated:

This plugin module is not available in JIRA 4.1 and later. Please use Web Items instead.

The Issue Operations plugin module allows you to add new operations to the 'View Issue' screen.

You can add new operations with a plugin, linking to information about a single issue (most likely pulled from an external source).

Simple Example

Here is an example descriptor that adds a link to Google a given issue's summary:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!--
The module class should implement
com.atlassian.jira.plugin.issueoperation.PluggableIssueOperation
-->
<issue-operation key="google-summary" name="Google this issue"
class="com.atlassian.jira.plugin.issueoperation.DefaultPluggableIssueOperation">
<resource type="velocity" name="view">
<img src="$req.contextPath/images/icons/bullet_creme.gif" height=8 width=8 border=0 align=absmiddle>
<b><a href="http://www.google.com/search?q=${issue.summary}">Google</a></b> issue summary
</resource>
<!-- the relative order of operations -->
<order>10</order>
</issue-operation>

Issue operations are very useful as a 'hook' to link to your other plugin components - such as Webwork actions, project tab panels, reports etc.

Notes

  • All issue operation classes implement PluggableIssueOperation.

  • The showOperation(Issue issue) method allows you to turn show or hide operations for certain users, permissions etc.

  • DefaultPluggableIssueOperation is a useful base that should work for most simple HTML operations, for instance where only a changed .vm template is required. See for example the Canned Response issue operation plugin

  • The view velocity resource can point to files just as in other plugins e.g.

    1
    2
    <resource type="velocity" name="view" location="templates/more-operations.vm"/>
    
  • All pluggable issue operations occur after system issue operations (i.e. order is among all pluggable operations, not all operations)

  • Newer versions of JIRA use web fragments to do a similar thing.

Rate this page: