【问题标题】:GitHub Webhook not triggering the Jenkins PipelineGitHub Webhook 未触发 Jenkins 流水线
【发布时间】:2021-02-10 12:39:55
【问题描述】:

我想在合并拉取请求时触发管道..即“action”:“close”,“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 关闭合并

【问题讨论】:

    标签: jenkins github jenkins-pipeline webhooks


    【解决方案1】:

    如果你的 Jenkins 暴露在互联网上,你可以在 Github 中订阅 webhook

    或者使用jenkins declarative pipeline来利用

    【讨论】:

    • 是在 webhooks->让我选择单个事件->Pull Request, Payload url: https:jenkins.com/github-webhook/ 所以这会得到 200 响应,我正在使用 Scripted Pipeline
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-03
      • 2019-11-04
      • 1970-01-01
      • 2016-08-19
      • 2021-10-03
      • 1970-01-01
      • 1970-01-01
      • 2018-12-23
      相关资源
      最近更新 更多