[英]Is it possible to change jira issue status with python-jira?
我想用 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+ 中找到了問題狀態和工作流程工作流程。但我仍然不知道該怎么做。有人可以幫我嗎?
我也遇到了這個問題,不幸的是 JIRA 令人難以置信的靈活性有時也使它成為 PITA。
要更改工單的狀態,您需要進行轉換,將其從一種狀態移動到下一種狀態。
您需要找到您的過渡 ID,然后像這樣使用它:
if issue.fields.status in ('open', 'reopened'):
# Move the ticket from opened to closed.
jira.transition_issue(ticket, transition='131')
jira-python 文檔在這里發現和進行轉換。
jira.transition_issue
記錄在此處。 您實際上可以使用過渡的名稱(例如: 'Closed'
)而不是 ID,但 ID 更可靠,因為它不會改變。
要更改狀態,您需要在問題上方進行交易。 過渡只是在“工作流程”中定義的操作,以及從一種狀態到另一種狀態的過渡問題。 從當前狀態,您只能執行有限的一組轉換,這取決於“工作流程”。 嘗試使用以下功能: 當前問題狀態:
issue = jira.issue('PROJECT-1')
issue.fields.status
JIRA 狀態:name='修復提交',id='10827'
問題當前狀態的可能轉變:
jira.transitions(issue)
[{'id': '181', 'name': 'Fix Failed', 'to': ..........}}}, {'id': '261', 'name': 'Fix Verfied', 'to': {'self':.....}}}]
那么你可以執行兩個轉換:
jira.transition_issue(issue, transition='Fix Failed')
或者
jira.transition_issue(issue, 261)
然后您可以驗證您的問題在服務器上更改了狀態:
issue = jira.issue('PROJECT-1')
issue.fields.status
JIRA 狀態:name='修復失敗',id='10830'
因此,在回答您的問題時,如果狀態未通過轉換連接,您需要執行更多轉換以將問題從一種狀態轉移到另一種狀態。 例如.:考慮的工作流程,從這個網址與您的問題當前狀態為“已解決”,讓說你想要達到的狀態“進行中”。 可以使用類似的代碼:
jira.transition_issue(issue, transition='Reopen Issue')
jira.transition_issue(issue, transition='Start Progress')
我的用例只是更改票證的狀態。
您在之前的嘗試中需要更改的只是不要明確提及transitionId=
這個詞
這對我有用。
jira.transition_issue(issue, '31')
以下是通過 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。 Start Progress 是需要針對此問題采取的操作。 JIRA 的不同客戶的操作列表可能不同。 因此,打開您的 JIRA 門戶並查看 JIRA 問題的可用轉換選項。 一些過渡動作可以是:-
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.