Jenkins 区分 PR 和合并 webhooks

Jenkins differentiate between PR and merge webhooks

所以我们每个作业只能有一个 Jenkinsfile。我们为来自 github 的合并和 PR webhooks 共享相同的工作。我们如何轻松检测提交的 webhook 是推送到 PR 还是 PR 合并?

这个(声明性管道)片段可能会有所帮助:

stage('do something for PRs opened against develop branch') {
    when {
        changeRequest target: 'develop'
    }
    steps {
        sh 'pr-worker.sh'
    }
}

stage('do something on merge or direct commits to the develop branch') {
    when {
        branch 'develop'
    }
    steps {
        sh 'develop-worker.sh'
    }
}

请参阅文档中的 when