如何在 jenkins groovy 中使用 fmt_case?
How to use fmt_case in jenkins groovy?
我正在尝试在 Groovy 沙盒中的 Jenkins 管道中使用以下命令。
descr -fmt "%[rec_bls]CXp" stream:stream_name@\my_vob
虽然如果从 windows cmd 执行该命令可以正常运行,但在 Jenkins 阶段执行时会抛出以下错误。
Running batch script
path_to_workspace>cleartool describe -fmt 'stream_name@\my_vob
cleartool: Error: Object selector required.
Usage: describe -graphical pname …
...
…
下面是 Jenkins 阶段片段:
stage ('Test') {
agent {label 'Jenkins_Label'}
steps{
bat """
cleartool describe -fmt "%[rec_bls]CXp" stream:stream_name@\vob_name
"""
}
}
首先检查这是否是因为 -fmt "%[rec_bls]CXp"
,其引用在 Jenkins bat shell 会话中被错误解释。
例如:
stage ('Test') {
agent {label 'Jenkins_Label'}
steps{
bat """
cleartool describe -l stream:stream_name@\vob_name
"""
}
}
如果可行,请尝试查看如何添加这些引号。
例如:
cleartool describe -fmt """%[rec_bls]CXp""" stream:stream_name@\vob_name
# or
cleartool describe -fmt \"%[rec_bls]CXp\" stream:stream_name@\vob_name
如果“%
”是问题所在,escape it:
cleartool describe -fmt \"%%[rec_bls]CXp\" stream:stream_name@\vob_name
这将阻止 bat 会话将其解释为变量环境。
我找到了解决办法。使用 %% 解决问题!
cleartool describe -fmt \"%%[rec_bls]CXp\" stream:stream_name@\vob_name
我正在尝试在 Groovy 沙盒中的 Jenkins 管道中使用以下命令。
descr -fmt "%[rec_bls]CXp" stream:stream_name@\my_vob
虽然如果从 windows cmd 执行该命令可以正常运行,但在 Jenkins 阶段执行时会抛出以下错误。
Running batch script
path_to_workspace>cleartool describe -fmt 'stream_name@\my_vob
cleartool: Error: Object selector required.
Usage: describe -graphical pname …
...
…
下面是 Jenkins 阶段片段:
stage ('Test') {
agent {label 'Jenkins_Label'}
steps{
bat """
cleartool describe -fmt "%[rec_bls]CXp" stream:stream_name@\vob_name
"""
}
}
首先检查这是否是因为 -fmt "%[rec_bls]CXp"
,其引用在 Jenkins bat shell 会话中被错误解释。
例如:
stage ('Test') {
agent {label 'Jenkins_Label'}
steps{
bat """
cleartool describe -l stream:stream_name@\vob_name
"""
}
}
如果可行,请尝试查看如何添加这些引号。
例如:
cleartool describe -fmt """%[rec_bls]CXp""" stream:stream_name@\vob_name
# or
cleartool describe -fmt \"%[rec_bls]CXp\" stream:stream_name@\vob_name
如果“%
”是问题所在,escape it:
cleartool describe -fmt \"%%[rec_bls]CXp\" stream:stream_name@\vob_name
这将阻止 bat 会话将其解释为变量环境。
我找到了解决办法。使用 %% 解决问题!
cleartool describe -fmt \"%%[rec_bls]CXp\" stream:stream_name@\vob_name