调用JIRA REST-API更新自定义字段报错的排查与解决方法
错误根因
Jira Cloud v3版本REST API的update操作节点,要求每个字段对应的值必须是操作对象构成的数组,不能直接传入字符串/数值等基础类型值。
你当前提交的请求体中,直接给customfield_10051赋值了字符串"test",不符合接口要求的数组结构,接口解析时期望拿到ArrayList类型却收到字符串token,因此抛出反序列化失败的错误。
正确调用方式
- 请求基础配置
- 请求方法:保持
PUT - 请求URL:无需修改,仍为
https://bitsandbirds.atlassian.net/rest/api/3/issue/CYBIRD-1252 - 必备请求头:添加
Content-Type: application/json - 认证配置:使用Basic Auth认证,用户名为你的Atlassian账号登录邮箱,密码为Atlassian后台生成的API Token(不可使用账号登录密码)
- 请求方法:保持
- 请求体格式
根据自定义字段的类型选择对应写法:- 普通文本类字段(单行文本、多行文本),使用
set操作直接传值:
- 普通文本类字段(单行文本、多行文本),使用
{ "update" : { "customfield_10051" : [ {"set": "test"} ] } }
- 选择类字段(单选下拉、多选、用户选择器、版本选择器等),
set操作需要传入对应选项的结构化参数(通常为选项ID),不能直接传显示文本,示例:
{ "update" : { "customfield_10051" : [ {"set": {"id": "对应选项的实际ID值"}} ] } }
Zapier配置注意事项
- Webhook动作选择
PUT请求,填入对应接口地址 - 认证栏选择Basic Auth类型,对应填入Atlassian邮箱和API Token
- Payload类型选择
JSON,不要使用表单格式传参 - 额外添加请求头
Content-Type: application/json,避免Zapier默认使用的编码格式导致接口解析失败
内容的提问来源于stack exchange,提问作者Leon Meier
相关产品推荐
相关产品推荐

