Atlassian JIRA Java库在创建时立即将文件附加到任务
使用Atlassian Java API。进行两个步骤: 1。创建问题Atlassian JIRA Java库在创建时立即将文件附加到任务,java,jira,jira-rest-java-api,Java,Jira,Jira Rest Java Api,使用Atlassian Java API。进行两个步骤: 1。创建问题 IssueType it = new IssueType(jiraServerUri, ticket.getTypeId(), ticket.getTypeName(), false, ticket.getTypeName(), null); issueBuilder.setIssueType(it); IssueInput issueInpu
IssueType it = new IssueType(jiraServerUri, ticket.getTypeId(),
ticket.getTypeName(), false, ticket.getTypeName(), null);
issueBuilder.setIssueType(it);
IssueInput issueInput = issueBuilder.build();
Promise<BasicIssue> reply = issueRestClient.createIssue(issueInput);
BasicIssue issue = reply.claim();
LOG.debug("CREATED TICKET:/" + issue.getKey() + "/" + issue + "/");
,其中key
是第一步中的issue.getKey()
因此,它工作得很好,但在我的情况下,由于某些原因(除了讨论这个问题之外),它不起作用
所以,问题是——我能一步完成这两项工作吗?我的意思是,在一个步骤中填写所有问题信息(标题、正文、附件等),然后用一个命令(如
claim()
我想…)将其提交给jira服务器 步骤1您使用的是BasicSue,但步骤2您使用的是com.atlassian.jira.rest.client.api.domain.Issue。为什么?因为issueRestClient.getIssue()
返回此类型。
com.atlassian.jira.rest.client.api.domain.Issue issueWithAttachment = issueRestClient.getIssue(key).claim();
if (attachments != null && ! attachments.isEmpty()) {
attachments.forEach((name, contents) -> {
try {
String attUrl = issueWithAttachment.getAttachmentsUri().toString();
LOG.info("TEMP_ATTACH_LOG: Original attachment url: " + attUrl);
issueRestClient.addAttachment(
new URI(attUrl),
new ByteArrayInputStream(contents.getBytes(ENCODING_DEFAULT)),
name + TXT_POSTFIX_DEFAULT)
.claim();
} catch (UnsupportedEncodingException | URISyntaxException e) {
LOG.error("TEMP_ATTACH_LOG Error: " + e.getMessage());
}
});
}
return key;