Project Icon

workflow-dispatch

GitHub Actions工作流自动触发工具

workflow-dispatch是一个用于触发其他GitHub Actions工作流的工具。它支持工作流链接、跨仓库触发和参数传递,增强了CI/CD流程的灵活性。通过workflow_dispatch事件,该工具简化了自动化流程管理,允许用户以名称、文件名或ID引用目标工作流。workflow-dispatch提供多种配置选项,适用于需要串联或复杂触发逻辑的GitHub Actions场景。

用于触发工作流的 GitHub Action

这个 Action 使用 workflow_dispatch 事件来触发另一个 GitHub Actions 工作流。
该工作流必须配置为支持这种事件类型,例如 on: [workflow_dispatch]

这允许你链接工作流,典型的用例是有一个 CI 构建工作流,在完成时触发 CD 发布/部署工作流。这样你可以为 CI 和 CD 维护单独的工作流,并根据需要在它们之间传递数据。

关于 workflow_dispatch 事件的详细信息,请参阅这篇介绍此类触发器的博文

注意 1. GitHub 现在有一种名为"可重用工作流"的原生方式来链接工作流。请参阅重用工作流的文档。这种方法与 workflow_dispatch 有所不同,但值得记住。

注意 2. GitHub UI 会将此 Action 触发的工作流报告为"手动触发",尽管它们实际上是通过另一个工作流和 API 以编程方式运行的。

注意 3. 如果你想通过 ID 引用目标工作流,你需要使用以下 REST API 调用列出它们:curl https://api.github.com/repos/{{owner}}/{{repo}}/actions/workflows -H "Authorization: token {{pat-token}}"

Action 输入

workflow

必需。 要触发和运行的工作流的名称、文件名或 ID。在查找工作流时会使用这三种可能性。例如:

workflow: My Workflow
# 或
workflow: my-workflow.yaml
# 或
workflow: 1218419

inputs

可选。 传递给工作流的输入(如果配置了的话),必须是 JSON 编码的字符串,例如 { "myInput": "foobar" }

ref

可选。 与触发的工作流运行一起使用的 Git 引用。引用可以是分支、标签或提交 SHA。如果省略,则使用触发工作流的上下文引用。如果你想在拉取请求上触发并在拉取请求分支的上下文中运行目标工作流,请将 ref 设置为 ${{ github.event.pull_request.head.ref }}

repo

可选。 默认行为是在触发工作流的同一仓库中触发工作流,如果你希望在另一个 GitHub 仓库中"外部"触发,则提供所有者 + 仓库名称,中间用斜杠分隔,例如 microsoft/vscode

  • 当跨仓库触发时,你必须提供 token(见下文),否则会收到 "Resource not accessible by integration" 错误。
  • 如果其他仓库的默认分支与调用仓库不同,你还必须提供 ref 输入,否则会收到 "No ref found" 错误。

token

可选。 默认情况下将使用标准的 github.token/GITHUB_TOKEN,你不再需要在此处提供自己的令牌。

⚠️ 重要: 当使用 repo 选项跨仓库调用时,你必须提供令牌。为此,创建一个具有仓库权限的 PAT 令牌,并通过密钥在此处传递,例如 ${{ secrets.MY_TOKEN }}

此选项也为向后兼容保留,因为在旧版本中此字段是强制性的。

Action 输出

此 Action 输出一个名为 workflowId 的单一输出。

使用示例

- name: 调用没有输入的工作流
  uses: benc-uk/workflow-dispatch@v1
  with:
    workflow: My Workflow
- name: 调用带输入的工作流
  uses: benc-uk/workflow-dispatch@v1
  with:
    workflow: Another Workflow
    inputs: '{ "message": "blah blah", "something": true }'
- name: 调用另一个仓库中带输入的工作流
  uses: benc-uk/workflow-dispatch@v1
  with:
    workflow: my-workflow.yaml
    repo: benc-uk/example
    inputs: '{ "message": "blah blah", "something": false }'
    # 使用 `repo` 选项时需要。可以是 PAT 或从 GitHub 应用或 CLI 生成的令牌
    token: "${{ secrets.MY_TOKEN }}"
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号