自定义脚本的输出 JSON 格式

本文档提供了有关自定义脚本需要返回的 JSON 格式的信息。 

通用格式

请求文件的类/脚本应返回一个 JSON,其中包含成功/失败状态以及一条消息,该消息将显示在请求的历史记录选项卡中。JSON 具有以下格式:

{
"result":"success",
"message":"消息"
}

 

  • Result 表示操作的成功/失败状态。
  • Message 是要显示在请求历史记录选项卡中的信息。

支持的操作

某些操作也可以通过返回的 JSON 来执行。用于调用这些操作的 JSON 结构如下:
 {
  "message": "消息",
  "result": "success",
  "operation": [
    {
      "OPERATIONNAME": "operation_1",
      "INPUT_DATA": [
        {
          
        }
      ]
    },
    {
      "OPERATIONNAME": "operation_2",
      "INPUT_DATA": [
        {
          
        }
      ]
    }
  ]
}
 
自定义触发器支持的部分操作如下:
 
        * EDIT_REQUEST
        * ADD_NOTE
        * ADD_APPROVAL_STAGE
        * ADD_APPROVAL
        * SET_APPROVAL_STAGE
        * SET_APPROVAL
 
 
EDIT_REQUEST JSON
 
更新请求中提到的字段。
 
{
  "message": "请求更新成功",
  "result": "success",
  "operation": [
    {
      "OPERATIONNAME": "EDIT_REQUEST",
      "INPUT_DATA": [ 
{
  "request": {
    "technician": {
      "name": "Heather Graham"
    },
    "priority": {
      "name": "High"
    },
    "request_template": {
      "name": "New Hire"
    },
    "udf_fields": {
      "udf_sline_301": "高优先级",
      "udf_pick_603": "windows",
      "udf_multiselect_302": [
        "Net Beans",
        "Eclipse"
      ]
    }
  }
}
      ]
    }
  ]
}
 
此处列出的所有输入参数都可以通过这种方式更新。
 
ADD_NOTE JSON
 
向请求添加备注。

{
  "result": "success",
  "message": "备注添加成功",
  "operation": [
    {
      "OPERATIONNAME": "ADD_NOTE",
      "INPUT_DATA": [
        {
          "note": {
            "description": "示例文本",
            "show_to_requester": true
          }
        }
      ]
    }
  ]
}


ADD_APPROVAL_STAGE JSON
 
为指定阶段添加新的审批人,同时保留现有审批人。
 
是否触发第一阶段的审批由 send_immediately 参数控制。设置为 true 时,将立即发送审批请求。设置为 false 时,用户必须手动发送审批请求。
 
{
  "message": "用于为所有阶段添加新审批人的 Python 示例脚本,同时保留现有审批人",
  "result": "success",
  "operation": [
    {
      "OPERATIONNAME": "ADD_APPROVAL_STAGE",
      "send_immediately": "true",
      "INPUT_DATA": [
        {
          "StageOne": [
            "Sampleuser.1@xyz.com",
            "Sampleuser.2@xyz.com"
          ]
        },
        {
          "StageTwo": [
            "Sampleuser.3@xyz.com",
            "Sampleuser.4@xyz.com"
          ]
        },
        {
          "StageThree": [
            "Sampleuser.5@xyz.com",
            "Sampleuser.6@xyz.com"
          ]
        },
        {
          "StageFour": [
            "Sampleuser.7@xyz.com",
            "Sampleuser.8@xyz.com"
          ]
        },
        {
          "StageFive": [
            "Sampleuser.9@xyz.com",
            "Sampleuser.10@xyz.com"
          ]
        }
      ]
    }
  ]
}
 
ADD_APPROVAL JSON
 
为当前阶段添加新的审批人,同时保留现有审批人。
 
是否触发此阶段的审批由 send_immediately 参数控制。设置为 true 时,将立即发送审批请求。设置为 false 时,用户必须手动发送审批请求。
 
{
  "message": "用于在当前阶段添加新审批人的 Python 示例脚本,同时保留现有审批人",
  "result": "success",
  "operation": [
    {
      "OPERATIONNAME": "ADD_APPROVAL",
      "send_immediately": "true",
      "INPUT_DATA": [
        "Sampleuser.1@xyz.com",
        "Sampleuser.3@xyz.com",
        "Sampleuser.5@xyz.com"
      ]
    }
  ]
}
 
 
SET_APPROVAL_STAGE JSON
 
在添加新审批人之前,会先移除指定阶段中的现有审批人。已经完成审批的审批人不会从审批人列表中移除。
 
是否触发第一阶段的审批由 send_immediately 参数控制。设置为 true 时,将立即发送审批请求。设置为 false 时,用户必须手动发送审批请求。
 
{
  "message": "用于为所有阶段添加新审批人的 Python 示例脚本,同时保留现有审批人",
  "result": "success",
  "operation": [
    {
      "OPERATIONNAME": "SET_APPROVAL_STAGE",
      "send_immediately": "true",
      "INPUT_DATA": [
        {
          "StageOne": [
            "Sampleuser.1@xyz.com",
            "Sampleuser.2@xyz.com"
          ]
        },
        {
          "StageTwo": [
            "Sampleuser.3@xyz.com",
            "Sampleuser.4@xyz.com"
          ]
        },
        {
          "StageThree": [
            "Sampleuser.5@xyz.com",
            "Sampleuser.6@xyz.com"
          ]
        },
        {
          "StageFour": [
            "Sampleuser.7@xyz.com",
            "Sampleuser.8@xyz.com"
          ]
        },
        {
          "StageFive": [
            "Sampleuser.9@xyz.com",
            "Sampleuser.10@xyz.com"
          ]
        }
      ]
    }
  ]
}
 
SET_APPROVAL JSON
 
移除当前阶段中的现有审批人并添加新的审批人。已经完成审批的审批人不会从审批人列表中移除。
 
是否触发此阶段的审批由 send_immediately 参数控制。设置为 true 时,将立即发送审批请求。设置为 false 时,用户必须手动发送审批请求。
 
{
  "message": "用于在当前阶段添加新审批人的 Python 示例脚本,同时保留现有审批人",
  "result": "success",
  "operation": [
    {
      "OPERATIONNAME": "SET_APPROVAL",
      "send_immediately": "true",
      "INPUT_DATA": [
        "Sampleuser.1@xyz.com",
        "Sampleuser.3@xyz.com",
        "Sampleuser.5@xyz.com"
      ]
    }
  ]
}