Webhook 触发流水线

更新时间:
复制为 MD 格式

本文主要介绍了如何使用Webhook触发方式运行流水线。

前提条件

开启配置Webhook触发可以快捷的实现流水线自动化任务运行,使流水线任务运行更简洁,做到无缝集成与高效部署。

在流水线配置页面单击触发设置页签,打开Webhook触发开关后,页面将显示通用Webhook流水线源Webhook两个URL地址,单击对应URL右侧的复制按钮获取地址,然后单击右上角仅保存保存并运行完成配置。

重要

若您需要使用Webhook触发运行流水线,请您先确保Webhook触发开关是打开状态。Webhook触发通常适用于代码源以外的第三方工具调用,同时也支持自有系统配置后进行触发运行流水线。

Webhook触发运行流水线

方式一:通用Webhook触发

启用流水线Webhook触发后,可以直接使用以下命令触发运行流水线。

curl --header "Content-Type: application/json" --request POST --data "{}" http://flow-openapi.aliyun.com/pipeline/webhook/your-webhook

方式二:流水线源Webhook触发

流水线源Webhook触发的地址与代码源触发制品源触发一致,您可以结合需求场景选择配置即可。

方式三:环境变量Webhook触发

Webhook触发支持环境变量触发,您可以使用默认的变量参数与默认值进行触发;也可以在运行命令中自定义默认值,使用变量参数和新定义的默认值来触发。具体操作如下:

在流水线编辑页面选择变量和缓存页签,在左侧选择变量,于字符变量区域添加环境变量。

  • 使用变量参数和新定义的默认值来触发。

    curl --header "Content-Type: application/json" --request POST --data "{\"abc\":\"456\"}" http://flow-openapi.aliyun.com/pipeline/webhook/your-webhook
  • 触发前示例中的环境变量abc默认值123,触发后的流水线打印变量值输出456

    [executionStep begins at 2024-10-12 14:19:25]
    ##################################################################
        # name      : Command
        # version   : v1.0.69
        # description : execute shell command
        # help url  : https://atomgit.com/flow-step/Command.git
        # build id  : f097ed94-f9fa-40cc-a34a-64741c07ed4a
    ##################################################################
    2024-10-12 14:19:25 [INFO] Given shell executor: [] useGivenShell: [false]
    2024-10-12 14:19:25 [INFO] Invoke script with shell [bash]
    2024-10-12 14:19:25 [INFO] ------ User Command Content ------
    # input your command here
    echo ${abc}
    2024-10-12 14:19:25 [INFO] ------ User Command Content ------
    2024-10-12 14:19:25 [INFO] 456
    2024-10-12 14:19:25 [SUCCESS] run step successfully!

对于任意第三方对接,均可以通过以上方式触发运行流水线。

常见问题

通过Webhook触发流水线失败,提示:权限不足

当使用 Webhook 触发流水线时,系统会默认以最近一次启用 Webhook 触发功能的用户身份执行流水线,继承该用户的权限上下文。如果该用户权限不足或已被移除权限,将导致触发失败。请按以下步骤更新权限操作:

  1. 禁用Webhook触发功能。

  2. 由可以成功运行流水线的用户重新启用Webhook触发功能。

  3. 重新发起Webhook请求进行验证。