Saltar al contenido

¿Es posible cambiar el estado del problema de jira con python-jira?

Solución:

También me encontré con esto, y desafortunadamente la increíble flexibilidad de JIRA también lo convierte en un PITA a veces.

Para cambiar el estado de un ticket, debe realizar una transición, que lo mueve de un estado al siguiente.

Necesita encontrar sus ID de transición, luego usarlo así:

if issue.fields.status in ('open', 'reopened'):
    # Move the ticket from opened to closed.
    jira.transition_issue(ticket, transition='131')

documentos de jira-python que descubren y hacen transiciones aquí.

jira.transition_issue está documentado aquí. De hecho, puede utilizar el nombre (ex: 'Closed') de la transición en lugar del ID, pero el ID es más confiable ya que no cambiará.

Para cambiar el estado, debe realizar la transacción por encima del problema. La transición es solo una operación que se define en el ‘flujo de trabajo’ y el problema del tránsito de un estado a otro. Desde el estado actual, puede realizar un conjunto limitado de transición, que depende del “flujo de trabajo”. Intente utilizar las siguientes funciones: Estado del problema actual:

issue = jira.issue('PROJECT-1')
issue.fields.status

Estado de JIRA: nombre = “Arreglo enviado”, id = ‘10827’

Posibles transiciones para el estado actual del problema:

jira.transitions(issue)

[{‘id’: ‘181’, ‘name’: ‘Fix Failed’, ‘to’: ……….}}}, {‘id’:
‘261’, ‘name’: ‘Fix Verfied’, ‘to’: {‘self’:…..}}}]

Entonces puedes realizar dos transiciones:

jira.transition_issue(issue, transition='Fix Failed')

o

jira.transition_issue(issue, 261)

Luego, puede verificar que su problema cambió de estado en el servidor:

issue = jira.issue('PROJECT-1')
issue.fields.status

Estado de JIRA: nombre = “Error de reparación”, id = ‘10830’

Entonces, en respuesta a su pregunta, debe realizar más transición para transferir el problema de un estado a otro si los estados no están conectados por la transición. p. ej .: considere el flujo de trabajo de esta URL y el estado actual de su problema es “RESUELTO“, y digamos que quieres alcanzar el estatus”EN CURSO“. Se puede utilizar un código similar:

jira.transition_issue(issue, transition='Reopen Issue')
jira.transition_issue(issue, transition='Start Progress')
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *