如何从executeshell引用Jenkins Github存储库名称?

如何从executeshell引用Jenkins Github存储库名称?,git,jenkins,github,jenkins-plugins,Git,Jenkins,Github,Jenkins Plugins,我在Jenkins工作的源代码管理部分看到,有一个名字 我可以使用环境变量在“执行脚本”部分引用此名称吗 我已经阅读了的文档,但是,这里没有关于如何引用给定名称的信息 这将非常有用,因为我希望每个Git存储库都有一个不同的变量,使用该变量将是理想的选择。我发现没有环境变量只能访问该名称 使用名称时,GitHub的环境分支名称使用分支名称中通常包含的origin或remote名称。例如,如果GitHub分支名称是mynewfeature,Jenkins环境会将该分支名称理解为CustomName

我在Jenkins工作的源代码管理部分看到,有一个名字

我可以使用环境变量在“执行脚本”部分引用此名称吗

我已经阅读了的文档,但是,这里没有关于如何引用给定名称的信息


这将非常有用,因为我希望每个Git存储库都有一个不同的变量,使用该变量将是理想的选择。

我发现没有环境变量只能访问该名称

使用名称时,GitHub的环境分支名称使用分支名称中通常包含的
origin
remote
名称。例如,如果GitHub分支名称是
mynewfeature
,Jenkins环境会将该分支名称理解为
CustomName/mynewfeature


${GIT_BRANCH}
返回
CustomName/mynewfeature
允许在Jenkins的执行脚本操作中访问Name变量。

如果作业定义位于Jenkins文件中,无论是作为声明管道还是脚本管道,您都可以在环境块中创建全局或每阶段环境变量

环境变量可以作为shell步骤或groovy脚本或函数的结果动态创建,请参见下面从文档中获取的声明性管道语法示例

在您的例子中,您希望检索源代码管理中提供的名称的值,这似乎不像我在线程中看到的那样微不足道,在这种情况下,名称是从git url本身提取的,而不是从自定义名称提取的

如果您使用的是声明性管道方法,我想知道定义一些字符串变量来保存repo的自定义名称是否可行,是否有意义,并将这些变量同时用于这两种方法,将它们用作签出步骤的参数值,另一方面,在环境块中指定环境变量的值

pipeline {
    agent any 
    environment {
        // Using returnStdout
        CC = """${sh(
                returnStdout: true,
                script: 'echo "clang"'
            )}""" 
        // Using returnStatus
        EXIT_STATUS = """${sh(
                returnStatus: true,
                script: 'exit 1'
            )}"""
    }
    stages {
        stage('Example') {
            environment {
                DEBUG_FLAGS = '-g'
            }
            steps {
                sh 'printenv'
            }
        }
    }
}