将“ Stash Pullrequest Builder插件”升级到1.9版或更高版本后,缺少参数变量

时间:2019-06-26 09:20:02

标签: jenkins bitbucket

上次我已将Stash Pullrequest Builder插件升级到1.9版,此后任何触发的构建都具有空参数列表(文档中指定的$ {pullRequestId}之类的参数变量不可用:https://github.com/jenkinsci/stash-pullrequest-builder-plugin/blob/master/README.md)。现在,我尝试了1.10版,并且遇到了同样的问题。使用1.8版,一切正常。

1.8:

enter image description here

1.9 / 1.10:

enter image description here

我在2.180版中使用Jenkins,在3.10.0版中使用Git插件

也许有些人遇到过同样的问题?任何帮助,我将不胜感激。

1 个答案:

答案 0 :(得分:2)

Jenkins在2.3版中进行了更改,以禁止在项目配置中未声明的参数中添加参数。这样做的目的是为了防止当攻击者控制的项目调用具有任意参数的另一个项目时出现安全问题。由于构建脚本将参数视为环境变量,因此攻击者可能使构建加载成为不受信任的库。由于可能由不同的用户控制不同的项目并以不同的特权运行,因此这种行为将使攻击者能够利用他或她不允许配置的项目的权限。该问题称为SECURITY-170

隐藏请求请求构建器正在向构建中添加10个参数,以提供有关正在构建的请求的信息。继SECURITY-170实现之后,该插件在1.7.0版中进行了更改,以将这些值也作为环境变量传递。这些环境变量将记录到构建历史记录中。如果已安装Build Environment Plugin,则可以查看它们。

从1.9版开始,Stash Pull Request Builder插件删除了通过参数传递Pull Request数据的旧机制,因为它在Jenkins日志中引起大量警告。

该插件的README.md文件刚刚更新为使用术语“环境变量”以避免混淆。

如果确实需要参数,则可以为项目定义它们。从下一个版本的插件(大概为1.11)开始,配置的参数将使用环境变量可用的相同值填充。