如何从Groovy

时间:2016-07-11 14:56:13

标签: groovy jira

我正在使用JIRA 7.1.4服务器并且在行为下我正在尝试创建一个Groovy Initialiser函数来设置表单字段的默认值,因此当用户尝试创建新票证时,某些字段已经填写使用默认值。这就是我到目前为止所做的:

import com.atlassian.jira.component.ComponentAccessor

def versionManager = ComponentAccessor.getVersionManager()
def versions = versionManager.getVersionsUnreleased(issueContext.projectObject.id, false)
getFieldById("affectedVersion").setFormValue([versions.first().id])
getFieldById("description").setFormValue([versions.first().id])

当打开创建新JIRA票证的对话框时,此脚本会成功将“Description”字段设置为正确的版本ID(仅用于调试目的),但“Affects Version / s”字段由于某种原因仍为空。

我认为“Affects Version / s”字段的ID是正常的,因为我是从JQL获得的,所以例如以下查询显示正确的信息:

project = "--------" and affectedVersion is EMPTY

因此我假设我正在尝试错误地设置版本字段的值,但无法弄清楚错误。上面的Groovy脚本基于this example,但脚本可能有误,我无法找到有关getFieldByIdsetFormValue here的更多信息。

任何人都可以举一个从Groovy设置JIRA的“Affects Version / s”或“Fix Version / s”字段的工作示例吗?

1 个答案:

答案 0 :(得分:0)

如果您在问题上设置fixversion,请在工作流程中创建步骤。您需要将此脚本放入第一个post函数(在创建问题之前)。

import com.atlassian.jira.component.ComponentAccessor
def versionManager = ComponentAccessor.getVersionManager()
def versions = versionManager.getVersionsUnreleased(issue.getProjectObject().getId(), false)
issue.setAffectedVersions([versions.first()])