-1

在我检查的所有来源上,这个问题的答案都已过时或不完整。

这里有些例子:

使用 Java 删除 JIRA 中的问题

如何以编程方式将值保存到 JIRA 中的自定义字段中?

JIRA使用java创建问题

在 JIRA 中自动更改自定义字段值

Jira:如何在自定义 IssueEventListener 中获取自定义字段的先前值

使用 jira 中的 REST api 修改自定义字段名称后,CustomFieldManager 未获取自定义字段

我没有足够的声誉来评论任何这些问题。但我有一个答案。

4

1 回答 1

1

所以这是我的决议:

CustomField csUserField = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName(fieldName);
IssueService issueService = ComponentAccessor.getIssueService();
IssueInputParameters issueInputParameters = issueService.newIssueInputParameters();
issueInputParameters.addCustomFieldValue(csUserField.getId(), value_string);
issueInputParameters.setSkipScreenCheck(true);
issueInputParameters.setRetainExistingValuesWhenParameterNotProvided(true, true);
UpdateValidationResult updateValidationResult = issueService.validateUpdate(user, issue.getId(), issueInputParameters);  
if (updateValidationResult.isValid())
{
    IssueResult updateResult = issueService.update(user, updateValidationResult);
    if (!updateResult.isValid())
    {
        log.warn("ISSUE has NOT been updated. Errors: {}\n", updateResult.getErrorCollection().toString());
    }
    else
    {
        log.warn("ISSUE has been updated.\n");
    }
}
else
{
    log.warn("ISSUE has NOT been updated. Errors: {}\n", updateResult.getErrorCollection().toString());
}
于 2017-01-17T16:11:09.987 回答