Script Runner - Make Comment Field required on Issue asign

DavidF November 29, 2016

When users asign issues to each other via the standard asign-function in JIRA (not via workflow transition) I'd like the commentary field to be mandatory. Is that possible in any way?

2 answers

2 accepted

4 votes
Answer accepted
Mahesh S
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
December 1, 2016

Yes, Johny's script might help you. In addition to that, you can remove Assignee field from edit screen and hence, it will be available only in Assign screen. Otherwise, the user can cheat you by performing an inline edit of Assignee in the view screen itself.

Jonny Carter
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
December 7, 2016

Actually, if you have a behaviour associated with a field, it should disable inline editing on the View Issue page. Granted, the user could still cheat with more advanced techniques; disabling inline editing is JavaScript based, and happens shortly after page load. Behaviours are about convenience, not security.

Tarun Sapra
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
December 7, 2016

Good to know -  if you have a behaviour associated with a field, it should disable inline editing on the View Issue page

Mahesh S
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
December 7, 2016

Yes.. Good to know! smile

3 votes
Answer accepted
Jonny Carter
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
November 30, 2016

You bet it is! This can be done with a Behaviour. Create a behaviour on the Assignee field with a validation script like the one below:

import com.atlassian.jira.component.ComponentAccessor
import com.onresolve.jira.groovy.user.FieldBehaviours
import groovy.transform.BaseScript

@BaseScript FieldBehaviours fieldBehaviours

def commentField = getFieldById("comment")
def assignee = getFieldById(getFieldChanged())

def currentUser = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()
log.debug("Assignee: $assignee.value ; Current User: $currentUser.name")

boolean requireComment = assignee.value != currentUser.name && underlyingIssue.getAssignee().name != assignee.value && assignee.value
log.debug("Comment required: $requireComment")
commentField.setRequired(requireComment)

That will make the comment field required whenever the assignee is not "unassigned" and it's not the same user as the person doing the assignment. It should work on the edit issue and assign issue screens.

Suggest an answer

Log in or Sign up to answer