Jenkins管道从git提交获取变量

Jenkins管道从git提交获取变量,git,jenkins,jenkins-pipeline,pipeline,Git,Jenkins,Jenkins Pipeline,Pipeline,我有一个关于詹金斯管道的问题。我希望有一个从git提交中获取数据的变量 例如,如果git提交说“Version1.0.0”,那么Jenkins文件中的变量应该是“1.0.0”。如果提交是2.0.0,那么变量应该是2.0.0 我已经看到,在Jenkins中使用changelog选项可以从Git提交中获取数据,不幸的是,我不知道如何将这些数据放入变量中 有人能帮我吗 我已经看到并尝试了以下内容 pipeline { when { changelog '1.0.0.0'

我有一个关于詹金斯管道的问题。我希望有一个从git提交中获取数据的变量

例如,如果git提交说“Version1.0.0”,那么Jenkins文件中的变量应该是“1.0.0”。如果提交是2.0.0,那么变量应该是2.0.0

我已经看到,在Jenkins中使用
changelog
选项可以从Git提交中获取数据,不幸的是,我不知道如何将这些数据放入变量中

有人能帮我吗

我已经看到并尝试了以下内容

pipeline {
    when {
        changelog '1.0.0.0'
    }
    environment {
        nicevariable = " here should be the gitcommit see changelog"
    }



    agent none
    stages {
        stage("first") {
            sh "echo ${nicevariable}"
        }
    }
}

您可以定义环境变量,例如:


非常感谢,但问题是,如果我发出一条echo GIT_消息,我也将成为执行的整个命令E:/workspace blabal gitlog。。。在第二行中,我变成了git消息,我们可以禁用整个命令吗?我只需要git消息,您的git消息将在
${git_message}
中。此回显部分仅用于说明值,您可以根据需要对值执行任何操作,而不一定回显它。
pipeline {
    agent any
    environment {
        GIT_MESSAGE = """${sh(
            script: 'git log --no-walk --format=format:%s ${GIT_COMMIT}', 
            returnStdout: true
            )}"""
    }
    stages {
        stage('test') {
            steps {
                sh 'echo "Message: --${GIT_MESSAGE}--"'
            }
        }
    }
}