2011-05-10 49 views
2

使用JIRA 4.2版。使用Python 2.7和suds 0.4,我如何使用受讓人字段集創建問題?在下面的代碼中,受讓人字段被忽略。通過Python在JIRA中創建問題時設置受理人字段

new_issue = client.service.createIssue(auth, { 
      'project': 'NAHLP', 
      # issue_type = Incident Report. 
      'type': '11', 
      'assignee': 'assignee_username', 
      'priority': '2', 
      'summary': 'summary', 
      'description': 'description', 
      'customFieldValues': [ 
       # Reporter Location = NA. 
       {'customfieldId':'customfield_10019', 'values':['10011']}, 
       ] 
      }) 

我知道您可以更新受讓人的問題(請參閱我的回答),但我想在創建時指定問題。這可能嗎?

注意:我們所有的用戶名都是用戶的電子郵件地址,包含'@'和'。'符號。

回答

0

感謝戴夫,再次回答這個問題。

soap API不會設置在工作流相關位置的Jira UI屏幕上不可見的字段。當您調用createIssue方法時,「創建問題」屏幕被視爲相關屏幕,但受理人字段在「創建問題」屏幕上不可見。

您可以在沒有受讓人的情況下執行您的createissue調用,然後按照updateissue調用設置受理人。或者,我們可以在最初的創建問題工作流中添加受理人字段。

3

感謝戴夫提出的與受讓人更新問題的替代方案。請注意,這不會回答如何在創建問題時分配票證的問題。

我需要傳遞一個數組作爲受讓人字段的值,即使它只允許一個值。 (這同樣適用於你想用updateIssue調用更新的任何字段)。因此,而不是:

client.service.updateIssue(auth, 'NAHLP-38630', {'assignee': '[email protected]',}) 

做到這一點:

client.service.updateIssue(auth,'NAHLP-38630',[ {'id' : 'assignee', 'values' : ['[email protected]']}]) 
1

你應該能夠創建一個問題,並設置受讓人。確保您使用的是用戶名,而不是全名或電子郵件地址。檢查atlassian-jira.log是否有錯誤。在該項目中,檢查受理人是否隱藏在該問題類型的創建屏幕上。 JIRA Python CLI有一個createissues動作,應該用suds來完成。

〜Matt

+0

Matt,我正在使用用戶名。如果用戶名包含特殊字符,這很重要嗎?我問的原因是,我們所有的用戶名都是用戶的電子郵件地址,幷包含'。'和'@'符號。 – paragbaxi 2011-05-11 16:29:51

+0

我創建了一個沒有特殊字符的用戶,並沒有什麼區別。仍然必須檢查日誌。有沒有辦法從Web界面檢查日誌? – paragbaxi 2011-05-11 16:36:55

+0

使用JIRA Python CLI仍然不允許在創建問題時設置受理人。 JIRA中是否有項目設置不允許這樣做? – paragbaxi 2011-05-11 16:56:57