Trigger.dev
连接
从终端连接Trigger.dev。传入--help查看Trigger.dev接受的标志,在无头环境中再加上--no-browser。
polylane cloud connect --provider triggerdev在环境的 API Keys 页面用 "No restrictions" 预设创建的环境密钥。
- 在 Trigger.dev 中打开该环境的 API Keys 页面,用 "No restrictions" 预设创建一个密钥。
- 将密钥粘贴到 Polylane 并按 Connect。密钥自己说明其项目和环境,因此无需再输入任何内容。
Polylane 会映射该环境及其部署、任务、计划和队列。在运行中出现但不在当前版本中的任务会保留在地图上并被标记。密钥已加密,代理永远不会看到它们。
部署与告警 Webhook
Trigger.dev 的 Webhook 告警在运行失败时打开问题,并在下一次成功时解决部署告警。每个环境一个告警:
- 在该环境的 Alerts 页面添加一个 Webhook 告警,使用账户 Settings 的 Webhooks 中的 URL,并选择 "Task run failure"、"Deployment failure" 和 "Deployment success" 事件。
- 将 Trigger.dev 仅显示一次的签名密钥粘贴到同一个 Webhooks 卡片。
故障排除
"Polylane needs a key created with the 'No restrictions' preset"
- Trigger only、Observer、Deploy only、Task operator 和 Variables only 密钥无法使用:Polylane 通过只有 "No restrictions" 密钥才能调用的端点读取项目的身份。在该环境的 API Keys 页面创建一个 "No restrictions" 密钥并连接它。
"Trigger.dev did not recognize this key"
- 检查密钥是否完整复制且未被吊销。
"Dev keys only work while trigger dev runs" 和 "Preview keys are per branch and not supported"
- 请使用 prod 或 staging 密钥。
缺少资源
- 账户标题处的 "Sync" 可在下一次 15 分钟同步前刷新。
断开连接
在 Polylane 中断开连接,然后在该环境的 API Keys 页面删除密钥。
从CI作业或任何其他没有浏览器的环境连接Trigger.dev。
连接Trigger.dev不需要浏览器:控制台调用的同一个端点可以放进CI作业。一次经过身份验证的POST创建连接并启动第一次同步。
前提条件
- 一个具有
cloud_accounts:write和cloud_accounts:read权限范围的Polylane API密钥。参见API密钥与OAuth。 - 你的工作区ID,以
ws_开头。用同一个密钥从GET /v1/workspaces读取它。 - 一个来自项目prod或staging环境API Keys下的Trigger.dev环境密钥(
tr_prod_sk_…或tr_stg_sk_…)。用No restrictions预设创建它:Polylane通过只有"No restrictions"密钥才能调用的端点读取项目的身份,因此Trigger only、Observer、Deploy only、Task operator和Variables only密钥会被拒绝,dev和preview密钥也会被拒绝。
创建连接
curl -X POST https://api.polylane.com/v1/cloud_accounts \
-H "x-api-key: $POLYLANE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "triggerdev",
"workspaceId": "ws_0abc123",
"apiKey": "<environment-secret-key>"
}'
密钥自己说明其项目和环境,且一个密钥恰好属于一个环境,所以一次调用连接一个环境:prod密钥连接生产环境,staging密钥连接staging,各自作为独立账户。为已连接的环境提交密钥会替换该账户的密钥。没有需要设置的环境开关。连接一个环境就是选择监控它。
响应列出已连接的内容,第一次同步已经在运行。精简为流程其余部分读取的两个字段:
{
"success": true,
"result": {
"provider": "triggerdev",
"accounts": [{ "id": "acc_34gky74ibc92h8t2efn8csrh", "status": "syncing" }],
"failures": []
}
}
被API拒绝的密钥会落在failures而不是accounts中,消息会说明原因,所以重复调用永远不会产生重复的连接。
等待第一次同步
按id轮询每个返回的账户,直到status达到ready(注册时为new,资源流入时为syncing):
until [ "$(curl -s "https://api.polylane.com/v1/cloud_accounts/$WORKSPACE_ID/$ACCOUNT_ID" \
-H "x-api-key: $POLYLANE_API_KEY" | jq -r '.result.status')" = "ready" ]; do
sleep 15
done
给循环一个截止时间,让失败的连接使作业失败而不是挂起。账户变为ready后,它的资源已在拓扑中,Polylane已经开始它的第一次检查。
从API断开连接
删除连接会停止所有同步和检查,并删除Polylane持有的凭据。该调用需要cloud_accounts:delete权限范围:
curl -X DELETE "https://api.polylane.com/v1/cloud_accounts/$WORKSPACE_ID/$ACCOUNT_ID" \
-H "x-api-key: $POLYLANE_API_KEY"
然后按下方Disconnect所述在提供商侧撤销Trigger.dev密钥。
断开连接
断开连接会停止所有同步和检查,并删除Polylane持有的凭据。 Polylane会移除Trigger.dev的API允许它移除的内容。以下内容会保留,直到你自己移除:
- Trigger.dev webhook alert
polylane cloud disconnect <id>工具
5智能体可以在线程中执行的操作。
支持的资源
5会出现在你的基础设施图中的资源类型。