SuperAPI AI 工具集

automation-pilot-content-management-via-api

部署与运维

查看项目

更新于 10-16 04:04

技能介绍

用途

该技能用于通过 SAP Automation Pilot 的 Content API 管理其内容,涵盖目录(catalogs)、命令(commands)和输入(inputs)的创建、查询、更新、删除、发布、弃用与恢复等操作。适用于导入或导出命令、列出目录、管理输入等场景。

主要能力

目录管理

  • 列出目录:支持按 own、provided、tag 过滤。
  • 按 ID 获取目录。
  • 创建目录:指定 name、description、tags。
  • 更新目录:更新 description、tags。
  • 删除目录:目录必须为空(无命令或输入)才能删除。

命令管理

  • 列出命令:支持按 catalog、tag 过滤,可包含设计时问题(includeIssues=true),也可仅列出命令 ID。
  • 按 ID 获取命令:命令 ID 格式为 catalog:name:version。
  • 创建/上传命令:可从 .command.json 文件上传,也可内联创建。
  • 更新命令。
  • 删除命令。
  • 发布命令:仅当用户明确要求时使用。
  • 弃用命令。
  • 恢复命令。
  • 批量创建命令。

输入管理

  • 列出输入:支持按 catalog、tag 过滤。
  • 按 ID 获取输入:输入 ID 格式为 catalog:name:version。
  • 创建输入:定义 keys(类型与敏感性)和 values。
  • 更新输入(全量)。
  • 更新输入(部分,仅值):使用 application/merge-patch+json。
  • 删除输入。
  • 发布输入:仅当用户明确要求时使用。
  • 弃用输入。
  • 恢复输入。
  • 批量创建输入。

实用模式

  • 导出命令到文件。
  • 从目录批量上传所有命令。
  • 检查命令是否存在。
  • 创建或更新命令(Upsert 模式)。

使用方式

前置条件

设置以下必需环境变量:

export AUTOPI_HOSTNAME="emea.autopilot.cloud.sap"
export AUTOPI_USERNAME="your-username"
export AUTOPI_PASSWORD="your-password"
export AUTOPI_DEFAULT_CATALOG="mycommands-<<<TENANT_ID>>>"

支持的 hostname:

  • emea.autopilot.cloud.sap(默认 - 欧洲)
  • aus.autopilot.cloud.sap(澳大利亚)
  • apac.autopilot.cloud.sap(亚太)
  • amer.autopilot.cloud.sap(美洲)
  • ksa.autopilot.cloud.sap(沙特阿拉伯)

确保环境中可用 curl。

命名约定

  • 命令:PascalCase,如 RestartCfApp、GetHanaInstance
  • 输入:PascalCase,如 BtpCredentials、JiraConfig
  • 目录:kebab-case,如 my-automations-xxx
  • 名称不得包含空格(会导致 URL 编码的 API 失败)。

值在传输时始终为字符串

通过 API 创建或更新输入时,values 和 defaultValue 中的每个条目必须是 JSON 字符串,无论 keys 中声明的类型是什么。

声明类型 传输表示
string "my-app"
number "42"
boolean "true"
array "["a","b"]"
object "{"url":"...","user":"..."}"

这也适用于 trigger 和 schedule 端点上的 inputValues——每个值在传输时必须是字符串。运行时在执行器内部将其转换为声明类型。

命令发布策略

命令部署后处于 DRAFT 状态。除非用户明确要求且命令已测试,否则不应自动发布。

必需权限

  • 列出/获取资源:Read
  • 创建/更新/删除资源:Write

错误处理

API 返回标准 HTTP 状态码:200(成功 GET/PUT)、201(创建 POST)、204(无内容 DELETE)、400(错误请求)、401(未授权)、403(禁止)、404(未找到)、409(冲突)、429(请求过多)、500(内部服务器错误)、503(服务不可用)。应始终检查响应中的错误消息。

适用场景

  • 需要批量导入或导出 SAP Automation Pilot 命令。
  • 需要以编程方式管理目录、命令和输入。
  • 需要为不同环境(dev/staging/prod)创建和管理输入。
  • 需要将命令从文件部署到 Automation Pilot。
  • 需要导出目录中的所有命令到文件。

限制

  • 删除目录前,目录必须为空(无命令或输入)。
  • 名称不得包含空格。
  • 值在传输时始终为字符串。
  • 发布命令或输入需用户明确要求。
  • 需要有效的凭据和相应权限。
  • 依赖 curl。
  • 关于收费、价格、平台等具体信息暂未提供。