Jira Server:用于创建链接问题的按钮
Jira Server: Button for creating a linked issue
在我们的项目中,一个需求类型的 Jira 问题link被编辑为 n 个功能规范 (FS) 类型的问题。我需要的是 Requirement issue 上的一个按钮来创建 FS issue,然后 link 它会自动以某种方式解决 Requirement issue。
对了,我们还在用Jira Server。我们可能会在几年内迁移到 Jira Cloud(因为 Jira Server 已停产),但我想当它发生时我们将需要再次解决这个问题。
方法:
- Adaptavist ScriptRunner 中有一个“约束创建问题对话框”片段。有了这个,我可以有一个“创建 FS”按钮,它在创建指定类型的问题时起作用。但是怎么才能link把新的问题改成原来的问题呢?
- 在 Adaptavist ScriptRunner 中有一个“Clones an issue, and links”listener 可以指定它来做我想做的事情,包括正确的 linking。是否有可能以某种方式将它连接到按钮?目前我正在听新的评论主体是否等于“createFS”,这并不是一个理想的解决方案。但至少我可以自动删除评论。健康)状况:
issue.issueType.name == 'Requirement' && event.getComment().getBody().equals('createFS') && com.atlassian.jira.component.ComponentAccessor.getCommentManager().delete(event.getComment())
使用 Adaptavist ScriptRunner for Jira 的解决方案
第一步:创建问题的片段
片段 → 创建脚本片段 → 约束创建问题对话框
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
第二步:一个行为link两个问题
行为 → 添加行为
- 初始化程序:
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)
}
在我们的项目中,一个需求类型的 Jira 问题link被编辑为 n 个功能规范 (FS) 类型的问题。我需要的是 Requirement issue 上的一个按钮来创建 FS issue,然后 link 它会自动以某种方式解决 Requirement issue。
对了,我们还在用Jira Server。我们可能会在几年内迁移到 Jira Cloud(因为 Jira Server 已停产),但我想当它发生时我们将需要再次解决这个问题。
方法:
- Adaptavist ScriptRunner 中有一个“约束创建问题对话框”片段。有了这个,我可以有一个“创建 FS”按钮,它在创建指定类型的问题时起作用。但是怎么才能link把新的问题改成原来的问题呢?
- 在 Adaptavist ScriptRunner 中有一个“Clones an issue, and links”listener 可以指定它来做我想做的事情,包括正确的 linking。是否有可能以某种方式将它连接到按钮?目前我正在听新的评论主体是否等于“createFS”,这并不是一个理想的解决方案。但至少我可以自动删除评论。健康)状况:
issue.issueType.name == 'Requirement' && event.getComment().getBody().equals('createFS') && com.atlassian.jira.component.ComponentAccessor.getCommentManager().delete(event.getComment())
使用 Adaptavist ScriptRunner for Jira 的解决方案
第一步:创建问题的片段
片段 → 创建脚本片段 → 约束创建问题对话框
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 |
第二步:一个行为link两个问题
行为 → 添加行为
- 初始化程序:
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)
}