使用JIRA REST API将工单从Work In Progress转Resolved时遇400错误
解决方案
问题根源
从Work In Progress到Resolved的工作流转换被配置了必填自定义字段校验,你当前的API请求未携带customfield_26106和customfield_27906这两个字段的值,因此触发400参数错误。
排查与修复步骤
确认自定义字段的实际信息
- 调用JIRA REST API获取所有字段详情,定位这两个ID对应的字段名称和类型:
GET /rest/api/2/field - 或者直接在JIRA后台的「自定义字段」页面搜索字段ID,查看字段的类型(如选择列表、文本框、版本选择器等)和可选值。
- 调用JIRA REST API获取所有字段详情,定位这两个ID对应的字段名称和类型:
修改转换请求体,添加必填字段
在POST请求的JSON body中,新增fields节点,传入两个自定义字段的有效值(需匹配字段类型)。示例如下:{ "transition": { "id": "你的转换ID" }, "fields": { "customfield_26106": "字段对应有效值(如选择列表传选项ID,文本传字符串)", "customfield_27906": "字段对应有效值" } }- 若字段是选择列表,优先传入选项的
id(避免名称变更导致失效); - 若字段是版本字段,传入版本的
id或name; - 若字段是日期/用户字段,按JIRA规范格式传入(如日期用
YYYY-MM-DD,用户传账号或ID)。
- 若字段是选择列表,优先传入选项的
验证请求有效性
先在JIRA界面手动执行「Work In Progress → Resolved」的转换,记录界面上需要填写的字段和对应值,再映射到API请求中,确保参数完全匹配。
内容的提问来源于stack exchange,提问作者Subhratanu Saha
相关产品推荐
相关产品推荐

