我正在做一个项目,我必须更新jira的问题领域,如组件,史诗链接等。我使用jira python客户端(https://pypi.org/project/jira/)来完成这个任务。
ticketObj = authJira.issue('ABC-12345')
print(ticketObj.fields.components)
这是输出以下结果
[]
因为组件是一个数组,所以如果要更新jissue中的字段,我必须做以下事情
ticketObj.update(components = ['component 1'])
但这种方法给出了以下误差
JiraError HTTP 400 url: https://jira.yourdomain.com/rest/api/2/issue/1234567
text: Can not instantiate value of type [simple type, class com.atlassian.jira.rest.api.issue.FieldOperation] from JSON String; no single-String constructor/factory method (through reference chain: com.atlassian.jira.rest.v2.issue.IssueUpdateBean["update"])
response headers = {...}
response text = {"errorMessages":["Can not instantiate value of type [simple type, class com.atlassian.jira.rest.api.issue.FieldOperation] from JSON String; no single-String constructor/factory method (through reference chain: com.atlassian.jira.rest.v2.issue.IssueUpdateBean[\"update\"])"]}
3条答案
按热度按时间gwbalxhn1#
我发现以下工作(当更新现有问题中的组件时)
NAME
是组件的名称(必须存在于项目中)gajydyqb2#
我是这个问题的作者,我到处研究,很遗憾我没有找到使用jira python客户端添加组件的方法,所以我创建了一个新的方法来添加组件,使用提供的rest API。
我有另一个更干净的方法,如果我们想更新jira中的任何问题字段,我们可以使用Jira API方法通过传递字典来更新参数。
az31mfrm3#
这适用于当前版本的Jira Cloud(Python 3)。