Reputation: 3881
How can I get the content of the pipeline configuration field 'Script Path' in Jenkins from the Jenkinsfile (groovy)?
In this example: I want to get the string 'Apps/mq-logger/Jenkinsfile' when executing the Jenkinsfile itself.
Upvotes: 10
Views: 6648
Reputation: 24947
If you want this string to be customizable during the build time, you can create a parameterized build as follows:
When you want to access this in your pipeline script by ${FileParameter} as follows:
pipeline {
stages {
stage('Perform verification') {
steps {
script {
echo "${FileParameter}"
}
}
}
}
If you don't want it to be customizable, then you can use global var. But if your target is to just get string form Script Path
, then you have to use @Vitalii Vitrenko
answer to use:
def scriptPath = currentBuild.rawBuild.parent.definition.scriptPath
and approve necessary permissions
Upvotes: 2
Reputation: 10435
You can get a script path this way
def scriptPath = currentBuild.rawBuild.parent.definition.scriptPath
Note that you have to approve all these methods.
Upvotes: 9