通过Python suds在JIRA中创建问题时设置指派人字段

4 投票
4 回答
9409 浏览
提问于 2025-04-16 17:19

使用的是JIRA 4.2版本。想用Python 2.7和suds 0.4来创建一个问题,并且想把“指派人”这个字段设置好。但是下面的代码中,指派人这个字段被忽略了。

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']},
                ]
            })

我知道可以在更新问题的时候设置指派人(可以参考我的回答),但我想在创建问题的时候就把它指派出去。这可能吗?

注意:我们所有的用户名都是用户的电子邮件地址,里面包含'@'和'.'符号。

4 个回答

1

你应该能创建一个问题并指定负责人。记得用用户名,而不是全名或邮箱地址。可以查看 atlassian-jira.log 文件,看看有没有错误。确保在这个项目的创建界面上,负责人没有被隐藏。JIRA 的 Python 命令行工具有一个 createissues 的功能,正好可以用来做这个,使用 suds。

~Matt

4

感谢Dave提供了这个更新问题时指定负责人的替代方法。不过要注意,这并没有回答在创建问题时如何分配工单的问题。

我需要把一个数组作为负责人字段的值传递,即使这个字段只允许一个值。(同样的情况也适用于任何你想通过updateIssue调用更新的字段)。所以,不要这样做:

client.service.updateIssue(auth, 'NAHLP-38630', {'assignee': 'qgir@ogilvy.com',})

而是要这样做:

client.service.updateIssue(auth,'NAHLP-38630',[ {'id' : 'assignee', 'values' : ['qgir@ogilvy.com']}])
1

再次感谢Dave提供的这个答案。

SOAP API不会设置在Jira界面上当前工作流程相关屏幕上不可见的字段。当你调用createIssue方法时,“创建问题”的屏幕被认为是相关屏幕,但在这个“创建问题”的屏幕上,指派人字段是不可见的。

你可以选择在创建问题时不设置指派人,然后再进行一次更新操作来设置指派人。或者,我们也可以在最初的创建问题流程中添加指派人字段。

撰写回答