
traefik/alobaMyrmica Aloba 是一个基于Docker的工具,用于自动化管理GitHub仓库中的拉取请求(Pull Request)和问题(Issue),核心功能包括自动添加标签、匹配里程碑以及生成PR大小相关标签。该工具通过配置规则和环境变量,实现对GitHub工作流的自动化增强,适用于需要规范化PR和Issue管理流程的开发团队。
status/0-needs-triage(待分类状态)。status/0-needs-triage;action:作为GitHub Action运行,处理Issue和PR事件;label:命令行模式手动触发标签和里程碑管理;report:生成PR/Issue报告并发布到Slack;version:显示工具版本信息。action 命令(GitHub Action模式)用于在GitHub Action工作流中自动处理Issue和PR事件,根据配置规则添加标签和里程碑。
用法
yamlGitHub Action Usage: action [--flag=flag_argument] [-f[flag_argument]] ... 为标志设置参数 or: action [--flag[=true|false| ]] [-f[true|false| ]] ... 为布尔型标志设置true/false Flags: --debug 调试模式(默认:"false") --dry-run dry run模式(仅模拟操作,默认:"true") -h, --help 显示帮助信息并退出
环境变量与配置文件
GITHUB_TOKEN:GitHub访问令牌,需具备仓库操作权限(必填);.github/aloba-rules.toml:标签规则配置文件(详见规则配置)。示例:GitHub Action工作流配置
yaml# .github/workflows/aloba-issues.yml name: Aloba: 处理Issues on: issues jobs: issue-labels: runs-on: ubuntu-latest steps: - name: 自动添加Issue标签 uses: docker://traefik/aloba env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: args: "action --dry-run=false" # .github/workflows/aloba-prs.yml name: Aloba: 处理Pull Requests on: pull_request jobs: pr-labels: runs-on: ubuntu-latest steps: - name: 自动添加PR标签和里程碑 uses: docker://traefik/aloba env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: args: "action --dry-run=false"
label 命令(命令行模式)手动触发标签和里程碑管理,支持指定仓库、PR/Issue编号等参数。
用法
yaml为拉取请求和问题添加标签和里程碑 Usage: label [--flag=flag_argument] [-f[flag_argument]] ... 为标志设置参数 or: label [--flag[=true|false| ]] [-f[true|false| ]] ... 为布尔型标志设置true/false Flags: --debug 调试模式(默认:"false") --dry-run dry run模式(仅模拟操作,默认:"true") --github 启用GitHub配置(默认:"true") -o, --github.owner 仓库所有者(必填) -r, --github.repo-name 仓库名称(必填) --github.token GitHub访问令牌(必填) --rules-path 规则文件路径(默认:"./rules.toml") --web-hook 启用WebHook模式(默认:"true") --web-hook.port WebHook端口(默认:"80") --web-hook.secret WebHook密钥 -h, --help 显示帮助信息并退出
环境变量
GITHUB_TOKEN:GitHub访问令牌(优先级高于命令行标志--github.token);WEBHOOK_SECRET:WebHook模式下的签名密钥(可选)。示例:手动为指定PR添加标签
shell# 为 traefik/traefik 仓库的PR #1234添加标签(非dry-run模式) docker run --rm \ -e GITHUB_TOKEN="ghp_your_token" \ traefik/aloba \ label --debug --dry-run=false -o traefik -r traefik --github.token="ghp_your_token"
report 命令(Slack报告生成)生成PR/Issue状态报告并发送到Slack频道。
用法
yaml创建报告并发布到Slack Usage: report [--flag=flag_argument] [-f[flag_argument]] ... 为标志设置参数 or: report [--flag[=true|false| ]] [-f[true|false| ]] ... 为布尔型标志设置true/false Flags: --debug 调试模式(默认:"false") --dry-run dry run模式(仅模拟操作,默认:"true") --github 启用GitHub配置(默认:"true") -o, --github.owner 仓库所有者(必填) -r, --github.repo-name 仓库名称(必填) --github.token GitHub访问令牌(必填) --slack 启用Slack配置(默认:"true") --slack.bot-icon 机器人表情图标(默认:":captainpr:") --slack.bot-name 机器人名称(默认:"CaptainPR") --slack.channel Slack频道ID(必填) --slack.token Slack访问令牌(必填) -h, --help 显示帮助信息并退出
环境变量
GITHUB_TOKEN:GitHub访问令牌;SLACK_TOKEN:Slack Bot令牌(需具备发送消息权限)。示例:生成并发送Slack报告
shell# 为 traefik/traefik 仓库生成PR报告并发送到Slack频道C0CDT22PJ docker run --rm \ -e GITHUB_TOKEN="ghp_your_github_token" \ -e SLACK_TOKEN="xoxb_your_slack_token" \ traefik/aloba \ report -o traefik -r traefik --slack.channel=C0CDT22PJ --dry-run=false
version 命令显示当前工具版本信息。
shelldocker run --rm traefik/aloba version
通过TOML文件定义标签匹配规则和PR大小阈值,路径默认为.github/aloba-rules.toml。
toml# 标签匹配规则:当PR描述/标题匹配Regex时,添加对应的Label [[Rules]] Label = "area/vegetable" # 目标标签 Regex = "(?i).*(tomate|carotte).*" # 正则表达式(不区分大小写匹配"tomate"或"carotte") [[Rules]] Label = "area/cheese" Regex = "cheese/.*" # 匹配以"cheese/"开头的内容 [[Rules]] Label = "area/infrastructure" Regex = "(?i)(\\.github|script/).*" # 匹配.github目录或script/目录相关的PR # PR大小标签阈值配置 [Limits] [Limits.Small] # 小型PR:满足以下任一条件时添加"size/S"标签 SumLimit = 150 # 新增+删除代码总行数≤150 DiffLimit = 70 # 净变更行数≤70 FilesLimit = 20 # 修改文件数≤20 [Limits.Medium] # 中型PR:满足以下任一条件时添加"size/M"标签 SumLimit = 400 # 新增+删除代码总行数≤400 DiffLimit = 200 # 净变更行数≤200 FilesLimit = 50 # 修改文件数≤50 # 未匹配Small/Medium时,默认添加"size/L"标签
Myrmica Aloba 是一种蚂蚁的学名,工具命名延续了Traefik团队以蚂蚁种类命名自动化工具的传统,象征高效协作与自动化流程。
!Myrmica Aloba


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务