到目前为止,我只能与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();
}
}
}
答案 0 :(得分:0)
由于似乎您想使用/search
端点(因为您准备了JQL语句),因此可以使用查询参数来确定应返回哪些字段。只需使用/search?fields=issuekey,summary,description
之类的URL定义要返回的字段列表(别忘了也定义您的JQL)。可用字段的完整列表可通过/field
端点进行访问,请参见REST API docs here。您还可以在REST API docs中为/search
端点找到更多查询参数。