如何在声明管道中设置作业令牌?

时间:2019-07-25 11:45:27

标签: jenkins jenkins-pipeline pipeline jenkins-declarative-pipeline

可以在jenkins Web界面的作业属性中设置令牌,但是我在管道文档中找不到它。 我说的是那个: 1

3 个答案:

答案 0 :(得分:0)

至少这也适用于scm的管道和管道

答案 1 :(得分:0)

根据文档https://jenkins.io/doc/book/pipeline/syntax/#triggers

现在,管道语法支持3个触发器-cron,pollSCM和上游。

但是,您应该能够在jenkins配置界面中设置令牌触发器,并且应该可以使用。

答案 2 :(得分:0)

Here是一种解决方案。

pipeline {
  agent any
  triggers {
    GenericTrigger(
     genericVariables: [
      [key: 'ref', value: '$.ref']
     ],

     causeString: 'Triggered on $ref',

     token: 'abc123',

     printContributedVariables: true,
     printPostContent: true,

     silentResponse: false,

     regexpFilterText: '$ref',
     regexpFilterExpression: 'refs/heads/' + BRANCH_NAME
    )
  }
  stages {
    stage('Some step') {
      steps {
        sh "echo $ref"
      }
    }
  }
}

它可以通过以下方式触发:

curl -X POST -H "Content-Type: application/json" -H "headerWithNumber: nbr123" -H "headerWithString: a b c" -d '{ "before": "1848f12", "after": "5cab1", "ref": "refs/heads/develop" }' -vs http://admin:admin@localhost:8080/jenkins/generic-webhook-trigger/invoke?requestWithNumber=nbr%20123\&requestWithString=a%20string