win*_*ind 14 python jira python-jira jira-rest-api
我想用python-jira更改jira问题状态.python-jira API是http://jira-python.readthedocs.org/en/latest/.我找不到任何方法来执行此操作.我试图使用issue.update(status="Closed").但它没有用 .我在https://developer.atlassian.com/display/JIRADEV/Issue+status+and+workflow中找到了问题状态和工作流程.但我还是不知道是什么要做什么.任何人都可以帮助我吗?
TkT*_*ech 16
我也碰到了这个问题,不幸的是JIRA的灵活性也让它变成了PITA.
要更改故障单上的状态,您需要进行转换,从而将其从一个状态移动到下一个状态.
您需要找到转换ID,然后像这样使用它:
if issue.fields.status in ('open', 'reopened'):
# Move the ticket from opened to closed.
jira.transition_issue(ticket, transition='131')
Run Code Online (Sandbox Code Playgroud)
jira-python文件在这里发现和转换.
jira.transition_issue记录在这里.
要更改状态,您需要在问题上方进行交易。过渡只是在“工作流程”中定义的操作,是将问题从一种状态过渡到另一种状态。从当前状态,您只能执行有限的过渡集,具体取决于“工作流程”。尝试使用以下功能:当前问题状态:
issue = jira.issue('PROJECT-1')
issue.fields.status
Run Code Online (Sandbox Code Playgroud)
JIRA状态:名称=“已提交修复”,id =“ 10827”
问题当前状态的可能过渡:
jira.transitions(issue)
Run Code Online (Sandbox Code Playgroud)
[{'id':'181','name':'修复失败','to':...................}}},{'id':'261','name': '修复已验证','至':{'self':.....}}}]
因此,您可以执行两个过渡:
jira.transition_issue(issue, transition='Fix Failed')
Run Code Online (Sandbox Code Playgroud)
要么
jira.transition_issue(issue, 261)
Run Code Online (Sandbox Code Playgroud)
然后,您可以验证问题是否更改了服务器上的状态:
issue = jira.issue('PROJECT-1')
issue.fields.status
Run Code Online (Sandbox Code Playgroud)
JIRA状态:名称=“修复失败”,ID =“ 10830”
因此,为回答您的问题,如果状态未通过过渡连接,则需要执行更多过渡以将问题从一个状态转移到另一状态。例如.:考虑的工作流程,从这个网址与您的问题当前状态为“ 已解决 ”,让说你想要达到的状态“ 进行中 ”。可以使用类似的代码:
jira.transition_issue(issue, transition='Reopen Issue')
jira.transition_issue(issue, transition='Start Progress')
Run Code Online (Sandbox Code Playgroud)
以下是通过 Python 更新 Jira 问题状态的代码:
from jira import JIRA
JIRA_SERVER = "https://issues.your-company.com/"
jira_user_name = "your_user_name"
jira_password = "your_jira_password"
jira_connection = JIRA(basic_auth=(jira_user_name, jira_password),
server=JIRA_SERVER)
jira_connection.transition_issue("PR-1309", "Start Progress")
Run Code Online (Sandbox Code Playgroud)
这里 PR-1309 是您的 JIRA 问题的 ID。开始进度是针对此问题需要采取的操作。对于 JIRA 的不同客户,操作列表可能有所不同。因此,打开 JIRA 门户并查看适用于 JIRA 问题的可用转换选项。一些过渡动作可以是:-