基于自定义字段的搜索和更新——Jira Python
我有一个名为“详细状态”的自定义字段,其类型为文本字段(<255个字符),自定义字段ID值为10000 我正在编写一个jirapython脚本来更新这个自定义字段的值,其中有许多问题对这个字段具有特定的值 假设我想用另一个名为“New value”的值更新所有自定义字段值为“Test value”的问题 我刚刚开始使用JIRA Python脚本,所以根据我所读的内容,我的代码到目前为止是这样的基于自定义字段的搜索和更新——Jira Python,python,jira,jira-rest-java-api,Python,Jira,Jira Rest Java Api,我有一个名为“详细状态”的自定义字段,其类型为文本字段(
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!