使用转换引发异常编辑JIRA问题的解决方案
我有两个JIRA项目,例如使用转换引发异常编辑JIRA问题的解决方案,jira,jira-plugin,jira-rest-api,Jira,Jira Plugin,Jira Rest Api,我有两个JIRA项目,例如DEV和CLIENT。当DEV项目中的问题解决更改为DONE时,我想将CLIENT项目中的问题解决设置为DONE 为此,我编写了以下代码: public void changeTransition(com.atlassian.jira.issue.Issue devIssue, Issue clientIssue, JiraRestClient restClient) { IssueRestClient issueClient = restClient.getI
DEV
和CLIENT
。当DEV
项目中的问题解决更改为DONE
时,我想将CLIENT
项目中的问题解决设置为DONE
为此,我编写了以下代码:
public void changeTransition(com.atlassian.jira.issue.Issue devIssue, Issue clientIssue, JiraRestClient restClient) {
IssueRestClient issueClient = restClient.getIssueClient();
Iterable<Transition> transitions = issueClient.getTransitions(clientIssue.getTransitionsUri()).claim();
final Transition doneIssueTransition = getTransitionByName(transitions, "Done"); //this returns done Transition
if (doneIssueTransition != null) {
ImmutableList.Builder<FieldInput> builder = ImmutableList.builder();
builder.add(new FieldInput(IssueFieldId.RESOLUTION_FIELD, ComplexIssueInputFieldValue.with("name", devIssue.getResolution().getName())));
ImmutableList<FieldInput> fieldInputs = builder.build();
TransitionInput transitionInput = new TransitionInput(doneIssueTransition.getId(), fieldInputs, prepareComment(devIssue));
issueClient.transition(clientIssue.getTransitionsUri(), transitionInput).claim();
}
}
代码有什么问题吗?这个例外意味着什么?要解决此问题,我应该做哪些更改?是
DEV
和CLIENT
共享相同的工作流吗?如果不是,转换的ID可能会有所不同。确保查找ID是否实际相同。@SgtTrace yes两者共享相同的工作流。关于转换id,我使用的是客户端项目中的转换iddone transition
,这样就可以了,对吗?您必须记住,转换是从一个特定状态到另一个特定状态的。因此,如果您想从进行中
转换到完成
,则ID不同于从等待
转换到完成
。因此,您需要做的基本上是根据目标和源状态的元组进行切换,然后进行相应的转换。这可能会根据您使用的状态进行各种转换。@SgtTrace我尝试更新的任何字段都会遇到相同的异常。DEV
和CLIENT
是否共享相同的工作流?如果不是,转换的ID可能会有所不同。确保查找ID是否实际相同。@SgtTrace yes两者共享相同的工作流。关于转换id,我使用的是客户端项目中的转换iddone transition
,这样就可以了,对吗?您必须记住,转换是从一个特定状态到另一个特定状态的。因此,如果您想从进行中
转换到完成
,则ID不同于从等待
转换到完成
。因此,您需要做的基本上是根据目标和源状态的元组进行切换,然后进行相应的转换。根据您使用的状态,这可能需要不同的转换。@SgtTrace对于任何试图更新的字段,我都会遇到相同的异常。
Field 'resolution' cannot be set. It is not on the appropriate screen, or unknown.