如何使用Github webhook触发的分支名称命名Jenkins作业中的自定义工作区?

如何使用Github webhook触发的分支名称命名Jenkins作业中的自定义工作区?,github,jenkins,devops,Github,Jenkins,Devops,我在Jenkins中创建了一个作业,由GitHub中使用Webhook的任何分支上的提交触发。 我想为每个作业触发器创建一个自定义工作区,并分别使用分支提交 我尝试了以下选项,但未能实现。谢谢你的帮助 Job Name : Test_Clone 在“常规”部分使用了“高级”选项,并尝试在下面的选项中动态命名工作区 Test\u Clone\u${GIT\u BRANCH}-始终提供以前生成的分支名称 Test\u Clone\u${ref}-尝试使用GitHub webhook负载中定义的re

我在Jenkins中创建了一个作业,由GitHub中使用Webhook的任何分支上的提交触发。
我想为每个作业触发器创建一个自定义工作区,并分别使用分支提交

我尝试了以下选项,但未能实现。谢谢你的帮助

Job Name : Test_Clone
在“常规”部分使用了“高级”选项,并尝试在下面的选项中动态命名工作区

  • Test\u Clone\u${GIT\u BRANCH}
    -始终提供以前生成的分支名称
  • Test\u Clone\u${ref}
    -尝试使用GitHub webhook负载中定义的ref,但没有结果

  • 为了实现:Ex:Commit from GitHub branch
    release-2.13.0
    ,Jenkins应该创建名为
    Test\u Clone\u release-2.13.0
    的工作区

    您可以尝试设置

    • 首先是Jenkins构建中的有效负载变量,如“”中所述
    • 然后是以下内容的webhook url(在GitHub端):

      http:///job//buildWithParameters?token=
      
    然后Jenkins作业将包含XMLWebhook负载,您可以分析()并提取数据


    从那里,我将使用带有该分支名称的“
    branch
    ”参数调用(链)第二个作业(除非您可以使用Jenkins 2编写),以便第二个作业使用基于该参数的自定义工作区名称,您可以尝试并设置该参数

    • 首先是Jenkins构建中的有效负载变量,如“”中所述
    • 然后是以下内容的webhook url(在GitHub端):

      http:///job//buildWithParameters?token=
      
    然后Jenkins作业将包含XMLWebhook负载,您可以分析()并提取数据


    从那里,我将使用带有该分支名称的“
    分支
    ”参数调用(链)第二个作业(除非您可以使用Jenkins 2编写一个),以便第二个作业使用基于该参数的自定义工作区名称

    谢谢。我尝试过这个选项,但用了不同的方法,创建了第一个作业,用GIT_分支定义env变量,并在下一个作业中使用相同的方法,它可以工作。但是,在不创建单独的作业来定义env变量或解析json的情况下尝试实现同样的效果,如果没有其他方法,那么我将只使用一个作业来准备env变量。如果这些信息有帮助的话:我有一个构建管道,其中有4个作业定义为上游和下游项目,管道DSL可以提供帮助,将多个步骤链接到一个作业中我们不使用管道DSL来链接多个步骤,由于我们有较小的项目管道,我们通过在构建后操作中定义触发器参数化构建来使用上游/下游模型。谢谢。我尝试过这个选项,但用了不同的方法,创建了第一个作业,用GIT_分支定义env变量,并在下一个作业中使用相同的方法,它可以工作。但是,在不创建单独的作业来定义env变量或解析json的情况下尝试实现同样的效果,如果没有其他方法,那么我将只使用一个作业来准备env变量。如果这些信息有帮助的话:我有一个构建管道,其中有4个作业定义为上游和下游项目,管道DSL可以提供帮助,将多个步骤链接到一个作业中我们不使用管道DSL来链接多个步骤,由于我们有较小的项目管道,我们通过在构建后操作中定义触发器参数化构建来使用上游/下游模型。
    http://<<yourserver>>/job/<<yourjob>>/buildWithParameters?token=<<yourtoken>>