1

我已经在指向 Openshift 的 bitbucket 服务器上配置了 webhook。我想从我的内联 jenkinsfile 中的 webhook 有效负载中获取 GIT repo url、git branch 等,但我不知道如何检索它们。(虽然 Webhook 触发器会构建)。

可能吗 ?

这是我的 BuildConfig

apiVersion: build.openshift.io/v1
kind: BuildConfig
metadata:

  labels:
    application: spring-demo
    template: openjdk18-web-basic-s2i
  name: spring-demo
  spec:
  output:
    to:
      kind: ImageStreamTag
      name: 'spring--demo:latest'
  runPolicy: Serial
  source:
    type: None
  strategy:
    jenkinsPipelineStrategy:
      jenkinsfile: |-
        pipeline {
        agent {
          label 'maven'
        }
        stages {
          stage('Build') {
            steps{
               sh "echo ${env.BRANCH_NAME}"  <<<<------------- this is null 
            }
          }
        }
        }
    type: JenkinsPipeline
  triggers:
    - bitbucket:
        secretReference:
          name: yoyo
      type: Bitbucket

- 谢谢。

4

1 回答 1

-1

根据这个堆栈溢出问题一些 Jenkins 文档,您需要在 Jenkins 实例上安装git 插件。然后,您将拥有变量GIT_BRANCH并通过和GIT_URL提供给您 。确保您的分支名称中没有斜杠(例如 release/1.2.3),因为这会混淆 Jenkins 中的许多关键工具${env.GIT_BRANCH}${env.GIT_URL}

或者,作为最后的手段,如果您知道自己不会经常更改分支,则可以在Jenkins 脚本化管道中通过参数或默认值(如“master”)设置自己的环境变量。

于 2018-06-01T12:50:18.043 回答