testany-trigger
$
npx mdskill add TestAny-io/testany-agent-skills/testany-trigger管理 Testany 平台上的 **trigger**,并负责 **即时发起一次 pipeline execution**。
SKILL.md
.github/skills/testany-triggerView on GitHub ↗
---
name: testany-trigger
description: Testany 执行入口与单次触发 - 为 pipeline 配置 Plan、Manual Trigger、Gatekeeper,或立即执行一次
---
# Testany Trigger
管理 Testany 平台上的 **trigger**,并负责 **即时发起一次 pipeline execution**。
用户输入: $ARGUMENTS
---
## 先统一心智模型
在开始之前,先按 [automation-model.md](../testany-guide/references/automation-model.md) 理解边界:
- `pipeline` 是执行与编排单元
- `trigger` 是执行入口
- `trigger` 决定“如何发起 execution”
- `execution` 发起之后的观测与管理属于 `testany-execution`
**重要结论**:
- 本 skill 既负责**持久化执行入口**,也负责**即时单次触发**
- 本 skill 不负责查看 execution 历史、轮询、取消或失败诊断
---
## 职责范围
- 创建/查询/更新/删除 Plan(定时计划)
- 创建/查询/更新/删除 Gatekeeper(Webhook 触发器)
- 覆盖 Manual Trigger 的平台概念、适用场景和当前支持路径
- 立即执行一次已有 pipeline(ad-hoc run now)
- 为已有 pipeline 提供合适的 trigger 方案建议
- 提供可复制的 Webhook / CI 集成示例
---
## Trigger 类型
### Persistent Trigger
长期存在、可重复复用的执行入口:
- `Plan`
- `Manual Trigger`
- `Gatekeeper`
### Ad-hoc Trigger
一次性即时触发:
- `testany_execute_pipeline`
它会直接返回 `execution_key`,后续观测与管理交给 `testany-execution`。
---
## MCP 支持现状
| 类型 | 平台能力 | 当前 MCP 支持 | 本 skill 的处理方式 |
|------|---------|--------------|--------------------|
| Plan | 完整 | 有 | 直接通过 MCP CRUD |
| Gatekeeper | 完整 | 有(含 pipeline 绑定与 webhook URL) | 直接通过 MCP 完成全流程 |
| Manual Trigger | 平台已支持 | 当前未看到对应 MCP tools | 明确纳入 trigger 体系;若当前宿主/MCP 无工具,则指导用户走 UI fallback |
| Run Now | 完整 | 有 (`testany_execute_pipeline`) | 直接执行一次并返回 `execution_key` |
---
## 操作速查
### Persistent Trigger
| 用户意图 | 操作类型 | MCP 工具 |
|---------|---------|---------|
| 列出 Gatekeepers | Read | `testany_list_gatekeepers` |
| 查看 Gatekeeper 详情 | Read | `testany_get_gatekeeper` |
| 创建 Gatekeeper | Create | `testany_create_gatekeeper`(可同时绑定 pipelines) |
| 查看 Gatekeeper 绑定的 Pipelines | Read | `testany_get_gatekeeper_pipelines` |
| 绑定/替换 Gatekeeper 的 Pipelines | Update | `testany_bind_gatekeeper_pipelines` |
| 更新 Gatekeeper 字段 | Update | `testany_update_gatekeeper` |
| 删除 Gatekeeper | Delete | `testany_delete_gatekeeper` |
| 列出 Plans | Read | `testany_list_plans` |
| 查看 Plan 详情 | Read | `testany_get_plan` |
| 创建 Plan | Create | `testany_create_plan` |
| 更新 Plan | Update | `testany_update_plan` |
| 删除 Plan | Delete | `testany_delete_plan` |
| 转移 Plan Owner | Update | `testany_assign_plan` |
常用辅助:
- `testany_get_my_workspaces`
- `testany_list_pipelines`
### Ad-hoc Run Now
| 用户意图 | MCP 工具 |
|---------|---------|
| 立即执行一次 pipeline | `testany_execute_pipeline` |
---
## Trigger 选择原则
| 方式 | 适用场景 |
|------|---------|
| Plan | 固定时间自动执行,如夜间回归、定时巡检 |
| Manual Trigger | 人工按需执行,如修复后复测、发布前验收 |
| Gatekeeper | 外部事件驱动执行,如 CI/CD、告警、Webhook |
| Run Now | 现在立刻执行一次,不沉淀长期 trigger 资源 |
---
## Run Now(立即执行一次)
### 适用场景
- “现在帮我跑一次这个 pipeline”
- “临时执行一次回归”
- “刚改完,立即验证”
### 流程
1. 如果用户没有明确 pipeline key:
- `testany_get_my_workspaces`
- `testany_list_pipelines`
- 帮用户定位目标 pipeline
2. 调用 `testany_execute_pipeline`
3. 返回 `execution_key`
4. 明确告诉用户:
- 执行已经发起
- 接下来如需看进度、查历史、取消、看结果,切到 `testany-execution`
### 输入补充
如有需要,可同时传:
- `environment`
- `parameters`
但不要把这些一次性参数误写成长期 trigger 配置。
---
## Plan(定时计划)
### 定义
Plan 用于按固定 schedule 自动触发一个或多个 pipeline。
### 创建流程
1. `testany_get_my_workspaces` → 选择 workspace
2. `testany_list_pipelines` → 选择要定时执行的 pipelines
3. `testany_create_plan` → 创建计划
建议同时填写:
- `schedule_expr`
- `timezone`
- `schedule_str`
- `watchers`
### 更新注意事项
Plan 更新应视为高风险“覆盖式更新”:
1. `testany_get_plan` 先读取现有配置
2. 基于现有配置构造完整 payload
3. 再调用 `testany_update_plan`
---
## Manual Trigger(按需执行模板)
### 定义
Manual Trigger 用于按需执行一个或多个 pipeline,不依赖定时调度,也不依赖外部 webhook。
### 典型场景
- 热修复上线前快速回归
- 环境恢复后立即复测关键链路
- 人工发起标准化多 pipeline 验收
### 当前处理方式
如果当前 MCP/宿主没有 Manual Trigger 工具:
1. 帮用户确定 workspace 和 pipelines
2. 给出建议的名称、描述和 pipeline 列表
3. 提示用户到 Testany UI 创建 Manual Trigger
---
## Gatekeeper(Webhook / 事件驱动)
### 定义
Gatekeeper 通过 Webhook 触发一个 pipeline group 的执行。
### 重要澄清
- Gatekeeper 不是 pipeline 编排工具
- Gatekeeper 不是 execution 观测工具
- “是否放行部署”属于外部 CI/CD 逻辑,应在调用 Gatekeeper 之后依据 execution 结果自行决定
### 创建流程
**方式一:创建时直接绑定(推荐)**
1. `testany_get_my_workspaces` → 选择 workspace
2. `testany_list_pipelines` → 选择要触发的 pipelines
3. `testany_create_gatekeeper(workspace, name, pipelines=[...])` → 创建并绑定
4. `testany_get_gatekeeper` → 获取 `hook_url`
5. `testany_update_gatekeeper` → 配置 trigger_method / trigger_name / trigger_condition / watchers / owned_by
**方式二:先创建,再绑定**
1. `testany_create_gatekeeper` → 创建 Gatekeeper
2. `testany_bind_gatekeeper_pipelines` → 绑定 pipelines
3. `testany_get_gatekeeper_pipelines` → 确认绑定结果
### Webhook URL 获取
通过 `testany_get_gatekeeper` 获取详情即可拿到 `hook_url`。如果用户无编辑权限,`hook_url` 会是 null。
---
## CI/CD 集成示例
### GitHub Actions
```yaml
- name: Trigger Testany Gatekeeper
run: |
curl -X POST "${{ secrets.TESTANY_GATEKEEPER_WEBHOOK_URL }}" \
-H "Content-Type: application/json" \
-d '{"source":"github-actions"}'
```
### Jenkins
```groovy
stage('Quality Gate') {
steps {
sh '''
curl -X POST "${TESTANY_GATEKEEPER_WEBHOOK_URL}" \
-H "Content-Type: application/json" \
-d '{"source":"jenkins"}'
'''
}
}
```
---
## 返回格式
任务完成后,向用户汇报:
- Trigger 类型:`Plan / Manual Trigger / Gatekeeper / Run Now`
- 目标 pipelines 列表
- MCP 直连完成
- 关键配置(schedule_expr、timezone、watchers、trigger_name 等)
- 如是 Run Now:
- 返回 `execution_key`
- 明确下一步去 `testany-execution`
- 如是 Gatekeeper:
- 返回 Webhook URL(通过 testany_get_gatekeeper 获取;无权限时为 null)
---
## 参考文档
- [Testany 自动化对象模型](../testany-guide/references/automation-model.md)
- [核心概念](../testany-guide/references/concepts.md)
More from TestAny-io/testany-agent-skills
- api-reviewerAPI contract review, 接口契约评审。Use when: PRD 完成后、HLD/LLD/实现前需要审查 OpenAPI/AsyncAPI/GraphQL/gRPC/WebSocket/SSE/Webhook/SDK/文件格式/IPC-CLI 契约。
- api-writerWrite API contract, 写接口契约。Use when: PRD 完成后、HLD 之前需要定义 OpenAPI/AsyncAPI/GraphQL/gRPC/WebSocket/SSE/Webhook/SDK/文件格式规范。
- brd-interviewerBRD interview, 业务需求访谈。Use when: 需要将模糊的业务想法梳理成 BRD、"帮我梳理业务需求"、"老板说要做 XXX"、"这个需求不太清楚"、"写 BRD"。
- guardrails-reviewerReview Project Guardrails, 工程规范评审。Use when: Guardrails 创建或更新后需要作为项目级治理基线做准出,检查触发判定、生成模式、事实标准、下游工作流钩子与规则可执行性。
- guardrails-writerWrite Project Guardrails, 写工程规范。Use when: 需要创建或更新项目级 Guardrails 基线,明确跨模块/跨团队的默认约束、更新触发条件与下游工作流钩子;适用于项目启动、架构/平台/合规变化、事故复盘、重复评审问题固化。
- guideGuide, workflow guide, 流程导航、我该用哪个 skill、下一步做什么。Use when: 需要扫描当前项目已有文档和准出状态,判断 testany-eng 主流程所处阶段,并推荐下一步最合适的 skill;当 Test Spec 已具备下游 handoff 条件时,也可推荐进入 testany-bot 自动化落地分支。
- hld-reviewerHLD review, High-Level Design review, 技术方案评审。Use when: HLD 完成后、进入 LLD/实现前需要审查技术设计、检测 PRD→HLD 漂移。
- hld-writerWrite HLD, High-Level Design, 写技术设计文档。Use when: PRD 和 API Contract 完成后需要做系统架构设计、技术选型、制定技术方案。
- lld-reviewerLLD review, Low-Level Design review, 详细设计评审。Use when: 实现前需要审查 LLD 与 PRD/HLD/API Contract/Guardrails 的一致性。
- lld-writerWrite LLD, Low-Level Design, 写详细设计。Use when: PRD/HLD/API Contract 完成后需要写模块设计、接口设计、实现级技术方案。