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

如何将Script段内定义的变量传递给Bitbucket Pipeline的Pipe

Bitbucket Pipelines 脚本内定义变量传递给Pipe的解决方法

问题原因

YAML格式声明的Pipe,其variables下的参数值会在Pipeline任务初始化、YAML文件解析阶段就完成变量替换,此时script段的export命令尚未执行,因此自定义变量会被解析为空值。同时你给出的示例中export MY_MESSAGE = "Hello world"存在Shell语法错误,export语句的等号两侧不能有空格。

可行解决方法

使用Bitbucket官方内置的run-pipe命令行工具调用Pipe,该命令在script的Shell上下文内执行,会读取当前Shell已经导出的所有环境变量,可以正常获取自定义变量值。

修正后的配置示例如下:

script:
  - export MY_MESSAGE="Hello world"
  - run-pipe atlassian/slack-notify:0.2.1 \
      --variable WEBHOOK_URL="$WEBHOOK_URL" \
      --variable MESSAGE="$MY_MESSAGE"

注意事项

  • 如果变量值包含空格、特殊符号,必须用双引号包裹参数值,避免被Shell拆分解析
  • 所有YAML块声明的Pipe都可以通过run-pipe命令调用,参数和YAML格式的variables配置完全对应

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 20:36:01