是否可以使用python jira更改jira问题状态?

是否可以使用python jira更改jira问题状态?,python,jira,jira-rest-api,python-jira,Python,Jira,Jira Rest Api,Python Jira,我想用python-jira更改jira问题状态。python-jira API是。我找不到任何方法来执行此操作。 我试图使用issue.update(status=“Closed”)。但它不起作用。我在中找到了问题状态和工作流程。但我仍然不知道该怎么办。有人能帮我吗?我也遇到了这个问题,不幸的是,JIRA难以置信的灵活性也使它有时成为PITA 要更改票证的状态,您需要创建一个,将其从一个状态移动到下一个状态 您需要找到您的转换ID,然后像这样使用它: if issue.fields.statu

我想用python-jira更改jira问题状态。python-jira API是。我找不到任何方法来执行此操作。
我试图使用
issue.update(status=“Closed”)
。但它不起作用。我在中找到了问题状态和工作流程。但我仍然不知道该怎么办。有人能帮我吗?

我也遇到了这个问题,不幸的是,JIRA难以置信的灵活性也使它有时成为PITA

要更改票证的状态,您需要创建一个,将其从一个状态移动到下一个状态

您需要找到您的转换ID,然后像这样使用它:

if issue.fields.status in ('open', 'reopened'):
    # Move the ticket from opened to closed.
    jira.transition_issue(ticket, transition='131')
jirapython文档发现和进行转换


jira.transition\u问题
已记录在案。实际上,您可以使用转换的名称(例如:
“Closed”
)而不是ID,但是ID更可靠,因为它不会更改。

我的用例只是更改票据的状态。
在以前的尝试中,您需要做的所有更改是不要明确提到单词
transitionId=

这对我有用

jira.transition_issue(issue, '31')

要更改状态,您需要执行问题上方的事务。转换只是“工作流”中定义的操作,以及从一种状态到另一种状态的转换问题。 根据当前状态,您可以执行有限的转换集,这取决于“工作流”。 尝试使用以下功能: 当前发行状态:

issue = jira.issue('PROJECT-1')
issue.fields.status
JIRA状态:name='Fix submitted',id='10827'


问题当前状态的可能转换:

jira.transitions(issue)
[{'id':'181','name':'Fix Failed','to':…..}},{'id': '261','name':'Fix verified','to':{'self':…}]

因此,您可以执行两个转换:

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

然后,您可以验证您的问题在服务器上的状态是否已更改:

issue = jira.issue('PROJECT-1')
issue.fields.status
JIRA状态:name='Fix failed',id='10830'

所以,在回答您的问题时,您需要执行更多的转换,以将问题从一个状态转移到另一个状态,如果这些状态没有通过转换连接。 考虑工作流,您的问题当前状态是“<强>解析< /强>”,并假设您想要实现状态“<强>正在进行< /强>”。可以使用类似的代码:

jira.transition_issue(issue, transition='Reopen Issue')
jira.transition_issue(issue, transition='Start Progress')

以下是通过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")
这里PR-1309是您的JIRA问题的ID。启动进度是针对此问题需要采取的行动。JIRA的不同客户的行动列表可能不同。因此,打开JIRA门户,查看JIRA问题的可用过渡选项。 一些转换操作可以是:-

  • 准备
  • 完成
  • 拒绝
  • 进行中
  • 复习
  • 流产

  • 如何获取所有转换的列表?对于问题的当前状态,您可以点亮它:在jiraSession中为t。转换(问题):打印(t[“name”]+“”+t[“id”])没有名为
    transition\u id
    的参数。将其更正为
    transition
    。感谢您的更正@thejohnbackes,他们在接下来的几年中更改了它:)您到底在哪里找到了转换id“131”?@vynl Junkie查看如何列出一个问题的可用转换-每个JIRA的id都不同。
    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")