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

时间:2013-03-25 12:49:07

标签: python jira jira-rest-java-api

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

我正在编写一个JIRA Python脚本来更新此字段中具有特定值的许多问题的自定义字段的值。

假设我想将具有自定义字段值的所有问题更新为“测试值”,并使用另一个名为“新值”的值。

我刚刚开始使用JIRA Python脚本,所以基于我在documentation上看到的内容,这就是我现在的代码的样子。

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] ~ 'Test Value',但它给出了与上面相同的错误。

你可以告诉我,我可能做错了吗?

2 个答案:

答案 0 :(得分:1)

当您定义自定义字段时,是否为其启用了搜索器?根据错误消息

,这可能是问题所在

答案 1 :(得分: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'})