我很好奇是否可以在 Jenkins 声明性管道代码中定义字符串验证器插件?我已经通过作业 UI 定义了一个工作设置,但我的目的是将所有内容放在定义为的管道中:
string(name='', ......).
Run Code Online (Sandbox Code Playgroud)
不幸的是,网络上的所有示例都在解释如何在我已经拥有的 UI 中设置验证。或者它是管道模型中不支持的插件之一?
我正在尝试比较詹金斯管道中的两个字符串。代码大致如下所示:
script {
def str1 = 'test1.domainname-test.com'
def str2 = 'test1.domainname-test.com'
if ( str1 == str2 ) {
currentBuild.result = 'ABORT'
error("TENANT_NAME $TENANT_NAME.domainname-test.com is already defined in domainname-test.com record set. Please specify unique name. Exiting...")
}
}
Run Code Online (Sandbox Code Playgroud)
由于简单起见,str1由前面的命令提供。我收到此错误:
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: No such field found: field java.lang.String domainname
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?我也尝试过equals方法,结果相同。好像它粘在那些圆点上,认为这是某种性质。提前致谢