如何在 .NET 中使用 Jira REST API 获取项目特定的 Jira 问题
本文关键字:Jira 项目 获取 问题 API REST NET | 更新日期: 2023-09-27 18:32:34
我有一个要求,我需要在 jira 中获取特定项目的所有问题,因此为此我创建了一个控制台应用程序,该应用程序具有 rest 客户端类,我使用它进行 GET 请求调用,出于测试目的,REST API URL 是
"https://jira.atlassian.com/rest/api/latest/issue/JRA-9"
使用此 url,我创建一个 HttpWebRequest 并以 JSON 格式的字符串返回响应。现在这个 json 字符串包含所有特定于问题的信息,但我的实际要求是获取所有项目特定问题。
我试图找出我是否从那里得到任何用于测试目的的项目指定 URL,我从那里得到 json 回复,我找到了http://kelpie9:8081/rest/api/2/search?jql=project=QA+order+by+duedate&fields=id,key
但为此我得到了"无法解析远程名称:'kelpie9'"错误。
你能帮我吗?`
JIRA的REST API目前似乎不支持任何独立于其search
API的基于project
的查询。
可以使用 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",如查询字符串中的"jql=JRA+order+by+id"或POST
ed JSON正文中的"jql": "project = JRA order by id"
。
注意:以上是真实问题的实际答案。但是,字面问题是"无法解析远程名称:"kelpie9"错误的原因。
他们的文档将kelpie9
作为他们在内部测试的示例服务器名称,在端口 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
。