正しくエコーしている入力、つまり「Destroy:true」のパイプラインがありますが、「sh」スクリプト内の次のエコーにはありません。$ {destroyCluster}または$ destroyClusterを試しましたが、違いはありません。エコーは空です
script {
def destroyCluster = input(
id: 'destroyCluster', message: 'Destroy cluster ?',
parameters: [[$class: 'BooleanParameterDefinition', defaultValue: false, description: 'Destroy cluster', name: 'destroy'],
]
)
echo ("Destroy: "+ destroyCluster)
sh '''
echo "${destroyCluster}"
'''
ここでの問題は、Groovy変数をシェルステップメソッドに渡して解釈する場合はGroovy内で補間するか、Groovy内でファーストクラスの式として使用する必要があることです。
これらの可能性の両方の例を示します。
script {
def destroyCluster = input(
id: 'destroyCluster',
message: 'Destroy cluster ?',
parameters: [[$class: 'BooleanParameterDefinition',
defaultValue: false,
description: 'Destroy cluster',
name: 'destroy']])
echo "Destroy: ${destroyCluster}" // proper Groovy interpolation
print destroyCluster // first class expression
Jenkins Pipelineログで標準出力に何も出力されない場合destroyCluster
は、void
タイプメソッドであり、何も返しません。その場合、戻り値を割り当てて利用することはできません。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加