You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在dbt Cloud Slim CI成功完成后触发GitHub Actions工作流

针对dbt Cloud Slim CI完成后自动触发Lint工作流的解决方案

方案1:通过dbt Cloud Webhook触发自定义GitHub事件

dbt Cloud支持在作业成功后发送Webhook,可借此触发GitHub Actions的自定义事件:

  1. 在dbt Cloud的Slim CI作业设置中,进入Settings > Webhooks,新增Webhook
  2. 触发条件选择Job Succeeded
  3. 配置Webhook参数:
    • URL:https://api.github.com/repos/<你的用户名>/<仓库名>/dispatches
    • 请求方法:POST
    • 请求头:添加Authorization: token <拥有repo权限的GitHub PAT>
    • 请求体:
      {
        "event_type": "dbt_slim_ci_success",
        "client_payload": {
          "pr_number": "{{ job.pr_number }}"
        }
      }
      
  4. 修改Lint工作流的触发规则:
    on:
      repository_dispatch:
        types: [dbt_slim_ci_success]
    
  5. 在工作流中通过github.event.client_payload.pr_number获取PR编号,拉取对应分支代码及已生成的manifest.json后执行Lint

方案2:在PR触发的工作流中等待dbt Cloud作业完成

直接在现有PR触发的工作流中,先调用dbt Cloud API触发Slim CI,轮询等待成功后再执行Lint:

  1. 触发dbt Cloud作业的API请求示例:
    curl -X POST "https://cloud.getdbt.com/api/v2/accounts/<账户ID>/jobs/<作业ID>/run/" \
      -H "Authorization: Token <dbt Cloud API Token>" \
      -H "Content-Type: application/json" \
      -d '{"cause": "GitHub Actions PR Lint Trigger", "github_pr_number": ${{ github.event.number }}}'
    
  2. 保存返回的run_id,轮询dbt Cloud的作业状态API,直到状态变为succeeded
  3. 作业成功后,通过dbt Cloud API下载manifest.json,或配置dbt作业将文件上传至PR分支
  4. 执行Lint检查步骤

关于on.check_run/on.status事件的可行性说明

这两个事件确实要求工作流文件位于默认分支才能触发:

  • 若你的Lint工作流已合并到main分支,可配置如下触发规则:
    on:
      check_run:
        types: [completed]
    
  • 并在作业中添加条件判断,仅处理dbt Cloud Slim CI的成功事件:
    jobs:
      lint:
        if: github.event.check_run.name == 'dbt Slim CI' && github.event.check_run.conclusion == 'success'
        steps:
          - uses: actions/checkout@v4
            with:
              ref: ${{ github.event.check_run.pull_requests[0].head.ref }}
          # 后续拉取manifest.json并执行Lint
    
  • 若Lint工作流仅存在于PR分支,则无法使用这两个事件

内容的提问来源于stack exchange,提问作者Aleix CC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 08:02:08