我遇到问题,当我尝试在JIRA中的自定义字段上设置值时,它会返回此错误:
File "c:\python27\lib\site-packages\jira\resilientsession.py", line 45, in raise_on_error
r.status_code, error, r.url, request=request, response=r, **kwargs)
JIRAError: JiraError HTTP 400
text: Operation value must be a string
url: http://iasp091x.ia.ro.conti.de:8080/rest/api/2/issue/31424
response headers = {'X-AUSERNAME': 'continental', 'X-ASEN': 'SEN-5132028', 'X-Content-Type-Options': 'nosniff', 'Content-Encoding': 'gzip', 'Transfer-Encoding': 'chunked', 'X-Seraph-LoginReason': 'OK', 'Vary': 'User-Agent', 'X-AREQUESTID': '850x418015x3', 'X-ASESSIONID': 'gv7hra', 'Connection': 'close', 'Cache-Control': 'no-cache, no-store, no-transform', 'Date': 'Mon, 01 Feb 2016 12:10:49 GMT', 'Server': 'Apache-Coyote/1.1', 'Content-Type': 'application/json;charset=UTF-8'}
response text = {"errorMessages":[],"errors":{"customfield_11301":"Operation value must be a string"}}
我使用的代码是:
new_issue = jira.create_issue(project='PT', summary=issue_summary,
description=issue_description, issuetype={'name': 'Work'})
new_issue.update(fields={'customfield_11301': [{'value':'test'}]})
自定义字段11301是html中的输入标记:
<input class="textfield text long-field" id="customfield_11301" name="customfield_11301" maxlength="254" value="" type="text">
任何想法如何使这个东西工作?
答案 0 :(得分:1)
我找到了解决方案:
def str_to_utf(value):
if isinstance(value, str):
return value.decode('latin1')
return value
new_issue.update(fields={u'customfield_11301': str_to_utf(user)})
答案 1 :(得分:1)
这对我来说听起来像个错误,在jira-python库中引发了一个错误,有一个例子可以重现它,我会尽快修复它。
图书馆应该注意编码和解码,而不是你。