用途:为基于 Clay 的应用配置 CI/CD 流水线。由于 Clay 是 Web 平台而非本地服务,CI 主要覆盖四类工作:测试 Webhook 处理器代码、校验数据转换逻辑、检查富化数据模式合规,以及可选的针对 Clay API 的真实集成测试。
前提条件:启用 Actions 的 GitHub 仓库;Clay Webhook URL 存为 GitHub secret;带测试框架的 Node.js/Python 项目。
主要能力与用法:
- 创建 GitHub Actions 工作流,在 push 与 pull_request 到 main 时触发,设置 CLAY_WEBHOOK_URL、CLAY_API_KEY 环境变量,划分单元测试、数据校验、集成测试三个 job;单元测试使用 mock(如 CLAY_WEBHOOK_URL 指向 mock 地址),集成测试仅在 push 到 main 时运行。
- 配置 Secrets:gh secret set CLAY_WEBHOOK_URL --body "..."、gh secret set CLAY_API_KEY --body "..."(API KEY 仅企业版)。
- 为 Clay 处理器编写单元测试,验证富化数据处理、缺少必填字段时抛出异常、空富化数据优雅降级,并用 vitest mock 隔离 Clay 调用。
- 用 zod 做数据模式校验,覆盖富化行与 Webhook 输入字段,并检查测试夹具是否含真实邮箱等 PII。
- 在 CI 中加入信用预算守卫(如 MAX_ROWS=10),限制测试发送行数,避免消耗额度。
限制与注意:Webhook 测试失败多因 secret 未配置;本地通过而 CI 失败通常是缺少 mock;集成测试可能因 Clay API 延迟而不稳定,需重试与超时;应避免在 CI 中发送过多行造成额度浪费。输出 CI 凭证需脱敏,保留 fixture/schema 版本、mock 与集成结果、行数预算结果、制品位置、晋升决策与异常负责人;CI secret、Webhook URL、供应商密钥和原始线索夹具不对不受信任的 PR 代码开放。