当我与withCredentials一起使用时,Jenkins声明性管道会抛出NullPointerException

时间:2018-10-16 14:25:47

标签: git jenkins

我有一个执行某些GIT动作的小型管道。我正在尝试使用ssh作为通信协议,因此我在JenkinsServer中定义了私钥,并且一切正常。

    stage('Some Stage'){
      steps{
        withCredentials([[$class: 'SSHUserPrivateKeyBinding', credentialsId: "${params.credentialsId}", usernameVariable: 'GIT_USERNAME']]){
          script{
           // Do some git operations...
          }
       }
  }

如果我从此处删除withCredentials,代码可以正常工作,但是我必须在git push命令中设置硬编码的用户名。我想从凭据中获取用户名。但是我的詹金人总是抛出NPE而没有其他消息。

我对此完全迷失了

1 个答案:

答案 0 :(得分:0)

请尝试以下操作,看看是否有帮助。然后,您可以使用GIT_CREDENTIALS_USR从凭据中引用用户名,并使用GIT_CREDENTIALS_PSW

来访问密码
stage('Some Stage'){

      environment {
                GIT_CREDENTIALS = credentials('<credentialsID>')
      }
      steps{
         script{
           // Do some git operations...
        }
    }
}