如何通过ServiceNow API在变更请求中创建单独的任务
ServiceNow API创建变更请求关联单独任务解决方案
完全支持通过ServiceNow REST API为已存在的变更请求创建关联的单独任务,通常我们操作的是变更任务表(表名change_task),具体操作指引如下:
前置准备
- 确认当前调用API的账号拥有
change_task表的create、write权限,以及目标变更请求的read权限 - 获取已创建成功的目标变更请求的32位
sys_id值,用于建立任务和变更的关联关系
核心操作步骤
1. 调用API端点
使用ServiceNow原生Table API的创建接口,请求方法为POST,接口路径为:https://<你的实例域名>/api/now/table/change_task
2. 构造请求核心参数
请求体JSON中必须包含关联变更的字段,其余字段根据你实例的字段必填规则补充即可,核心必填参数参考:
change_request:填写目标变更请求的32位sys_id,该参数是建立变更和任务关联的核心字段short_description:变更任务的简短描述assignment_group:任务分配组的sys_id(多数实例配置为必填项)state:任务状态,1对应待办、2对应进行中,可按需设置
3. 请求示例(curl命令)
curl --request POST \ --url 'https://<你的实例域名>/api/now/table/change_task' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --user '<你的账号>:<你的密码>' \ --data '{ "change_request": "替换为目标变更的32位sys_id", "short_description": "变更实施前生产环境校验", "assignment_group": "替换为任务分配组的sys_id", "state": "1" }'
常见问题排查
- 返回403错误:检查账号对
change_task表的创建权限,以及目标变更的访问权限 - 任务创建成功但未关联到变更:确认
change_request字段传入的是变更的sys_id,而非变更编号(如需传编号需额外加显示值参数,优先传sys_id更稳妥) - 返回字段校验失败:对照你实例中
change_task表的必填字段配置,补充所有缺失的必填项
内容的提问来源于stack exchange,提问作者oakenshield
相关产品推荐
相关产品推荐

