2016-09-01 10 views
0

私はジェンキンパイプラインを持っています。これは技術者以外の人によってトリガされ、技術者はこのビルドを承認または却下します。 私の問題は、その流れの中で、技術者は、空である(技術者でない人は知らない、または入力を忘れた)いくつかのパラメータを変更/記入する必要があるということです。ジェンキンスパイプラインのパラメータをチェックして変更することは可能ですか?

stage 'Waiting Approval' 
currentBuild.displayName = "Waiting for Approvel:" + name 
timeout(time: 5, unit: 'DAYS') 
     { 
      input message: "Do you approve creating new user("+ name +")?", ok: 'Approve', submitter: 'Bilisim' 
     } 

// ########### STEP For Checking Missing or Wrong Parameters & Correct Them !!!! ############## 
node('domainController') { 
    stage 'Create New User' 
    currentBuild.displayName = "Creating AD User:"+name 
    build job: 'Create New AD User', parameters: [string(name: 'groups', value: groups), string(name: 'emailAdd', value: emailAdd), string(name: 'name', value: name), string(name: 'surname', value: surname), string(name: 'title', value: title), string(name: 'department', value: department), string(name: 'manager', value: manager), string(name: 'company', value: company), string(name: 'streetAdd', value: streetAdd), string(name: 'city', value: city), string(name: 'state', value: state), string(name: 'country', value: country), string(name: 'pcode', value: pcode), booleanParam(name: 'sendMail', value: sendMail.toBoolean()), booleanParam(name: 'details', value: details.toBoolean()), string(name: 'ou', value: ou)] 
    currentBuild.displayName = "Finished Creating User:" + name 
} 

答えて

0

Jenkinsパイプラインパラメータは変数としてパイプラインに渡されるため、変数値を更新できます。ビルドビューで実際にパラメータを変更することはできませんが、技術者の入力を待って、必要であれば技術者以外のパラメータを置き換えることができます。

例:

stage "Stage 1" 
echo "Non-technical person parameter : ${name}" 

stage "Waiting approval" 
timeout(time: 5, unit: 'DAYS') { 
    def technicalApprovedUser = input id: 'input_approved_name' message: "Do you approve creating new user("+ name +")?", ok: 'Approve', submitter: 'Bilisim', parameters: [[$class: 'StringParameterDefinition', defaultValue: "${name}", description: '', name: 'User Name']] 
} 

stage 'Create New User' 
currentBuild.displayName = "Creating AD User:"+technicalApprovedUser 
build job: 'Create New AD User', parameters: [string(name: 'groups', value: groups), string(name: 'emailAdd', value: emailAdd), string(name: 'name', value: technicalApprovedUser), string(name: 'surname', value: surname), string(name: 'title', value: title), string(name: 'department', value: department), string(name: 'manager', value: manager), string(name: 'company', value: company), string(name: 'streetAdd', value: streetAdd), string(name: 'city', value: city), string(name: 'state', value: state), string(name: 'country', value: country), string(name: 'pcode', value: pcode), booleanParam(name: 'sendMail', value: sendMail.toBoolean()), booleanParam(name: 'details', value: details.toBoolean()), string(name: 'ou', value: ou)] 
currentBuild.displayName = "Finistère Creating User:" + technicalApprovedUser 
関連する問題