[Github-bot]帮助处理issue和PR的github-bot

个人博客 :Sekyoro的博客小屋
个人网站 :Proanimer的个人网站

在看一些开源项目时,会发现一些帮忙处理issue和PR的bot,这些bot都是基于Github的AppsGitHub Apps overview - GitHub Docs

GitHub Apps

GitHub应用程序是扩展GitHub功能的工具。GitHub应用程序可以在GitHub上做一些事情,比如打开问题、评论拉取请求和管理项目。他们也可以根据GitHub上发生的事件在GitHub之外做事情。例如,当在GitHub上打开问题时,GitHub应用程序可以在Slack上发布。

可以在GitHub Marketplace上查找Github Apps,然后进行安装,有些是需要付费的.

关于使用直接安装然后看文档进行配置就行了。

如何开发

github/github-app-js-sample: Sample of a GitHub App that comments new pull requests

由于本地开发涉及到需要接受github发来的东西,需要涉及到内网穿透啥的,推荐使用smee或者ngrok进行本地开发.建议搭配下面介绍的probot进行开发.probot.github.io/docs/development/#installing-the-app-on-a-repository

Probot

Probot是一个在Node.js中构建GitHub应用程序的框架。它旨在消除所有的繁琐工作,比如接收和验证Webhook,以及进行身份验证倒立,这样你就可以专注于你想要构建的功能。Probet应用程序易于编写、部署和共享。许多最流行的Probet应用程序都是托管的,所以没有什么可供您部署和管理的。

js 复制代码
module.exports = (app) => {
  app.on("issues.opened", async (context) => {
    const issueComment = context.issue({
      body: "Thanks for opening this issue!",
    });
    return context.octokit.issues.createComment(issueComment);
  });

  app.onAny(async (context) => {
    context.log.info({ event: context.name, action: context.payload.action });
  });

  app.onError(async (error) => {
    app.log.error(error);
  });
};

Repo Automation Bots

googleapis/repo-automation-bots: A collection of bots, based on probot, for performing common maintenance tasks across the open-source repos managed by Google on GitHub.一组基于probot的机器人,用于谷歌在GitHub上管理的开源转发中执行常见维护任务。下面是一些可用的bot

auto-approve Automatically approves and merges PRs matching user-specified configs install
auto-label Automatically labels issues and PRs with product, language, or directory based labels install
blunderbuss Assigns issues and PRs randomly to a specific list of users install
cherry-pick-bot Cherry-pick merged PRs between branches install

参考资料

  1. probot.github.io/docs/
  2. GitHub Bots for every open-source project - DEV Community
  3. googleapis/repo-automation-bots: A collection of bots, based on probot, for performing common maintenance tasks across the open-source repos managed by Google on GitHub.
  4. smee.io | Webhook deliveries
  5. ngrok | Unified Application Delivery Platform for Developers

如有疑问,欢迎各位交流!

服务器配置

宝塔:宝塔服务器面板,一键全能部署及管理

云服务器:阿里云服务器
Vultr服务器

GPU服务器:Vast.ai

相关推荐
程序员鱼皮1 小时前
我用 GitHub 仓库养 AI 龙虾,自动开发上线项目!保姆级教程
前端·人工智能·ai·程序员·github·编程·ai编程
NPE~3 小时前
[手写系列]从零到一:Github开源你的第一个项目
ai·开源·github·教程·项目实战·规范·yiqguard
似夜晓星辰3 小时前
Markdown文本编辑器Typora平替
编辑器·github
右耳朵猫AI4 小时前
Github趋势榜 2026年第20周
github
Pluchon4 小时前
萌萌技术分享笔记——Java综合项目
java·开发语言·笔记·git·github·mybatis·postman
散峰而望5 小时前
【算法练习】算法练习精选:从 Phone numbers 到 Decrease,覆盖字符串、模拟、图论思维题
数据结构·c++·算法·贪心算法·github·动态规划·图论
Qres8216 小时前
hexo博客上传github page
git·github·hexo
Zy_Yin1236 小时前
拆解如何用anthropic金融agent做投研
人工智能·python·深度学习·金融·github
该昵称用户已存在6 小时前
从 GitHub 到产线:MyEMS 开源能源管理系统在制造现场的部署实录
开源·github·能源
fliter1 天前
从零开始,自己造一个可执行文件压缩器
github