Rovo agent 详情接口的 actions 为空:响应结构是否变更,有无替代接口?
结论
仅凭 actions: [],无法判断 skills 是否已被删除、弃用或迁移。现有信息也不足以确认这个 internal gateway API 发生了哪项具体变更。
目前查到的公开资料没有给出该接口恢复 actions 的正式参数,也没有确认存在可按任意 agentId 查询已分配 skills 的公开替代接口。Atlassian 的功能请求 ROVO-516 将 agent 元数据和 skills 查询列为待提供的公共 API 能力,该请求当前仍显示为 Gathering Interest、Unresolved。这可以作为接口支持范围的参考,但无法据此判断空数组的根因。
对于依赖能力校验的自动化,建议将此响应视为“能力信息无法确认”,并暂停依赖这些能力的任务。不要直接将空数组解释为 agent 没有工具。
是否发生了 schema 变更?
有这种可能,但尚未得到证实。还需要排查字段投影、调用身份、站点上下文和配置读取路径是否存在差异。
原问题将 actions 与 skills 放在一起描述。当前 Rovo 文档区分了 tools 和 skills:tools 是单项操作,skills 是可复用的任务指令,可以协调多个 tools。添加 skill 时,其依赖的 tools 会自动加入,但不会显示在 agent 的 Tools 区域。参见 Add skills to Rovo agents。
UI 中显示的 skills 是否应与某个响应中的 actions 数组一一对应,需要接口契约或实际请求证据支持,不能直接假设。tools 和 skills 的概念区别也不能证明原接口的字段已经迁移。
是否需要增加 header 或 expand 参数?
目前没有查到该内部接口的公开文档,能确认 expand=actions 或某个新增 header 可以解决问题。不要将其他 Atlassian API 的展开参数直接套用到这里,也不要在缺少依据时扩大 token 权限。
建议先做以下对照:
- 确认 UI 与脚本使用相同的
agentId和站点,并核对x-cloudid。 - 确认配置已保存,记录 UI 登录用户与 API 凭据对应的身份是否一致。
- 在浏览器开发者工具的 Network 面板中,重新打开 agent 配置页面,找到实际加载 skills 或 tools 的请求。
- 对比请求路径、方法、参数、响应结构和身份上下文,确认 UI 是否通过独立请求获取相关数据。
浏览器中的请求有助于定位差异,但观察到内部接口,并不意味着它受到公开支持或有稳定性承诺。不要将浏览器会话凭据直接嵌入长期自动化。
如何保留排查证据?
可以在原请求中加入 --include,同时查看 HTTP 状态、响应头和原始响应正文:
curl --include --location \
'https://studio.atlassian.com/gateway/api/assist/rovo/v1/agents/{{agentId}}' \
--header 'x-cloudid: {{siteId}}' \
--header 'x-experience-id: ai-mate' \
--header 'x-product: rovo' \
--header 'Authorization: Basic {{authToken}}'
执行前替换占位符。该命令用于观察原请求,不会展开 actions,也不代表这些 header 或 Basic 认证方式已获得公共 API 文档支持。
检查时应区分:
- 非成功状态码或错误正文:先处理请求错误,不能按正常配置解析。
- 字段缺失、字段为
null、字段为空数组:保留各自状态,不要统一转换成[]。 - 原始响应中有相关数据,但解析结果为空:检查解析路径是否仍匹配实际结构。
即使 JSON 格式正确、字段类型通过本地校验,也只能说明响应可以解析,不能证明它完整反映了 agent 的能力。
有哪些可用的替代方案?
如果 agent 由自己的 Forge 应用定义,可以读取与实际部署版本对应的 manifest.yml,检查 rovo:agent 中声明的 actions、skills 及相关依赖。官方 Rovo Agent 模块文档 分别定义了这些配置项。它们可以作为应用声明能力的依据,但不能单独证明某次调用具备所有运行权限。
如果 agent 在 Rovo Studio 中创建,可以通过 UI 核对配置,并为自动化维护一份经过确认的能力映射,记录站点、agent 标识和确认时间。配置变更后应重新核对,避免长期使用过期清单。
公开的 A2A Agent Card 也有 skills 数组,但描述的是 Rovo 对外提供的高层能力。A2A skills 文档没有将其定义为查询任意 Studio agent 已分配 skills 的接口,因此不能直接替代当前需求。
若必须实时获取指定 agent 的完整配置,应向 Atlassian 支持提交脱敏后的请求与响应、发生时间、站点和 agent 标识,以及 UI 对照结果,要求确认该内部路径的支持状态和推荐集成方式。在得到明确契约之前,自动化应区分“已确认具备、已确认不具备、无法确认”三种状态;当前空数组不应自动归入任何一种已确认结果。
备注:内容仅供参考。
