【问题标题】:How can you update label type in Jira using REST API?如何使用 REST API 更新 Jira 中的标签类型?
【发布时间】:2021-01-04 21:30:51
【问题描述】:

我在将组件添加到 Jira 中的标签类型时遇到问题。

import browser_cookie3
import requests
import json

cj = browser_cookie3.load()
url = ""

text = {'fields': {'customfield_xxxx':['test']}}

r = requests.put(url, json=text, cookies=cj)

print(r.status_code)

通过上面的代码,我可以更新标签列表。但是,我需要实现以下目标 - 标签包含 [ABC, 123] 并且我想将组件 [ZXC] 添加到现有列表中。我的目标是拥有 [ABC, 123, ZXC] 但使用上面显示的代码,它会更新为 - [ZXC]

我确实发现在editmeta中有自定义字段的“add”功能,但是我无法使其工作。

提前谢谢你

【问题讨论】:

  • 允许用户在不知道它的值的情况下更新特定字段的值通常是违反休息原则的。我认为您必须首先查询customfield_xxxx 的值,根据需要对其进行操作,然后发出上述请求以更新其值。
  • 你确定这不可能吗?我知道有 jira-python 库,它具有这样的函数 add_field_value(field, value) 将值添加到支持多个值的字段,而不重置现有值。这应该适用于:标签,多个复选框列表,多个选择参数字段(str) - 字段名称值 - 字段的值遗憾的是,由于身份验证限制,我无法使用这个库
  • 你确定 Jira-python 函数不使用多个请求吗?
  • 我不是 100% 确定,但是,在 editmeta 中有自定义字段操作是 ["Add"、"Set" 和 "Remove" ],这让我相信它支持这样的功能。此外,有人在 Bash 中以类似的方式做到了这一点link。我要感谢您试图找出解决方案! :)

标签: python json python-requests jira


【解决方案1】:

找到解决办法

import browser_cookie3
import requests
import json

cj = browser_cookie3.load()
jiraURL = "https://servicedesk.companyname.com/rest/api/2/issue/xxxxx/"
text = { "update": {"customfield_xxxx": [{ "add" : "test123",},  {"add": "123Test"} ]}}

r = requests.put(jiraURL, json=text, cookies=cj)

这会将两个用户添加到现有列表中,感谢大家的帮助

【讨论】:

    猜你喜欢
    • 2017-12-25
    • 2015-08-28
    • 1970-01-01
    • 2012-05-25
    • 1970-01-01
    • 2014-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多