2

我有一个要求,我需要在 jira 中获取特定项目的所有问题,因此为此我创建了一个控制台应用程序,该应用程序具有 rest 客户端类,我使用该类进行 GET 请求调用并用于测试目的,rest api url 是

https://jira.atlassian.com/rest/api/latest/issue/JRA-9

使用这个 url 我创建了一个 HttpWebRequest 并以 json 格式的字符串返回响应。现在这个 json 字符串包含所有特定问题的信息,但我的实际要求是获取所有项目特定问题。

我试图找出我是否从我得到 json 回复的地方获得任何用于测试目的的项目特定 URL,但我发现http://kelpie9:8081/rest/api/2/search?jql=project=QA+order+by+duedate&fields=id,key但为此我得到“无法解析远程名称:'kelpie9'”错误。

你能帮我解决这个问题吗?`

4

1 回答 1

6

JIRA 的 REST API 目前似乎不支持任何project基于searchAPI的查询。

您可以使用 JQL 在搜索中指定特定项目。假设您知道一个项目(例如,“JRA-9”中的“JRA”),那么您可以快速搜索它的所有问题:

工作结果:https://jira.atlassian.com/rest/api/latest/search?jql=project=JRA

一个重要的注意事项是结果返回实际总数与实际返回的值:

"startAt":0,"maxResults":50,"total":30177

您可以将查询字符串变量添加到请求中以获得更多(或更少)结果。您还可以控制与要检索的问题相关的字段:( https://jira.atlassian.com/rest/api/latest/search?jql=project=JRA&startAt=75&maxResults=75请求越多越慢,并且可能不太好用大量数字访问他们的公共服务器)。

您甚至可以POST使用表示查询的 JSON 对象(从链接的search文档中稍作调整):

{"jql":"project = JRA","startAt":75,"maxResults":75,"fields":["id","key"]}

有趣的是,作为 JQL 的一部分,您可以按任何字段对结果进行排序。只需在项目名称中添加“order by id”,如查询字符串或ed JSON 正文"jql": "project = JRA order by id"中的“jql=JRA+order+by+id”。POST


注意:以上是真实问题的实际答案。但是,字面问题是“无法解析远程名称:“kelpie9”错误的原因。

他们的文档显示kelpie9为他们正在内部测试的示例服务器名称,在 port 上运行8081。您的计算机不知道名为 的服务器/机器kelpie9,因为它不公开存在。替换kelpie9为您的 JIRA 服务器的主机名在内部以及8081它正在使用的任何端口(或者如果您在 Intranet 站点上查看 JIRA 时没有看到任何端口,则将其删除,这意味着端口 80 用于 http,端口 443 用于 https)。例如,许多公司运行它一个"https://jira/". 您可以将示例链接替换为https://jira/rest/api/2/search?jql=project=QA+order+by+duedate&fields=id,key.

于 2013-09-24T05:40:28.747 回答