I have tried this, but it complains:
groovy.lang.MissingPropertyException: No such property: moduleName for class:
WorkflowScript
Here is the full Jenkinsfile:
The majority of it can be disregarded... the issue at hand is the use of
the variables, ${repoName}, ${moduleName}, etc...
ReposToUpdate and npmDependencies are Extended choice parameters e.g.:
myrepo1,myrepo2,myrepo3,...
def repoList = ReposToUpdate.tokenize(",");
def moduleList = npmDependencies.tokenize(",");
pipeline {
agent {
label 'cert_mgmt'
}
stages {
stage ("Update package.json") {
steps {
script {
for (String repoName : repoList) {
sshagent (credentials: ['credentials-ID']) {
sh """
git clone -b master
git@****.com:****/${repoName}.git
cd ${repoName}
stat -t . > folderStat1.txt
for (String moduleName : moduleList) {
ncu -u -f "${moduleName}"
}
stat -t . > folderStat2.txt
"""
def folderStat1 = readFile('folderStat1.txt').trim()
def folderStat2 = readFile('folderStat2.txt').trim()
if (folderStat1 == folderStat2) {
slackSend (
color: '#199515',
message: "$JOB_NAME: <$BUILD_URL|Build
#$BUILD_NUMBER> ${repoName}: Common code dependencies match the latest
package versions."
)
}
else {
sh """
cd ${repoName}
git config --global user.name "****"
git config --global user.email ****
git commit -am 'Bump common packages version
number [ci skip]'
git push origin master
cd ..
rm -rf ${repoName}
"""
slackSend (
color: '#199515',
message: "$JOB_NAME: <$BUILD_URL|Build
#$BUILD_NUMBER> ${repoName}: Common code dependencies successfully updated
to the latest package versions."
)
}
}
}
}
}
}
}
post {
failure {
slackSend (
color: '#F01717',
message: "$JOB_NAME: <$BUILD_URL|Build #$BUILD_NUMBER>, Update
failed. Review the build logs."
)
}
}
}
On Sunday, July 30, 2017 at 10:48:39 PM UTC+3, Joachim Nilsson wrote:
>
> As I understand, it is written in Groovy. That means you can access a
> variable in a (Groovy)string using dollar and optionally curly brackets.
>
> " variable value is ${variable} "
>
> Skaffa Outlook för Android <https://aka.ms/ghei36>
>
>
>
> Från: Idan Adar
> Skickat: söndag 30 juli 13:56
> Ämne: Accessing a variable in shell
> Till: Jenkins Users
>
>
> Given the following script block in a stage (Declarative pipeline), how
> can I access the repoName variable?
>
> stages {
> stage("...") {
> script {
> for (String repoName: repoList) {
> sshagent (credentials:
> ['e276113e-0ec9-4eaa-88f9-a7db5c9635b6']) {
> sh """
> git clone -b master git@****.com:****/repoName.git
> cd repoName
> ....
> """
> }
> }
> }
> }
> }
>
> --
> You received this message because you are subscribed to the Google Groups
> "Jenkins Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected] <javascript:>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jenkinsci-users/d9d247a5-8ab9-4154-99c5-8c77b0861ec2%40googlegroups.com
>
> <https://groups.google.com/d/msgid/jenkinsci-users/d9d247a5-8ab9-4154-99c5-8c77b0861ec2%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>
>
>
--
You received this message because you are subscribed to the Google Groups
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jenkinsci-users/f5ba050e-2d42-47d4-8183-89e43edc6fec%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.