用途:为 Customer.io 集成搭建 CI/CD 流水线,包含 GitHub Actions 工作流、单元测试与集成测试、测试夹具自动清理、pre-commit 钩子以及按环境区分凭据管理。目标是形成无凭据的 PR 校验通道(schema/模板/单元检查)与受信任的受限集成测试通道,并产出脱敏的 CI 回执与安全失败/重试流程。
主要能力:在每次 PR 上用夹具运行事件 schema 与模板测试;仅在受保护分支使用开发工作区密钥执行单个合成集成事件;集成测试覆盖 identify、更新用户、track 事件、匿名事件、suppress 及无效凭据拒绝;测试用户使用唯一 ID 前缀并在 afterAll 中清理。
使用方式:需 GitHub 仓库与 Node.js 项目、独立的 Customer.io 测试工作区(不要用生产)、配置 GitHub Actions secrets。工作流示例文件为 .github/workflows/customerio-tests.yml,环境变量包括 CUSTOMERIO_SITE_ID、CUSTOMERIO_TRACK_API_KEY、CUSTOMERIO_APP_API_KEY、CUSTOMERIO_REGION;单元测试用 CUSTOMERIO_DRY_RUN="true" 走 mock,集成测试在单元测试通过后运行。设置密钥命令:gh secret set CIO_TEST_SITE_ID --body "your-test-site-id" 等。pre-commit 使用 npx lint-staged。
适用场景:为 Customer.io 集成建立 PR 校验、受保护分支集成测试、提交前验证。
限制:集成测试需凭据,fork PR 无密钥应优雅跳过;Customer.io Track API 无列表/搜索接口,清理依赖已知测试用户 ID 的 suppress+destroy,批量清理需用仪表盘 People 过滤;CI 中需注意速率限制,集成测试 API 调用建议少于 50 次,并加小延迟与重试。其他细节暂未提供。