Поиск и обновление на основе настраиваемого поля — Jira Python

У меня есть настраиваемое поле с именем «Подробный статус» типа Текстовое поле (‹ 255 символов) со значением идентификатора настраиваемого поля 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] ~ 'Test Value', но это дало ту же ошибку, что и выше.

Не могли бы вы сказать мне, что я могу делать неправильно?


person ramz    schedule 25.03.2013    source источник


Ответы (2)


Когда вы определили настраиваемое поле, вы включили для него поисковик? Вероятно, проблема в этом, судя по сообщению об ошибке.

person mdoar    schedule 25.03.2013
comment
Это действительно было решением. Спасибо @mdoar! - person ramz; 26.03.2013

Просто добавив код, который сработал для меня, после того, как я включил поисковик для настраиваемого поля, в соответствии с ответом, данным @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'})
person ramz    schedule 26.03.2013