2014-09-04 11 views
11

Piszę skrypt (w Powershell, jeśli to ma znaczenie) do wdrażania kodu SQL. Częścią logiki, której chcę w skrypcie, jest sprawdzenie, czy problem związany z JIRA związany ze skryptem jest w poprawnym stanie przed wdrożeniem (np. W moim przypadku stan problemu to "QE Certified".)Jak mogę znaleźć status problemu JIRA za pośrednictwem interfejsu API REST?

Próbuję użyć interfejsu API REST interfejsu JIRA, ale jak dotąd nie udało mi się znaleźć sposobu, aby podać aktualny stan problemu. Najbliższe, jakie znalazłem, jest przejrzenie dostępnych dla niego przejść:

https://docs.atlassian.com/jira/REST/5.2/#id251679

To nie daje mi aktualny stan, ale nie mogłem zrozumieć to z dostępnych przejść. To wydaje się trochę kludgy do mnie.

Miałem nadzieję, że będzie coś takiego jak/rest/api/2/issue/{issueIdOrKey}/status, który podałby mi aktualny status.

Jaki byłby najlepszy sposób uzyskania statusu problemu za pośrednictwem interfejsu API REST?

Dzięki

Odpowiedz

15

Można użyć /rest/api/2/issue/{issueIdOrKey} i ustawić parametr pola ograniczyć zwróconych danych do pola statusu.

Więc twoja prośba będzie:

/rest/api/2/issue/{issueIdOrKey}?fields=status 
2

Oto przykładowy wniosek:

/rest/api/2/issue/HTP-55 

HTP-55 jest id problem.

Oto część odpowiedzi, która może ci się przydać.

"status": { 
    "self": "rest/api/2/status/3", 
    "description": "This issue is being actively worked on at the moment by the assignee.", 
    "iconUrl": "images/icons/statuses/inprogress.png", 
    **"name": "In Progress", 
    "id": "3"** 
}, 
4

Można to osiągnąć za pomocą polecenia curl.

Składnia:

curl -u username:password -X GET -H "Content-Type: application/json" 
    https://server-url/rest/api/2/issue/JRA-1?fields=status 
0

Jeśli wolą używać nowszej Jira REST Java Client API (np 4.0) Poniżej znajduje się przykładowy kod.

private static final String JIRA_SERVER = "http://jiralab"; 

public static void main(String[] args) { 
    try { 
     JiraRestClientFactory factory = new AsynchronousJiraRestClientFactory(); 
     URI uri = new URI(JIRA_SERVER); 
     JiraRestClient client = factory.createWithBasicHttpAuthentication(uri, "admin", "admin"); 
     getIssue(client, "ISSUE-1"); 
    } 
    catch (Exception ex) { 
    } 
} 

private static void getIssue(JiraRestClient client, String key) throws Exception { 
    Promise<Issue> promise = client.getIssueClient().getIssue(key); 
    Issue issue = promise.claim(); 
    System.out.println("Summary = " + issue.getSummary() + ", Status = " + (issue.getStatus() != null ? issue.getStatus().getName() : "N/A")); 
} 
Powiązane problemy