簡體   English   中英

如何在Jenkins管道中將groovy變量傳遞給powershell?

[英]How to pass groovy variable to powershell in Jenkins pipeline?

我正在嘗試將groovy變量傳遞給jenkins管道內的powershell腳本,所有這些都在同一個地方,但我不知道如何。 我嘗試了不同的方法但沒有成功

我要求這個獲取批准PIPELINE步驟的人的名字並將其傳遞給PowerShell,后者與SQL SERVER連接

    stage('Step1'){
      steps{ 
        script{
         def approverDEV
         approverDEV = input id: 'test', message: 'Hello', ok: 'Proceed?', parameters: [choice(choices: 'apple\npear\norange', description: 'Select a fruit for this build', name: 'FRUIT'), string(defaultValue: '', description: '', name: 'myparam')], submitter: 'user1,user2,group1', submitterParameter: 'APPROVER'

          echo "This build was approved by: ${approverDEV['APPROVER']}"
        }
      }
    }

stage('Step2'){
  steps{ 
    script{
      powershell ('''
       # Example echo "${approverDEV['APPROVER']}"
       # BUT THIS DOESN'T WORK :(
      ''')
    }
  }
}

我希望輸出是存儲在變量GROOVY approverDEV中的批准者的名稱

Dagett是正確的,在powershell腳本周圍使用雙引號,然后將評估變量:

script{
  powershell ("""
   # Example echo "${approverDEV['APPROVER']}"
   # BUT THIS DOESN'T WORK :(
  """)
}

在Groovy中使用三重雙引號稱為“多行GString”。 在GString中,將在創建實際String之前評估變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM