Marcus
Marcus

Reputation: 2101

Jira Server: Button for creating a linked issue

In our project, one Jira issue of type Requirement is linked to n issues of type Functional Specification (FS). What I need is a button on a Requirement issue to create a FS issue and then link it automatically in a certain way to the Requirement issue.

By the way, we are still using Jira Server. We will probably move to Jira Cloud in some years (because Jira Server is discontinued), but I guess we will need to resolve this problem again when it happens.

Approaches:

Upvotes: 0

Views: 1688

Answers (1)

Marcus
Marcus

Reputation: 2101

Solution using Adaptavist ScriptRunner for Jira

First step: a fragment to create the issue

Jira administration → Manage apps → Fragments → Create Script Fragments → Constrained create issue dialog with

Name Value Remark
What section should this go in operations-work to have the button respectively menu item it in the “More” menu of the current issue
Key create-linked-fs needed to be referenced in the second step
Weight 1 Place in the menu in case you specify more custom buttons
Condition issue.issueType.name == 'Requirement' matching type of current issue
Issue Type Functional Specification type of the new issue

Second step: a behaviour to link the two issues

Behaviours → Add Behaviour

  • Initialiser:
import com.atlassian.jira.component.ComponentAccessor

def issueManager = ComponentAccessor.getIssueManager()

if (getBehaviourContextId() == "create-linked-fs") {
    getFieldById("project-field").setReadOnly(true)
    getFieldById("issuetype-field").setReadOnly(true)
    def contextIssue = issueManager.getIssueObject(getContextIssueId())
    getFieldById("issuelinks-linktype").setFormValue("trace up to").setReadOnly(true)
    getFieldById("issuelinks-issues").setFormValue(contextIssue.key).setReadOnly(true)
}
  • Mapping: Select which project(s) and issue type(s) apply.

Upvotes: 2

Related Questions