issue documentacion create rest jira

documentacion - ¿Cómo puedo encontrar el estado de un problema de JIRA a través de la API REST?



jira rest client (4)

Estoy escribiendo un script (en Powershell si eso importa) para implementar el código SQL. Parte de la lógica que quiero en el script es hacer que compruebe que el problema de JIRA asociado con el script está en el estado correcto antes de la implementación (por ejemplo, en mi caso, el estado del problema es "QE Certified").

Estoy tratando de usar la API REST de JIRA, pero hasta ahora no he podido encontrar la manera de darme el estado actual de un problema. Lo más cercano que he encontrado es mirar las transiciones disponibles para el problema:

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

Esto no me da el estado actual, pero podría resolverlo a partir de las transiciones disponibles. Eso me parece un poco torpe.

Esperaba que hubiera algo como / rest / api / 2 / issue / {issueIdOrKey} / status que solo me diera el estado actual del problema.

¿Cuál sería la mejor manera de obtener el estado del problema a través de la API REST?

Gracias


Aquí está la solicitud de muestra:

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

HTP-55 es ID de problema.

Aquí está la parte de la respuesta que puede ser útil para usted.

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


Se puede lograr usando el comando curl.

Sintaxis:

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


Si prefiere utilizar la API del cliente de Java Jira REST posterior (por ejemplo, 4.0), a continuación se muestra el código de ejemplo.

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


Puede usar /rest/api/2/issue/{issueIdOrKey} y configurar el parámetro fields para restringir los datos devueltos al campo de estado.

Entonces tu solicitud sería:

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