V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Allianzcortex
V2EX  ›  程序员

[如何实现需求] 当有 PR 被合并时用 slack 通知所有的代码贡献者

  •  1
     
  •   Allianzcortex · 2019-10-07 21:11:47 +08:00 · 1959 次点击
    这是一个创建于 1898 天前的主题,其中的信息可能已经有所发展或是发生改变。

    description :

    Hi~ 想请教一下大家是否有遇到标题里描述的情况,目前的开发流程是:

    多个人会一同向项目贡献代码,每一次 PR 会被合并到 dev 分支里。每周固定时间会有一个 bot 发新的 PR 来把所有积累的代码更新 merge 到 master 分支里。

    目前想做的是如果这个新的 PR 被合并,所有和这个 PR 有关的 commit 的 contributor 都会收到一条 slack 消息说代码已经被部署到线上环境,请及时检查。

    看到有一个类似的机器人是 pull-reminder,有些相似但还不是完全一样,想问大家知道如何解决这个问题吗?或者只能自己写代码来部署?

    8 条回复    2019-10-08 16:32:24 +08:00
    seki
        1
    seki  
       2019-10-07 21:36:23 +08:00   ❤️ 1
    思路就是用 webhook 来推送事件,然后用 slack bot 来发消息,这种需求可能要写代码了
    ericgui
        2
    ericgui  
       2019-10-08 06:28:06 +08:00   ❤️ 1
    所有 contributor 在一个 slack channel 里,然后往这个 channel 里发送消息
    Allianzcortex
        3
    Allianzcortex  
    OP
       2019-10-08 08:04:32 +08:00
    @ericgui 谢谢 ( : 但就还是要写代码来获取 PR 和 contributor 的信息是吧,感觉没有可以直接集成的轮子用...
    Sharuru
        4
    Sharuru  
       2019-10-08 08:13:36 +08:00 via Android   ❤️ 1
    公开服务的话,ifttt 看看有没有现成的脚本?
    如果自己写的话,以 Github 或 Gitlab 举例,先在网页上设置 webhook,webhook 的作用是仓库发生 PR 操作时自动往指定的网址发送数据。
    之后,你只要实现一个接受这个数据的服务端,当接收到请求时通过 Slack API 发送信息至开发者们所在的群。
    ericgui
        5
    ericgui  
       2019-10-08 08:38:36 +08:00 via Android   ❤️ 1
    @Allianzcortex github webhook 里有所有信息,你需要拿到这个信息。然后转发一下。
    jay3zhang
        6
    jay3zhang  
       2019-10-08 09:29:08 +08:00   ❤️ 1
    slack 有 github 插件(官方说法是 GitHub app ),可以满足这个需求
    Allianzcortex
        7
    Allianzcortex  
    OP
       2019-10-08 09:42:11 +08:00
    @jay3zhang 额(抱歉实在不想当伸手党...但搜了很多都没有找到这个插件,能麻烦发一下链接吗?那个 APP 好像更多的是提供 preview 预览)
    jay3zhang
        8
    jay3zhang  
       2019-10-08 16:32:24 +08:00
    @Allianzcortex https://slack.github.com/, 通知所有 contributor 可能需要配置一下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3223 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 12:23 · PVG 20:23 · LAX 04:23 · JFK 07:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.