当前位置: 首页 > 知识库问答 >
问题:

如何使用RESTAPI在Java中检索特定的JIRA字段

司雅畅
2023-03-14

到目前为止,我只能与Jira建立连接,但我不知道如何获取特定字段。据我所知,JIRA API的SearchResult类可以解决这个问题,但我不知道如何将它集成到我现有的代码中。任何帮助都将不胜感激。

Java版本-8,操作系统-视窗10,日蚀-火星

/*使用的罐子:jersey-bundle-1.9。罐子(https://mvnrepository.com/artifact/com.sun.jersey/jersey-bundle/1.9)javax。ws。rs-api-2.0-m02。罐子(https://mvnrepository.com/artifact/javax.ws.rs/javax.ws.rs-api/2.0-m02) */

import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.ClientResponse;
import com.sun.jersey.api.client.WebResource;
import com.sun.jersey.core.util.Base64;
public class JiraData {
static ClientResponse response;

public static void main(String[] args) {


try
{

String auth = new String(Base64.encode("username" + ":" + "password"));
final String headerAuthorization = "Authorization";
final String headerAuthorizationValue = "Basic " + auth;
final String headerType = "application/json";
Client c = Client.create();


WebResource webResource = c.resource("https://jira.com");
response = webResource.header(headerAuthorization, headerAuthorizationValue).type(headerType).accept(headerType).get(ClientResponse.class);
String connectionresult = response.toString();
System.out.println(connectionresult); // returned a response status of 200 OK

if (response.getResponseStatus() != null && response.getResponseStatus().getStatusCode() == 200)
{
System.out.println("Connection Successful");
fetchFields();
}


}

catch(Exception e)
{
System.out.println(" Connection Error " + e);
}




}

private static void fetchFields() {

try
{

String jql = "project = SAMPLE";
/*
* Missing logic to Capture Jira fields like Ticket Number, Ticket URL, Issue Type, Ticket Status for project passed in jql
*/


}

catch(Exception e)
{
System.out.println(" Error from fetchFields method " + e);
}

finally
{
response.close();

}


}

}

共有1个答案

锺离自明
2023-03-14

因为您似乎想要使用/searchendpoint(因为您准备了一个JQL语句),所以可以使用查询参数来确定应该返回哪些字段。只需使用像/search这样的URL?fields=issuekey、summary、description定义要返回的字段列表(别忘了定义JQL)。可用字段的完整列表可以通过/fieldendpoint访问,请参见此处的REST API文档。您还可以在RESTAPI文档中找到/searchendpoint的更多查询参数。

 类似资料:
  • excel表格示例(我使用的是更大的excel表格): 让我们建议我选择第3行。如何检索存在x'的列的名称?对于第3行,我想在控制台上显示“column2 column3 column5”。我还试图从一个特定的列索引开始,因此我有一个偏离了x的列--

  • 我已经看过ZAPI文档,到目前为止,我可以得到测试周期id和执行id,这样我就可以执行测试用例,在Zephyr中编写测试用例的结果。然而,我在测试用例中有更多的测试步骤。现在,我想将各个测试步骤的结果写入Zephyr(Jira)。能否提供相同的示例代码(首选Java)。请提供一个示例代码。 我到目前为止的方法:(在网上找到) 通过使用API“/rest/zapi/latest/stepResult

  • 我将一些数据存储为neo4j节点。此节点具有一些关联的C#类未描述的属性,因此在neo4jclient查询返回时不会自动映射回该类。 例如,这个C类: 存储在neo4j中,然后使用以下neo4jclient fluent代码检索: 将用名称和编号填充Node对象,但保留对CustomClass对象的空引用。 为了解决这个问题,我将CustomClass序列化为JSON字符串,并将其作为字符串属性存

  • 我能够使用CURL命令在JIRA中创建一个票证,并且手头有一个json数据。 curl-D--u:-X POST--data@ 我现在正试图更新生成的票证的状态,但出现以下错误<代码>{“errorMessages”:[],“errors”:{“status”:“无法设置字段‘status’。它不在适当的屏幕上,或未知。”} 卷曲命令: 旋度-D--u

  • 问题内容: 我正在使用一个每个键有两个值的Multimap。下面是我用来分别获取每个值的代码: 代码的第一位获取第一个对象值: 然后,我正在使用另一种方法来检索其他值。此方法将第一个对象作为参数: 这似乎是一种“骇人的”做事方式,那么我有什么办法可以更轻松地获得价值? 问题答案:

  • 当我试图检索recycleview中保存的数据时,它们显示的是所有用户的数据,而不是登录的用户。有人能帮忙吗?