github - 有没有一种方法可以将GitHub webhooks分为: master, pull-request和其他三个类别?

标签 github jenkins

我要完成的工作是以下Jenkins(http://jenkins-ci.org)作业配置:

  • 由触发了一组<project>-master作业
  • 推送到该特定项目的master分支。
  • 手动,通过单击“立即构建”
  • 通过使用REST API的脚本。

  • 我通过指定适当的refspec来完成此任务,并添加了GitHub webhook等。这非常简单。
  • 由触发了一组<project>-pr作业
  • GitHub PR创建。
  • 对PR的注释,触发GitHub Pull Request Builder。
  • 推送到用于特定PR的分支。

  • 我让 Jenkins (Jenkins)做前两个。但是我没有办法从该列表中选择#3项,因为GitHub插件无法轻松找到是否将其推送到PR分支。任何想法如何做到这一点?
  • 具有一组由ANY推送到ANY分支触发的<project>-branch作业。问题是我想排除对PR使用的主节点和分支节点的推送。我已经在互联网上寻找可能的解决方案好几天了,却一无所获,因此任何提示将不胜感激。
  • 最佳答案

  • 对于仅由master分支的更改触发的作业,您无需弄乱github webook。您可以只使用git plugins分支指定来指定此作业仅应在master分支上运行。
  • 按照建议设置作业以使用Github PUll Request Builder插件,它将仅针对您列出的3个条件触发PR。
  • 比较困难。
    据我所知,jenkins没有简单的方法来知道分支是否具有pull请求,因为pull请求是特定于github的,而jenkins分支检测仅使用git。

  • 但是,根据我的经验,对于第三个选项,我设置了一个<project>-feature作业,并将其配置为匹配所有以f/开头的分支。这样,如果开发人员希望测试针对其分支自动执行,但又不想针对该分支打开拉取请求,则他们可以在该分支中创建类似f/add_a_thing的分支,并且它将在推送时自动触发测试。为此,我将在作业配置中将分支说明符设置为f/*

    另外,git插件允许分支指定符使用正则表达式参数。您可以使用正则表达式专门忽略master分支。但是,忽略拉请求分支的唯一方法是让开发人员使用命名模式(例如pr/add_a_thing)来确定该分支将具有拉请求。

    关于github - 有没有一种方法可以将GitHub webhooks分为: master, pull-request和其他三个类别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35610719/

    相关文章:

    r - 我应该 (git) 忽略我的 knitr 缓存吗?

    ruby-on-rails-3 - 使用 Heroku 作为主要的 Git 存储库

    java - Maven 在创建 war/jat 时忽略资源文件。如何强制它包含它们?

    Jenkins:如何根据复选框参数条件跳过 Jenkins 管道中的一个阶段?

    jenkins - Allure Jenkins 插件在 html 报告中生成无效链接

    android - 如何将Jgit添加到你的Android项目中?

    github - 将 Github 页面重定向到自定义域

    git - 我如何提交到旧的 git 标签?

    jenkins - 获取所有 secret 并将其放入 Jenkins 和 hashicorp 保险库的 env 文件中

    jenkins - 如何在谷歌云中获取Jenkins的临时密码