跳到主要内容

触发流水线

了解如何使用Webhook、REST API和Slack触发您的Buddy流水线

Buddy中的流水线可以通过三种不同的方式触发:

  1. 事件(自动) — 开发环境时推荐使用
  2. 手动(点击触发) — 产品环境时推荐使用
  3. 定时(按时间间隔) — 暂存/测试的时候推荐使用

除此之外,还可以使用以下方法触发流水线:

  1. Webhook
  2. REST API
  3. 提交命令
  4. Slack命令

Webhook

如果要使用Webhook触发流水线,请转到流水线设置并点击右侧下拉菜单中的"Webhook网址”按钮。将出现一个带有URL的代码框,该URL可用于从远程服务运行流水线: HTTP Request

默认情况下,每个请求都会触发分支中HEAD版本的执行。或者您可以发送一些参数来自定义执行。这些参数可以在URL查询中发送,也可以作为POST参数发送。

参数

运行修订版

示例
revision=38ebd0cc80895dadbf0e8c3d667123630f64ec6a

从头开始上传

fromScratch=1

清除缓存

clearCache=1

注解

comment=my%20comment

分支 (用于通配流水线)

branch=dev

标签 (用于通配流水线)

tag=mytag

自定义环境变量

myenv=value

示例

带有查询参数的HTTP GET

GET
https://app.buddy.works/buddyworks/buddy-demo/pipelines/pipeline/189325/trigger-webhook?token=98a7a230afe6827ba8a2cd1e96c626ba6b0d0e289a25ef9094129bc28d02763f703bfea3d8e37fe2dabe61875b242f51&revision=38ebd0cc80895dadbf0e8c3d667123630f64ec6a

HTTP POST带有Content-Type: application/json

POST
https://app.buddy.works/buddyworks/buddy-demo/pipelines/pipeline/189325/trigger-webhook?token=98a7a230afe6827ba8a2cd1e96c626ba6b0d0e289a25ef9094129bc28d02763f703bfea3d8e37fe2dabe61875b242f51
{
"comment": "my comment",
"clearCache": 1,
"env1": "env value"
}

HTTP POST带有Content-Type: application/x-www-form-urlencoded

POST
https://app.buddy.works/buddyworks/buddy-demo/pipelines/pipeline/189325/trigger-webhook?token=98a7a230afe6827ba8a2cd1e96c626ba6b0d0e289a25ef9094129bc28d02763f703bfea3d8e37fe2dabe61875b242f51
fromScratch=1
&tag=version%201
%env=val

REST API

触发流水线的另一种方法是使用Buddy的外部REST API。您需要做的是执行资源URL(如下)并将POST Param to_revision发送给它。

POST
/workspaces/:domain/projects/:project_name/pipelines/:pipeline_id/executions

API请求需要先授权。为此,您可以使用OAuth个人访问令牌

提交命令

流水线也可以通过附加到提交消息的命令从终端远程运行。例如,$ git commit -am "website hotfix --run production" 将触发名为“Production”的流水线。

操作命令
运行特定流水线--run NAME --run "NAME WITH SPACES"
不运行(自动化)流水线--skip
运行前清除缓存--clear-cache
一切从头开始上传--from-scratch

Slack

将Buddy与Slack集成将允许您使用斜杠命令运行流水线。要配置集成,请转到流水线相关信息并点击下拉菜单中的“Slack命令”。该选项将打开一个新页面,其中包含配置斜杠命令所需的流水线URL:

Slack斜杠命令

斜杠命令

一旦配置完成后,您可以从Slack频道运行以下命令:

操作命令
获取流水线状态/[name] status
运行执行/[name] run
运行执行 + 清除缓存/[name] clear run
取消执行(必须是正在进行中)/[name] cancel
再次运行执行(必须是已终止或已取消)/[name] retry
从头开始运行/[name] refresh
从头开始运行 + 清除缓存/[name] clear refresh
运行和刷新可用于任何修订/[name] run/refresh 1c002dd
清除和修订可以一起运行/[name] clear run 1c002dd
审核等待中的流水线/[name] approve
将参数传递给等待中的流水线:/[name] params a=b c="some text"*

*[name]是您在Slack中输入的命令的名称

对于通配流水线,您可以发送分支、标记或拉取请求:

/[name] clear run tag=1.1
/[name] clear run branch=dev
/[name] clear run pullRequest=feature-update
/[name] clear run revision=1c002dd