jira-python - 如何更新fixVersions字段?

use*_*963 2 jira python-jira jira-rest-api

我不确定我在这里做错了什么,我希望别人有同样的问题.我没有得到任何错误,我的json匹配Jira的docs和jira-python在线问题都应该是正确的.我的版本是有效的Jira版本.我也可以通过API直接执行此操作,但我们正在重新编写所有内容以通过jira-python来实现清洁/易用性.

这只是完全清除了Jira中的fixVersions字段.

issue=jira.issue("TKT-100")
issue.update(fields={'fixVersions':[{'add': {'name': 'add_me'}},{'remove': {'name': 'remove_me'}}]})
Run Code Online (Sandbox Code Playgroud)

我可以使用issue.add_field_value()向fixVersions添加新版本,但这不起作用,因为我需要在一个请求中添加和删除故障单的历史记录.

issue.add_field_value('fixVersions', {'name': 'add_me'})
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

use*_*963 14

这是一个代码示例,说明我如何让以后遇到这种情况的人工作......

    fixVersions = []
    issue = jira.issue('issue_key')
    for version in issue.fields.fixVersions:
        if version.name != 'version_to_remove':
            fixVersions.append({'name': version.name})
    fixVersions.append({'name': 'version_to_add'})
    issue.update(fields={'fixVersions': fixVersions})
Run Code Online (Sandbox Code Playgroud)

  • 我实际上开始使用这种方法,并注意到它正在清除现有版本。只有最后一个版本卡住了。但使用 add_field_value() 就可以了。 (2认同)