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

基于自定义字段的搜索和更新——Jira Python,python,jira,jira-rest-java-api,Python,Jira,Jira Rest Java Api,我有一个名为“详细状态”的自定义字段,其类型为文本字段(

我有一个名为“详细状态”的自定义字段,其类型为文本字段(<255个字符),自定义字段ID值为10000

我正在编写一个jirapython脚本来更新这个自定义字段的值,其中有许多问题对这个字段具有特定的值

假设我想用另一个名为“New value”的值更新所有自定义字段值为“Test value”的问题

我刚刚开始使用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
文件“test.py”,第10行,在
对于jira中的问题。搜索问题('cf[10000]=“Test Value””,maxResults=3):
文件“C:\Python27\lib\site packages\jira\client.py”,第1000行,搜索问题
resource=self.\u get\u json('search',search\u params)
文件“C:\Python27\lib\site packages\jira\client.py”,第1396行,在json中
在错误(r)时升高
文件“C:\Python27\lib\site packages\jira\exceptions.py”,第36行,位于_
错误
raise JIRAError(r.status\u代码、错误、r.url)
jira.exceptions.JIRAError:HTTP 400:“字段‘cf[10000]”不可搜索,它是
只能排序。”
http://localhost:8080/rest/api/2/search?jql=+cf%5B1000%5D+%3D+%22测试+值%22+
&startAt=0&maxResults=3
我也尝试了
cf[10000]~'testvalue'
,但它给出了与上面相同的错误


你能告诉我我可能做错了什么吗

定义自定义字段时,是否为其启用了搜索程序?这可能就是问题所在,根据上面@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'})

这确实是解决办法。谢谢@mdoar!