基于自定义字段搜索和更新 - Jira Python
我有一个自定义字段,叫做详细状态,它的类型是文本字段(少于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
你在定义这个自定义字段的时候,有没有为它启用搜索功能?根据错误信息来看,这很可能就是问题所在。