Так что пара вещей здесь происходит.Сначала вам нужно добавить строковый параметр, чтобы запросить ввод у пользователя, затем вам нужно передать его в сценарий оболочки, а затем вам нужно убедиться, что сценарий оболочки может его использовать.
Я не вижу необходимости в withEnv, вы можете передавать переменные в скрипт без этого.
Просто убедитесь, что ваш сценарий оболочки получает EMAIL_ADDRESS от $ 3
#!groovy
@Library('Shared@release/v1')
import jenkins.BuildSupport
properties([parameters([string(name: 'EMAIL_ADDRESS', description: 'Enter the email address'), choice(choices: ['dev','uat','prod'], description: 'Select the Environment', name: 'ENVIRONMENT'), choice(choices: ['a1','a2','all'], description: 'Select the Service', name: 'SERVICENAME')])])
node{
WORKSPACE = pwd()
//checkout code from shared library
stage ('Code Checkout'){
codeCheckout
}
//post build work
stage('Executing Health Check') {
sh '''
set +x
ls -l
./script.sh $ENVIRONMENT $SERVICENAME $EMAIL_ADDRESS
'''
}
}