2011-05-10 71 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