gpt4 book ai didi

java - 如何通过 java 检索附件列表 JIRA rest api?

转载 作者:搜寻专家 更新时间:2023-11-01 02:22:49 25 4
gpt4 key购买 nike

如何使用 JIRA API 和 Java 获取附件列表?我不需要附件,我只想知道那里有什么附件,以及它们的 ID。我遵循了使用查询来获取问题的基础知识,并且我遇到了问题,但不是他们的附件。我的代码:

[String searchQuery = "(created >= '2015/12/1' ) AND (created < '2016/01/1')" 
JiraAuthentication jiraAuth;
JiraRestClient arc;
// Get JiraAuthentication instance to create basic HTTP authentication
// string
jiraAuth = JiraAuthentication.getInstance();

// Make sure you use a new instance
jiraAuth.initInstance();
jiraAuth = JiraAuthentication.getInstance();

// Get the JIRA Rest Client from the basic HTTP authentication
jrc = jiraAuth.getJrc();

// Receive search results based on query
SearchRestClient searchClient = jrc.getSearchClient();
// limit results to 50
SearchResult result = searchClient.searchJql(searchQuery, 50,0, null);
Iterator<BasicIssue> itIssue = result.getIssues().iterator();

// pull information on individual issues.
while (itIssue.hasNext()) {
BasicIssue lBasicIssue = (BasicIssue) itIssue.next();
String lIssueKey = lBasicIssue.getKey();
Issue issue = jrc.getIssueClient().getIssue(lIssueKey, null);
//This line should print the list of attachments. but everything is always null.
System.out.println(issue.getAttachements());
}][1]

我尝试获取信息的一个示例来自 HBASE-15062,它具有 API link .在 api 链接中没有显示任何附件,但在实际链接中有 4 个附件。

我知道 Jira api 调用 api/2/issue/{issueIdOrKey}/attachments

我试过了:api/2/issue/12925031/attachments我收到响应 HTTP Status 405 - Method Not Allowed 这是否意味着我无法获取附件列表或者我只是在执行请求错误?

如何更改我的 java 代码以获取附件?是否可以从 APACHE JIRA 获取附件?

最佳答案

据我所知,在 Atlassian JIRA 中有一张票可用于您的体验:REST issue get no longer shows attachments information . this comment 中甚至提到了 Apache 的 JIRA 案例.引用 another comment :

Attachments are visible in Issue View webpage, but not visible on REST while the field is hidden from the default screen.

bug已经解决了,但是用户好像不太喜欢,demand a proper fix :

The "Resolution" above is not a resolution but a workaround for this bug. A proper resolution is for Atlassian to fix this bug so that attachments are always listed in the JSON. There is no way a GUI setting should affect the REST API JSON output - that's clearly wrong! Please reopen and fix this issue.

我同意他们的观点,但这并没有改变这样一个事实,即目前您要完全实现目标的唯一选择是让 Apache 处理该问题。无论如何,我似乎有一个解决方法。

解决方法

我不知道您使用的客户端工具,因此我将使用纯 REST 方法描述解决方法。将附件添加到问题时,事件会记录在票证的更改日志中:

https://issues.apache.org/jira/rest/api/2/issue/HBASE-15062?expand=changelog

{
(...),
"changelog": {
"startAt":0,
"maxResults":8,
"total":8,
"histories":[
(...),
{
"id":"15174314",
"author":{...},
"created":"2015-12-31T15:55:43.318+0000",
"items":[
{
"field":"Attachment",
"fieldtype":"jira",
"from":null,
"fromString":null,
"to":"12780132",
"toString":"HBASE-15062-v0.patch"
}
]
},
{
"id":"15174320",
"author":{...},
"created":"2015-12-31T16:06:03.165+0000",
"items":[
{
"field":"Attachment",
"fieldtype":"jira",
"from":null,
"fromString":null,
"to":"12780133",
"toString":"HBASE-15062-v1.patch"
}
]
},
{
"id":"15184002",
"author":{...},
"created":"2016-01-04T08:04:50.969+0000",
"items":[
{
"field":"Attachment",
"fieldtype":"jira",
"from":null,
"fromString":null,
"to":"12780273",
"toString":"HBASE-15062-v1.patch"
}
]
},
{
"id":"15187193",
"author":{...},
"created":"2016-01-05T21:30:48.977+0000",
"items":[
{
"field":"Attachment",
"fieldtype":"jira",
"from":null,
"fromString":null,
"to":"12780629",
"toString":"HBASE-15062-v1.patch"
}
]
},
(...)
]
}
}

让我们考虑日志中 ID 为 12780132 的第一个附件。知道 ID 后,您可以查询 API 以获取附件的详细信息:

https://issues.apache.org/jira/rest/api/2/attachment/12780132

{  
"self":"https://issues.apache.org/jira/rest/api/2/attachment/12780132",
"filename":"HBASE-15062-v0.patch",
"author":{
"self":"https://issues.apache.org/jira/rest/api/2/user?username=asamir",
"key":"asamir",
"name":"asamir",
"avatarUrls":{
"48x48":"https://issues.apache.org/jira/secure/useravatar?avatarId=10452",
"24x24":"https://issues.apache.org/jira/secure/useravatar?size=small&avatarId=10452",
"16x16":"https://issues.apache.org/jira/secure/useravatar?size=xsmall&avatarId=10452",
"32x32":"https://issues.apache.org/jira/secure/useravatar?size=medium&avatarId=10452"
},
"displayName":"Samir Ahmic",
"active":true
},
"created":"2015-12-31T15:55:43.304+0000",
"size":2173,
"mimeType":"text/x-patch",
"properties":{

},
"content":"https://issues.apache.org/jira/secure/attachment/12780132/HBASE-15062-v0.patch"
}

现在您拥有下载附件的所有信息:

https://issues.apache.org/jira/secure/attachment/12780132/HBASE-15062-v0.patch .

希望对你有帮助,保重!

关于java - 如何通过 java 检索附件列表 JIRA rest api?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34731065/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com