Hi there,
I am trying to change the type of link on the screen depending on the context key of the task.
for example, when calling the screen from a task with any issuekey excepting than "CPWEB-75", add a link type "Linked to Testing".
Also if the issuekey is "CPWEB-75", then put the link type "is blocked by"
To rich it is i using scriptrunner modulles script fragment's and behaviour's.
Inside of behaviour settings i putted my script into Initialiser field.
When i testing sript it always return only one link type "Linked to Testing". Could you help with it?
My Script:
import com.onresolve.jira.groovy.user.FieldBehaviours
import static com.atlassian.jira.issue.IssueFieldConstants.*
import groovy.transform.BaseScript
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.user.ApplicationUser
def issueManager = ComponentAccessor.getIssueManager()
def contextIssue = issueManager.getIssueObject(getContextIssueId())
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def versionManager = ComponentAccessor.getVersionManager()
def issuelinks = getFieldById("issuelinks-linktype")
if (getBehaviourContextId() == "link-create-blocking") {
getFieldById("project-field").setReadOnly(true)
getFieldById("issuetype-field").setReadOnly(true)
if (contextIssue != "CPWEB-75") {
log.warn "contextIssue : ${contextIssue}"
issuelinks.setFormValue("Linked to Testing").setReadOnly(false)
log.warn "issuelinks : ${issuelinks}"
getFieldById("issuelinks-issues").setFormValue(contextIssue.key).setReadOnly(false)
getFieldById("versions").setFormValue(contextIssue.fixVersions*.id)
def epicLinkCf = customFieldManager.getCustomFieldObjectByName("Epic Link")
def linkedEpic = contextIssue.getCustomFieldValue(epicLinkCf) as Issue
if (linkedEpic) {
getFieldByName("Epic Link").setFormValue(linkedEpic.key).setReadOnly(true)
}
} else {
if (contextIssue == "CPWEB-75") {
log.warn "contextIssue : ${contextIssue}"
issuelinks.setFormValue("is blocked by").setReadOnly(false)
log.warn "issuelinks : ${issuelinks}"
getFieldById("issuelinks-issues").setFormValue(contextIssue.key).setReadOnly(true)
getFieldById("versions").setFormValue(contextIssue.fixVersions*.id)
}
}
}