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

使用ansible.builtin.win_uri调用ServiceNow API遇400错误求助

排查ServiceNow PATCH请求400错误的方向
  • 修正Debug变量,获取完整错误信息
    你当前debug的是result,但任务里register的变量是RESULT_update_ticket,把debug任务改成下面这样,才能拿到ServiceNow返回的具体错误详情(比如字段不匹配、格式错误的具体描述),这是排查400错误最关键的一步:

    - debug:
        var: RESULT_update_ticket
    
  • 验证请求体字段与自定义API的匹配性
    你的URL指向的是自定义REST端点(<ORG>_incident),而非ServiceNow原生的incident API,必须确认两个点:

    • 自定义API是否接受comments作为可修改字段
    • 请求体是否需要嵌套结构(比如{"record": {"comments": "Test comment from ansible"}}),而非直接用顶级字段
  • 改用字典形式传递请求体
    win_uri模块在content_type: application/json时,推荐直接用Ansible字典作为body参数,让模块自动处理JSON序列化,避免手动写字符串可能出现的换行、转义等格式问题:

    body:
      comments: "Test comment from ansible"
    
  • 确认URL路径参数的正确性
    检查自定义API是否支持用incident_number(比如INC0012345)作为路径参数,还是需要用工单的sys_id。ServiceNow原生API默认用sys_id,自定义端点可能有不同要求。

  • 验证账号权限
    虽然已登录,但要确认所用账号是否拥有修改该incident工单的权限,以及是否有权限访问这个自定义REST端点。

  • 补充必要的请求头
    部分ServiceNow端点可能要求额外的请求头,比如X-Requested-With: XMLHttpRequest,可以尝试添加到headers中:

    headers:
      Accept: application/json
      X-Requested-With: XMLHttpRequest
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 06:10:53