You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Pipelines任务设置Content-Type请求头返回415错误如何解决?

问题修复方案


1. 修正空POST请求的载荷配置

你当前requestContent设置为空字符串"",即使接口不需要传参,POST请求传JSON格式的空载荷也需要明确写为{}。空字符串会和你声明的application/json格式冲突,服务端无法识别为空JSON payload,就会返回415错误。Postman会自动补全空JSON载荷的格式处理,所以不会触发报错,但Azure DevOps的请求客户端会严格按照配置发送请求,不会自动补全格式。
修改后的dataSources配置段:

"dataSources": [
  {
    "name": "ProjectsEP",     
    "endpointUrl": "{{endpoint.url}}/api/project/projects",
    "requestVerb": "POST",
    "resultSelector": "jsonpath:",
    "requestContent":"{}",
    "headers": [
      {
        "name": "Content-Type",
        "value": "application/json"
      }
    ] 
  }
]

2. 补充dataSourceBindings的header配置

Azure DevOps自定义任务的数据源绑定逻辑存在已知的配置继承问题,dataSources中定义的headers在部分版本中不会被自动带入实际请求,需要在dataSourceBindings中显式声明同样的Content-Type头:

"dataSourceBindings": [
  {
    "target": "project",
    "endpointId": "$(FabrikamService)",
    "dataSourceName": "ProjectsEP",
    "requestVerb": "POST",
    "headers": [
      {
        "name": "Content-Type",
        "value": "application/json"
      }
    ]
  }
]

3. 补充校验项

  • 确认自定义任务manifest的resource版本为2.0及以上,旧版本v1 manifest对POST类型的数据源支持存在缺陷
  • 如果服务端支持charset声明,可将Content-Type值改为application/json; charset=utf-8,进一步兼容服务端的媒体类型校验逻辑

内容的提问来源于stack exchange,提问作者Rohit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 14:39:03