调用Jira API设置Pending reason自定义字段值报错如何排查
Jira API更新单选自定义字段值无效解决方案
核心错误原因
select类型的Jira自定义字段更新时,不支持直接传入字符串格式的选项ID或选项值,你当前传参{"fields":{"customfield_15072":"15100"}}不符合接口参数规范,才会触发值无效报错。
正确传参方式
单选字段的赋值需要传入对象结构,两种合法写法如下:
- 通过选项ID赋值(推荐,不受选项名称变更影响)
{ "fields": { "customfield_15072": { "id": "15100" } } } - 通过选项显示值赋值
{ "fields": { "customfield_15072": { "value": "More info required" } } }
其他排查项
如果修改传参格式后仍报错,逐一核对以下配置:
- 接口路径是否正确:标准Jira v2版更新工单接口完整路径为
<Jira域名>/rest/api/2/issue/<工单编号>,不要遗漏/rest/api/2/前缀,直接访问/issue/<工单编号>可能匹配到非API的前端路由,导致参数解析异常 - 鉴权账号是否拥有目标工单的编辑权限,同时确认
Pending reason字段在目标工单所属项目、对应问题类型的字段配置中,处于编辑页可见、可编辑状态 - 选项是否匹配字段上下文:自定义字段支持按项目、问题类型配置不同的可选值,全局schema查询到的
allowedValues可能和当前工单可用选项不一致,可以调用/rest/api/2/issue/<工单编号>/editmeta接口查询该工单下该字段实际可用的选项列表再传参
报错信息中提到的「指定合法的id或name」,指的是赋值对象中需要包含
id或value(对应提示里的name)属性,并非要求直接传入字符串格式的id/name值。
内容的提问来源于stack exchange,提问作者Richard Whitehouse
相关产品推荐
相关产品推荐

