Issue Interface

This document details the methods you can use on any Issue object, such as the one provided by the issue, linkedIssue and parentIssue variables (where applicable), as well as Issue objects returned by other methods such as getParentObject()getEpic() or getLinkedIssues().

Methods of the Issue interface: 

denotes a method that is specific to JMWE

 

 

 

Methods to access issue fields and information

Method

Description

Parameters

Return type

Method

Description

Parameters

Return type

get(String fieldNameOrID)

Returns the value of a system or custom field of the Issue object.

A string representing the field name or field Id

Depends on the field being accessed

get(String fieldNameOrID, Object defaultValue) 

Returns the value of a system or custom field of the Issue object. If the value is null, it returns the default value specified as the second parameter. 

  1. A string representing the field name or field Id

  2. An object representing the field default value

Depends on the field being accessed

getAffectedVersions()

Returns a collection of Affects Version/s objects, an empty collection if there are no affects versions.

None

Collection<Version>

getAssignee()

Returns the Assignee user, null if the issue is not assigned.

None

ApplicationUser

getAsJsonData(String fieldNameOrID) 

Returns the JSON-style version of a system or a custom field of the Issue object, essentially a key-value Map. This can be useful to access some complex Jira Software and Jira Service desk fields.

A string representing the field name or field Id

JsonData

getAsString(String fieldNameOrID)

Same as the get method, but returns a String representation of the value of the system or custom field, whenever possible.

A string representing the field name or field Id

 

getAsString(String fieldNameOrID, String defaultValue)

Same as the get method, but returns a String representation of the value of the system or custom field, whenever possible. If the value is null, it returns the default value specified as the second parameter. The defaultValue must be a String.

  1. A string representing the field name or field Id

  2. A string representing the field default value

 

getAttachments()

Returns a collection of attachment objects, an empty collection if there are no attachments.

None

Collection<Attachment>

getChannel ()

Returns the channel through which the Jira Service Management request was created

None

String

getComponentObjects()

Returns a collection of project components (as objects) that this issue is assigned to, an empty collection if there are no components.

None

Collection<ProjectComponent>

getCreated()

Returns the timestamp of the issue creation.

None

Timestamp

getCreator()

Returns the user who created the issue.

None

ApplicationUser

getDescription()

Returns the description of the issue, null if there is no description for the issue

None

String

getDueDate()

Returns the due date of the issue, null if there is no due date set for the issue

None

Timestamp

getEnvironment()

Returns the Environment of the issue, null if there is no Environment set for the issue

None

String

getEstimate()

Returns the "remaining estimate" of work left to be performed on this issue, in milliseconds, null if empty.

None

Long


getFixVersions()

Returns a collection of Fix Version/s objects, an empty collection if there are no Fix versions.

None

Collection<Version>

getId()

Returns the ID of the issue

None

Long

getIssueTypeId()

Returns the ID of the issue type of the issue.

None

String

getIssueType()

Returns the issue type object of the issue

None

IssueType

getKey()

Returns the key of the issue

None

String

getLabels()

Returns the labels of the issue, empty Set if no labels.

None

Set<Label>

getNumber()

Returns the issue number in the project

None

Long

getOriginalEstimate()

Returns the "original estimate" of work to be performed on this issue, in milliseconds, null if empty.

None

Long

getPriorityObject()

Returns the Priority for this Issue.

None

Priority

getProjectId()

Returns the ID of the Project for this Issue.

None

Long

getProjectObject()

Returns the Project for this Issue.

None

Project

getRawValue(String fieldNameOrID)

Same as the get method, but for Single-Select type custom fields, returns an Option object instead of a String

A string representing the field name or field Id

Depends on the field being accessed

getReporter()

Returns the Reporter of the issue

None

ApplicationUser

getResolutionDate()

Returns the timestamp of when an issue was resolved. Will be null if it hasn't been resolved yet, or if an issue has been returned to the 'unresolved' state.

None

Timestamp

getResolutionId()

Returns the ID of the resolution of the issue, if any

None

String

getResolution()

Returns the Resolution for this Issue, null if the issue hasn't been resolved yet, or if an issue has been returned to the 'unresolved' state.

None

Resolution

getSecurityLevelId()

Returns the Security level for this issue, null if there is no Security level set for the issue

None

Long

getStatus()

Returns the status of the issue

None

Status

getSummary()

Returns the summary of the issue

None

String

getTimeSpent()

Returns the "total time spent" working on this issue, in milliseconds, null if empty.

None

Long

getUpdated()

Returns the timestamp of the issue update

None

Timestamp

getVotes()

Returns the number of votes for the issue, null if empty.

None

Long

getWatches()

Returns the number of watchers for the issue, null if empty.

None

Long

getWorkflowId()

Returns the ID of the workflow the issue belongs to

None

Long

isCreated()

Returns true when the issue is created

None

Boolean

isEditable()

Returns true when the issue is editable

None

Boolean

isSubTask()

Returns true when the issue is a sub-task

None

Boolean

Methods to access issue's linked issues

Method

Description

Parameters

Return type

Method

Description

Parameters

Return type

getEpic()

Returns the Epic, if any, of the current issue. null if the issue doesn't belong to an Epic.

None

Issue

getInwardIssueLinks()

Returns a list of inward issue links to the issue, an empty list if there are no inward issue links.

None

List<IssueLink>

issue.getIssueLinks() 

Returns a list of issue links from/to the current issue. This can be used to set the Linked Issues field

None

List<IssueLinkWithDirection>

issue.getIssueLinks(String linkType)

 

Returns a list of issue links from/to the current issue with a specific link type. This can be used to set the Linked Issues field.

linkType: The name of a link type, as it appears on the issue view

List<IssueLinkWithDirection>

issue.getIssueLinks(Long linkTypeId, String direction) 

Returns a list of issue links from/to the current issue with a specific link type and direction. This can be used to set the Linked Issues field.

linkTypeId: A number representing the link type id (e.g. 10300 ).

direction: The link type direction (outward or inward)

List<IssueLinkWithDirection>

getLinkedIssues()

Returns a list of issues linked to the current issue (including the issue links being added on the transition screen during a transition) through any regular link type.

 Note: Supports all issue links other than Parent-Subtask (see getParentObject() and getSubTaskObjects() for that), Epic-Story (seegetEpic()andgetStories()for that) and Parent-Child portfolio (see getPortfolioParent() and getPortfolioChildIssues() for that)

None

List<Issue>

getLinkedIssues(String linkType)

Returns a list of issues linked to the current issue (including the issue links being added on the transition screen during a transition) through a specific link type.

linkType: A string representing  the name of a link type, as it appears on the issueview (e.g. blocks or is blocked by).

List<Issue>

getLinkedIssues(Long linkTypeId, String direction) 

Returns a  list of issues linked to the current issue (including the issue links being added on the transition screen during a transition) through the specified link type Id and direction.

For example: getLinkedIssues(10301, “inward”) returns issues linked inward to the current issue through the link type with Id 10301.

linkTypeID: A number representing the link type id (e.g. 10300 ).

direction: The link type direction (outward or inward)

List<Issue>

getOutwardIssueLinks()

Returns a list of outward issue links from the issue, an empty list if there are no outward issue links.

None

List<IssueLink>

getParentObject()

Returns the parent Issue, or null if the issue is not a subtask.

None

Issue

getPortfolioChildIssues()

Returns a list of issues linked to the current issue through the "is parent of (Portfolio child Issues)" link type

None

List<Issue>

getPortfolioParent()

Returns the issue linked to the current issue through the "is child of (Portfolio Parent Link)", or null if the issue is not a child.

None

Issue

getRemoteLinks(String ApplicationName) 

Returns a collection of remote issue links of the current issue to the target application (e.g. "jira" or "confluence"). When the ApplicationName is null all the remote issue links are returned.

applicationName: A string representing the remote link application name of a link type, as it appears on the Application Links page

Collection<RemoteIssueLink>

getStories()

Returns a list of stories of the current Epic, an empty list if there are no Stories

None

List<Issue>

getSubTaskObjects()

Returns the subtasks of this issue, an empty collection if no subtasks

None

Collection<Issue>

Method

Description

Parameters

Return type

Method

Description

Parameters

Return type

linkIssue(String linkType, Issue destIssue) 

Links the current issue to the specified issue through the specified link type direction

linkType: A string representing  the name of a link type, as it appears on the issue view (e.g. blocks or is blocked by).

destIssue: The issue to link to.

void

linkIssue(String linkType, String destIssueKey) 

Links the current issue to the issue with the specified issue key through the specified link type direction

linkType: A string representing  the name of a link type, as it appears on the issue view (e.g. blocks or is blocked by).

destIssue: A string representing the key of the issue to link to.

void

linkIssue(Long linkTypeID, String direction, Issue destIssue) 

Links the current issue to the specified issue through the specified link type id and direction.

linkTypeID: A number representing the link type id (e.g. 10300 ).

direction: The link type direction (outward or inward)

destIssue: The issue object to link to.

void

linkIssue(Long linkTypeID, String direction, Issue destIssueKey) 

Links the current issue to the issue with the specified issue key through the specified link type id and direction.

linkTypeID: A number representing the link type id (e.g. 10300 ).

direction: The link type direction (outward or inward)

destIssueKey: The key of the issue to link to.

void

Methods to set issue field value

Method

Description

Parameters

Return type

Method

Description

Parameters

Return type

setFieldValue(String fieldNameOrId, Object value)

Sets the value of a system or custom field of the Issue object

Use this method only in the Scripted Groovy operation post-function or in the Groovy console or in the Shared Groovy scripts.

Use the "Set field of new issue" and "Transition screen" sections of the Create issue and Transition post-functions respectively to set field values.



fieldNameOrId: A string representing the name or ID of a standard or custom field

Object value: The value to set the field to.

void

Methods to access issue properties

Method

Description

Parameters

Return type

Method

Description

Parameters

Return type

deleteEntityProperty(String propertyName) 

Deletes the specified Entity property of the issue.

propertyName: A string representing the name of the Entity Property

void

getEntityProperty(String propertyName) 

The value of the specified Entity property of the issue, parsed into a Groovy object.

A string representing the name of a property

Object

setEntityProperty(String propertyName, Object value) 

Sets the value of the specified Entity property of the issue to a JSON representation of the specified value.

propertyName: A string representing the name of the Entity Property

Object value: The value to set the field to.

void

setEntityPropertyToJsonString(String propertyName, String jsonString) 

Sets the value of the specified Entity property of the issue to the specified JSON string.

propertyName: A string representing the name of the Entity Property

jsonString: A String representing the JSON string value to set.

void

Methods to display message on issue view

showMessageToUser(String type, Boolean autoClose, String title, String body)

Description

Displays a message to the user, in the form of a "flag" in the top right corner of the screen. Testing this in the Groovy tester will not display the flag.

Parameters

Parameter name

Type

Description

Example

Parameter name

Type

Description

Example

type

String

The type of message to display: info, success, warning or error. Controls the color of the message box.

  • info

  • success

  • warning

  • error

autoClose

Boolean

Whether the message box should close automatically after a few seconds.

  • true

  • false

title

String

The title of the message

Sample title

body

String

The body of the message. Can contain HTML markup

  • Sample body

  • “<b>Warning to the admins</b>”

Return type

void

Examples

1: Display a sample info message

  1. Add the Scripted Groovy operation post-function to the transition

  2. Input the following script

  3. 1 issue.showMessageToUser("info",true,"Sample message" , "Sample body" )
  4. Save the post-function

  5. Publish the workflow

Displays

 

2: Display a warning message to the users of the jira-administrators group

  1. Add the Scripted Groovy operation post-function to the transition

  2. Input the following script

  3. 1 2 3 if(currentUser.isInGroup("jira-administrators")){ issue.showMessageToUser("warning",true,"Warning message" , "Warning body" ) }
  4. Save the post-function

  5. Publish the workflow

Displays

showMessageToUser(String type, String title, String body, String actionName, String actionType, String actionParam, Boolean inNewWindow) 

Description

Displays a message to the user, in the form of a "flag" in the top right corner of the screen. The message will include an action link which, when clicked, will navigate to either a Jira issue or an arbitrary web page. Testing this in the Groovy tester will not display the flag.

Parameters

Parameter name

Type

Description

Example

Parameter name

Type

Description

Example

type

String

The type of message to display: info, success, warning or error. Controls the color of the message box.

  • info

  • success

  • warning

  • error

title

String

The title of the message

Sample title

body

String

The body of the message. Can contain HTML markup

Sample body

actionName

String

The title of the action link

Go to issue

actionType

String

The type of action to perform when the user clicks on the link. Can be GOTO_ISSUE to navigate to a Jira issue, or GOTO_URL to navigate to an arbitrary web page.

  • GOTO_ISSUE

  • GOTO_URL

actionParam

String

 Either an issue key (for the GOTO_ISSUE action type) or a URL (for the GOTO_URL action type)

inNewWindow

Boolean

Whether to open the issue or web page in a new browser window/tab.

  • true

  • false

Return type

void

Examples

1: Display a sample warning message with an action link to an issue “TEST-123”

  1. Add the Scripted Groovy operation post-function to the transition

  2. Input the following script

  3. 1 issue.showMessageToUser("warning","Warning message","Warning body","Go to issue","GOTO_ISSUE","TEST-123",true )
  4. Save the post-function

  5. Publish the workflow

Displays

Other methods

Method

Description

Parameters

Return type

Method

Description

Parameters

Return type

addAvailableOption(String fieldNameorID, String value) 

Adds the provided value as a new possible option to the mentioned field.

Only applies to fields that have a fixed list of possible values, such as Affects Version/s, Fix Version/s, Components, Radio buttons, Checkboxes, Single select and Multi-select list type custom fields.



fieldNameOrId: A string representing the name or ID of a standard or custom field

value: The value to set the field to.

void

Adds a remote issue link to the issue.

RemoteIssueLink object representing the remote issue link

For example: issue.getRemoteLinks("<ApplicationLinkName>")

void

getAvailableOptions(String fieldNameOrID)

Returns a collection of available options for a field, which can be:

Both field names and field IDs are supported, just like on the get() method. See here for the list of supported fields.

A string representing the field name or field Id

Collection<Object the field returns>

getFieldHistory(String fieldNameOrID) 

Returns the history of a system or custom field of the Issue object.

A string representing the field name or field Id

List<ChangeItemBean>

getModifiedFields()

Retrieves a map of issue fields that have been modified during the current transition.

None

Map<String,ModifiedValue>

getServiceDeskUrl() 

Returns the URL of the issue's customer request view.  Only applies to Service Desk requests. Returns null otherwise.

None

String

getUrl() 

Returns the URL of the issue's View screen.

None

String