本指南介绍如何通过 v3 API 管理计划自动化,适用于基础设施即代码工作流。您也可以直接在 Automations 页面中创建和管理它们,无需任何 API 配置。
1
为 API 访问设置服务账号
通过 API 创建的自动化需要具备相应权限的服务用户。你只需一次性完成设置,然后在下面的所有调用中使用该用户的 API key。导出这两个值,以便本指南中的命令可以按原样运行:有关服务用户和权限的更多信息,请参阅API 身份验证文档。
- 访问 app.devin.ai > Settings > Devin API,打开 Service users 选项卡,然后点击 Provision service user
- 分配包含
ManageOrgAutomations权限的角色 - 保存预配后显示的 API key——它只会显示一次,之后你将使用它作为你的
Bearertoken
ViewOrganizations 的 Enterprise 服务用户也可以使用其 token 调用 List Organizations 端点:2
为本次测试运行编写 playbook
在创建自动化之前,先编写一个playbook,明确告诉 Devin 如何运行你的 E2E 测试套件,以及如何处理结果。前往 Settings > Playbooks 并创建一个新的 playbook——或者让 Devin 根据你的测试工作流程描述为你生成一个。下面是一个适用于 Playwright 套件的示例:保存后记下该 playbook 的 ID——你将在自动化的提示中引用它。在查看该 playbook 时,你可以在 URL 中找到它 (
app.devin.ai/.../playbooks/{playbook_id}) 。3
通过 API 创建夜间自动化
现在使用 响应中包含一个用于后续管理该自动化的
POST /v3/organizations/{org_id}/automations 端点来注册一个带有 schedule:recurring trigger 和 start_session action 的自动化。在提示中通过 @playbook:{id} 令牌引用该 playbook。由自动化启动的会话只会获得你授予的工具,因此 tools 块会启用 Linear 工具,并允许 Devin 向你的 #qa-results 频道发送消息 (请将 Slack workspace 和 channel ID 替换为你自己的) 。此示例会在每天的 UTC 时间凌晨 2 点运行:automation_id。请先将其保存:rrule 条件接受一个按 UTC 求值的 iCalendar RRULE。以下是一些常用示例:为什么是凌晨 2 点?你希望测试在当天最后一次部署在预发环境稳定之后再运行,但又要足够早,这样工程师开始工作时就能看到失败结果。请根据你团队的时区和部署节奏进行调整。完整字段列表请参见 Create automation 端点文档。
4
验证首次运行并优化提示词
在自动化首次触发后,检查该会话,确保 Devin 正确运行了测试,且输出结果符合你的预期。
- 在自动化页面打开该自动化,并在其 Activity 选项卡中点击会话链接
- Playwright 测试套件是否已执行?是否只为真实失败 (而非不稳定测试) 创建了 Linear 工单?
- 在
#qa-resultsSlack 频道中查看汇总消息
- Devin 无法访问预发布环境:将你的预发布环境变量 (例如
STAGING_API_KEY或DATABASE_URL) 添加为组织密钥,以便它们在该自动化启动的每个会话中都可用 - 由不稳定测试产生了过多工单:在运行手册中添加重试逻辑:“在创建工单前,先对任何失败的测试重新运行一次。只有在连续失败两次时才创建工单。”
- 测试耗时过长:收窄测试范围——例如:“只运行
tests/critical/和tests/smoke/中的测试”——或增加会话超时时间
5
以代码方式管理自动化
一旦你的每晚任务运行稳定下来,你就会希望像管理其他自动化一样管理它:在部署冻结期间将其暂停,在测试套件发生变化时更新提示词,或者为不同环境再创建一个自动化。在部署冻结或维护窗口期间暂停该自动化:在冻结结束后重新启用:列出所有自动化,以审查当前正在运行的任务:对于需要管理多个自动化的团队,可以让 Devin 构建一个 CLI,将自动化定义从 YAML 配置文件中同步到系统中——这样你就可以像管理测试配置一样,对这些自动化进行版本控制:

