I was able to add the default description. But, when a user edits the field and clicks away from it, it'll default back to the default value. Is there a way to check if the value has been changed?
def desc = getFieldById("description")
def currentIssueType = issueContext.issueType.name
def empty = ""
def defaultValue = """default value""".replaceAll(/ /, '')
def bugDefaultValue = """
default value2""".replaceAll(/ /, '')
if (! underlyingIssue?.description) {
if(currentIssueType == "Epic" || currentIssueType == "Story"){
desc.setFormValue(defaultValue)
}else if (currentIssueType == "Bug"){
desc.setFormValue(bugDefaultValue)
}else{return}
}
You may consider running your Behaviour only on a Create, and not on an edit. We use this code snippet at the top of a Behaviour for that purpose:
// We wish to run this behaviour only during a Create.
// Per https://scriptrunner.adaptavist.com/5.4.28/jira/behaviours-api-quickref.html#_getactionname :
// getActionName() "Returns the name of the current action if the issue is undergoing a workflow action, null otherwise."
// Create is a workflow action, so it will return "Create Issue" or "Create" (should check for both).
// Edit is not a workflow action, so it will return null.
if (getActionName() == null || !(getActionName() in ["Create Issue", "Create"])) {
return
}
The issue is during the create step. Before the create button is pressed, if the user wanted to clear the default data and add their own, the default data would return upon leaving the description field.
I've decided on using a workaround. Having radio buttons that correlate with whatever default value they want. If they want to enter their own data they would simply choose none.
def descriptionField = getFieldById("description")
def radioSelect = getFieldByName("descriptionTest")
def radioSelectValue = radioSelect.getValue()
def text = """
DESCRIPTION DEFAULT VALUE 1""".replaceAll(/ /, '')
def textTwo = """
DESCRIPTION DEFAULT VALUE 2""".replaceAll(/ /, '')
if(radioSelectValue == "Bug Issue Type"){
descriptionField.setFormValue(textTwo)
}else if(radioSelectValue == "Other"){
descriptionField.setFormValue(text)
}else{descriptionField.setFormValue("")}
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Raynard,
have the same issue :-(
Do you already have any solution for this challenge?
Regards, Sergo
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
No, I decided to use radio buttons that would have the default text. When the radio button is selected the Description field will be populated with whatever corresponds with that button. Also a clear text button if the default description isn't needed.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.