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

时间:2019-02-27 12:12:39

标签: java jira-rest-api

到目前为止,我只能与Jira建立连接,但是我不知道如何获取特定字段。据我了解,JIRA API的SearchResult类将解决此问题,但我不知道如何将其集成到现有代码中。任何帮助将非常感激。

Java版本-8 作业系统-Windows 10, Eclipse-火星

/ *使用的罐子:     jersey-bundle-1.9.jar(https://mvnrepository.com/artifact/com.sun.jersey/jersey-bundle/1.9)     javax.ws.rs-api-2.0-m02.jar(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 个答案:

答案 0 :(得分:0)

由于似乎您想使用/search端点(因为您准备了JQL语句),因此可以使用查询参数来确定应返回哪些字段。只需使用/search?fields=issuekey,summary,description之类的URL定义要返回的字段列表(别忘了也定义您的JQL)。可用字段的完整列表可通过/field端点进行访问,请参见REST API docs here。您还可以在REST API docs中为/search端点找到更多查询参数。