web-dev-qa-db-ja.com

REST APIを介してJIRA課題のステータスを確認するにはどうすればよいですか?

SQLコードをデプロイするためのスクリプト(Powershellで重要な場合)を書いています。スクリプトに必要なロジックの一部は、スクリプトに関連付けられたJIRAの問題がデプロイ前に正しいステータスであることを確認することです(たとえば、問題のステータスが「QE認定」である場合)。

JIRA REST APIを使用しようとしていますが、これまでのところ、問題の現在のステータスを確認する方法を見つけることができませんでした。最も近いのは、この問題で利用できる移行:

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

これは私に現在のステータスを与えませんが、利用可能な遷移からそれを理解することができました。それは私には少しぎこちないようです。

問題の現在のステータスを示す/ rest/api/2/issue/{issueIdOrKey}/statusのようなものがあることを望んでいました。

REST APIを使用して問題のステータスを取得するための最良の方法は何ですか?

ありがとう

18
user3570706

/rest/api/2/issue/{issueIdOrKey} を返し、fields-parameterを設定して、返されるデータをステータスフィールドに制限します。

だからあなたの要求は次のようになります:

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

これは、curlコマンドを使用して実現できます。

構文:

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

これがサンプルリクエストです:

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

HTP-55は問題IDです。

以下は、あなたに役立つ可能性のある応答の一部です。

"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"**
},
6
Hiren Savalia

後のJira REST JavaクライアントAPI(例:4.0))を使用したい場合、以下はサンプルコードです。

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"));
}
1
PerseusBC