GitHub Webhook 未触发 Jenkins 管道

时间:2021-02-10 12:39:55

标签: jenkins github jenkins-pipeline webhooks

我想在合并请求请求时触发管道..即 "action": "closed","merged":"true"

Webhook 为 Jenkins 获得了 200 个响应

pipeline.groovy:

pipelineJob(job_name) {
    parameters {
        stringParam('APP_URL', app_url, 'URL of the Application')
        stringParam('APP_MERGE_STATUS', app_merge_status, 'Merge Status to Trigger Job')
        booleanParam('MERGED', true, 'Flag to Trigger the job')
        stringParam('APP_ARTIFACT_BUCKET', artifact_bucket, 'Bucket url to upload artifacts')
        stringParam('payload')
    }
    triggers {
        genericTrigger {
            genericVariables {
                genericVariable {
                    key("APP_MERGE_STATUS")
                    value("\$.action")
                    expressionType("JSONPath")
                }
                genericVariable {
                    key("MERGED")
                    value("\$pull_request.merged")
                    expressionType("JSONPath")
                }  
            }
            printPostContent(true)
            regexpFilterText("\$action")
            regexpFilterExpression("")
        }
    }

我提到的通用变量也用于在没有 github 的情况下触发作业..[使用参数]

我不确定如何为触发器编写通用触发器变量和正则表达式 场景:PR关闭合并

2 个答案:

答案 0 :(得分:0)

如果您的 Jenkins 暴露在互联网上,您可以在 Github 本身订阅 webhook

enter image description here

或使用jenkins declarative pipeline来利用

答案 1 :(得分:0)

得到了解决方案..我错过了在有效负载 url 中添加“generic-webhook-trigger”