Est-il possible de changer le statut de Jira issue avec python-jira?
je veux changer le statut de Jira issue avec python-jira.L'API python-jira est http://jira-python.readthedocs.org/en/latest/<!--3Je ne peux pas trouver un moyen de le faire.
J'ai essayé d'utiliser issue.update(status="Closed")
.Mais il ne fonctionne pas.J'ai trouvé L'État de la question et le flux de travail dans https://developer.atlassian.com/display/JIRADEV/Issue+status+and+workflow<!--3Mais je ne sais toujours pas quoi faire.Quelqu'un peut-il m'aider?
3 réponses
j'ai rencontré ça aussi, et malheureusement L'incroyable flexibilité de JIRA en fait aussi une PITA parfois.
pour changer le statut sur un ticket, vous devez faire un transition, qui le déplace d'un statut à l'autre.
vous devez trouver vos ID de transition, puis l'utiliser comme suit:
if issue.fields.status in ('open', 'reopened'):
# Move the ticket from opened to closed.
jira.transition_issue(ticket, transitionId=131)
jira-python documents de découvrir et de faire des transitions ici.
pour changer le statut, vous devez effectuer le mouvement au-dessus du numéro. La Transition est juste l'opération qui est définie dans le "flux de travail", et la question de transit d'un État à l'autre. À partir de l'état actuel, vous pouvez effectuer tout ensemble limité de transition, qui dépend de "workflow". Essayez d'utiliser les fonctions suivantes: Actuel état du problème:
issue = jira.issue('PROJECT-1')
issue.fields.status
JIRA Statut: nom='Fix soumis' id='10827'
transitions possibles pour l'état actuel de la question:
jira.transitions(issue)
[{'id': '181', 'nom': 'Fix Failed','': ..........}}}, {'id': "261", "name": "Fixed verified", "to": {"self":.....}}}]
alors vous pouvez effectuer deux transitions:
jira.transition_issue(issue, transition='Fix Failed')
ou
jira.transition_issue(issue, 261)
alors vous pouvez vérifier que votre problème a changé de statut sur le serveur:
issue = jira.issue('PROJECT-1')
issue.fields.status
JIRA Statut: nom='Fix échoué", id='10830'
donc, en réponse à votre question, vous devez effectuer plus de transition pour transférer la question d'un État à un autre si les États ne sont pas connectés par la transition. par exemple.: Envisager de flux de travail à partir de cette url et que votre problème actuel de l'état est " résolu", et disons que vous voulez atteindre le statut de " EN COURS". Un code similaire peut être utilisé:
jira.transition_issue(issue, transition='Reopen Issue')
jira.transition_issue(issue, transition='Start Progress')
mon cas d'utilisation était seulement pour changer le statut du billet.
Tout ce que vous devez changer dans votre précédente tentative est ne mentionnent pas explicitement le mot transitionId=
Cela a fonctionné pour moi.
jira.transition_issue(issue, '31')