Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法将GitHub Webhook分为三类:master、pull请求和其他任何类型?_Github_Jenkins - Fatal编程技术网

有没有办法将GitHub Webhook分为三类:master、pull请求和其他任何类型?

有没有办法将GitHub Webhook分为三类:master、pull请求和其他任何类型?,github,jenkins,Github,Jenkins,我试图完成以下Jenkins()作业配置: 有一组-master作业,这些作业由 推动该特定项目的主分支 手动,单击“立即生成” 通过使用RESTAPI的脚本 我通过指定适当的refspec、添加GitHub webhook等实现了这一点。这非常简单 拥有一组由触发的-pr作业 GitHub公共关系创建 触发GitHub Pull请求生成器的PR注释 对用于特定PR的分支的推送 我让詹金斯做了前两个。但是我没有找到方法来完成这个列表中的#3项,因为GitHub插件无法轻松找到推送是否到P

我试图完成以下Jenkins()作业配置:

  • 有一组
    -master
    作业,这些作业由

    • 推动该特定项目的主分支
    • 手动,单击“立即生成”
    • 通过使用RESTAPI的脚本
    我通过指定适当的refspec、添加GitHub webhook等实现了这一点。这非常简单

  • 拥有一组由触发的
    -pr
    作业

    • GitHub公共关系创建
    • 触发GitHub Pull请求生成器的PR注释
    • 对用于特定PR的分支的推送
    我让詹金斯做了前两个。但是我没有找到方法来完成这个列表中的#3项,因为GitHub插件无法轻松找到推送是否到PR分支。你知道怎么做吗

  • 拥有一组由推送到任何分支触发的
    -branch
    作业。问题是,我想排除对主节点和用于PRs的分支的推送。我在互联网上寻找可能的解决方案已经好几天了,但什么也没想到,所以任何提示都将不胜感激

  • 对于仅由主分支的更改触发的作业,您不需要弄乱github webook。您只需使用git plugins分支来指定此作业只应为主分支运行
  • 按照建议设置作业以使用Github PUll Request Builder插件,对于您列出的3个条件,它只会触发PR

  • 更难的一个。。 据我所知,jenkins不容易知道分支是否有拉请求,因为拉请求特定于github,而jenkins分支检测只是使用git

  • 然而,根据我的经验,对于第三个选项,我已经设置了一个
    -feature
    作业,并将其配置为匹配前缀为
    f/
    的任何分支。这样,如果开发人员希望对其分支自动执行测试,但不想对其打开pull请求,他们可以在那里创建分支,如
    f/add\u a\u thing
    ,它将自动触发推送测试。为了使其工作,我将在作业配置中将分支说明符设置为
    f/*


    或者,git插件允许为分支说明符提供正则表达式参数。可以使用正则表达式专门忽略主分支。然而,忽略请求拉入的分支的唯一方法是让开发人员使用命名模式,例如
    pr/add_a_thing
    ,以确定该分支将有一个拉入请求。

    真是个好问题,我自己也在想,这是不是什么都有(master、其他分支和所有pr)詹金斯同样的工作使得追踪几乎不可能。