fatedier / freebot Goto Github PK
View Code? Open in Web Editor NEWA simple github workflow bot.
License: Apache License 2.0
A simple github workflow bot.
License: Apache License 2.0
根据 PR 修改了哪些文件,打上对应的 label
示例的流程:
module/xxx
的 label。module/docker
的 label 的 PR 中才是 owner。approved/xxx
的 label。approved/xxx
标签。/merge
合并时,precondition 中可以要求每一个 module/xxx
标签,都需要有一个对应的 approved/xxx
标签。通过 /auto-merge
命令打上 merge-after-ci-success
标签,对于这样的 PR 如果 ci 通过后就可以自动合并。
支持通过 comment 的方式反馈一些信息
label 用于给需要 issue 或 pr 打标签。
用户可以配置支持哪些命令,例如 kind
和 area
,完全自定义,但是功能相同。
通过 /kind featrue
加上 kind/feature
标签。通过 /area bot
加上 area/bot
标签。
通过 /remove-kind feature
和 /remove-area bot
移除标签。
和 status 插件不同,多个标签可以同时存在。每一种命令支持哪些标签需要通过配置指定。
可以抽象出 status 的 trigger 功能,当 xxx 条件触发时,且满足 xxx 前置条件,则打上 status/ 标签。
优化日志,能够跟踪一条 webhook request
通过 /ping {username} 将 issue 或 PR 的内容通过 notify 推送给指定的人。
例如 pull_request_review/approve
通过 /watch
命令关注某一个 issue 或 PR,当相关的 event 被触发时,会通过消息通知机制推送给该用户。
/watch
执行后会给该 issue 或 PR 加上 watch/username
的 label,便于 freebot 查询要推送消息给哪些人。
目前 role 只支持 owner 和 qa。
需要能够支持自定义的 role,precondition 中的配置也不再是 is_owner 或者 is_qa,而应该是 required_roles 。
对于指定的 event 可以执行一个外部脚本。
一个 group 包含多个 user。
在 plugin 的配置中可以指定 group,避免频繁配置所有 user。
通过 /close
关闭 issue, pr。
或者
对于不符合 issue 模版的 issue 自动 close,并添加上一段 comment。
目前一个 precondition 中的所有条件是与的关系,多个 precondition 是或的关系。
对于一个 precondition 中的数组,需要能够支持配置与的判断逻辑。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.