基于自定义字段搜索和更新 - Jira Python

0 投票
2 回答
4246 浏览
提问于 2025-04-17 20:13

我有一个自定义字段,叫做详细状态,它的类型是文本字段(少于255个字符),自定义字段的ID是10000。

我正在写一个JIRA的Python脚本,目的是更新一些问题的这个自定义字段的值,这些问题的字段值是特定的。

假设我想把所有自定义字段值为测试值的问题,更新为另一个值,比如叫新值

我刚开始学习JIRA的Python脚本,所以根据我在文档上看到的内容,我现在的代码是这样的。

from jira.client import JIRA
jira_options={'server': 'http://localhost:8080'}
jira=JIRA(options=jira_options,basic_auth=('usrname','pwd'))
for issue in jira.search_issues(' cf[10000] = "Test Value" ', maxResults=3):
    issue.update(fields={'Detailed Status': 'New Value'})

不过,我遇到了以下错误。

  File "test.py", line 10, in <module>
    for issue in jira.search_issues(' cf[10000] = "Test Value" ', maxResults=3):

  File "C:\Python27\lib\site-packages\jira\client.py", line 1000, in search_issues
    resource = self._get_json('search', search_params)
  File "C:\Python27\lib\site-packages\jira\client.py", line 1396, in _get_json
    raise_on_error(r)
  File "C:\Python27\lib\site-packages\jira\exceptions.py", line 36, in raise_on_
error
    raise JIRAError(r.status_code, error, r.url)
jira.exceptions.JIRAError: HTTP 400: "Field 'cf[10000]' is not searchable, it is
 only sortable."
http://localhost:8080/rest/api/2/search?jql=+cf%5B10000%5D+%3D+%22Test+Value%22+
&startAt=0&maxResults=3

我也试过用cf[10000] ~ '测试值',但也出现了和上面一样的错误。

你能告诉我我可能哪里做错了吗?

2 个回答

0

我只是添加了对我有效的代码,这是在我根据@mdoar上面的回答为自定义字段启用了搜索功能之后的结果。

from jira.client import JIRA
jira_options={'server': 'http://localhost:8080'}
jira=JIRA(options=jira_options,basic_auth=('usrname','pwd'))

for issue in jira.search_issues(' cf[10000] ~ "Test Value" '):
    issue.update(fields={'customfield_10000': 'New value'})
1

你在定义这个自定义字段的时候,有没有为它启用搜索功能?根据错误信息来看,这很可能就是问题所在。

撰写回答