如何仅在PR创建时而非更新时运行Bitbucket Pipeline?
实现Bitbucket Pipeline仅在PR创建时运行
Bitbucket Pipelines本身没有直接的配置项让PR关联的Pipeline仅在创建时触发,但可以通过检查触发事件的类型来实现这个需求。
具体做法是利用Bitbucket自动注入的环境变量BITBUCKET_EVENT_TYPE,在Pipeline脚本里添加条件判断:只有当变量值为pullrequest:created时,才执行实际的任务逻辑,PR更新时直接跳过。
修改后的配置示例如下:
pipelines: pull-requests: "**": - step: script: - if [ "$BITBUCKET_EVENT_TYPE" = "pullrequest:created" ]; then echo "开始执行PR创建时的任务" # 这里替换成你需要运行的实际命令 else echo "当前是PR更新操作,跳过Pipeline执行" fi
补充说明
- 当PR首次创建时,
BITBUCKET_EVENT_TYPE的值为pullrequest:created; - 当向PR关联的分支推送新代码、更新PR描述等操作触发Pipeline时,
BITBUCKET_EVENT_TYPE的值为pullrequest:updated; - 通过这个条件判断,就能精准控制Pipeline只在PR创建阶段运行。
内容的提问来源于stack exchange,提问作者Nastya Sekerich
相关产品推荐
相关产品推荐

