4

IDが10100の「 Status 」という名前のカスタムフィールドがあります。これは、「 One」、「Two」、「Three」、「Four 」のオプション値を持つ選択リストです。デフォルト値は「One」です。

このフィールドの値を条件付きで更新するJIRApythonスクリプトを作成しています。既存の値が「1 」の場合、「 2 」に変更する必要があるとします。

これは私のコードです。

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[10100] = "One" '):
    issue.update(fields={'customfield_10100': 'Two'})

次のエラーが発生します。

Traceback (most recent call last):
  File "test.py", line 11, in <module>
    issue.update(fields={'customfield_10100': 'Two'})
  File "C:\Python27\lib\site-packages\jira\resources.py", line 193, in update
    super(Issue, self).update(**data)
  File "C:\Python27\lib\site-packages\jira\resources.py", line 72, in update
    raise_on_error(r)
  File "C:\Python27\lib\site-packages\jira\exceptions.py", line 29, in raise_on_
error
    error = errorMessages[0]
IndexError: list index out of range

何が悪いのか教えていただけますか?テキストフィールドタイプのカスタムフィールドを編集するために同じ構文を使用しましたが、正常に機能していました。

4

1 に答える 1

5

このようにしてみてください:

issue.update(fields={'customfield_10100': {'value':'Two'}})

またはこのように:

issue.update(fields={'customfield_10100': {'value','Two'}})

私はPythonを使ったことがないので、どちらがうまくいくかわかりませんが、そのうちの1つは機能するはずです。

于 2013-03-28T11:16:04.977 に答える