|
|
||
|---|---|---|
| .. | ||
| docs | ||
| examples | ||
| scripts | ||
| tests | ||
| .gitignore | ||
| LICENSE | ||
| README.md | ||
README.md
GitLink 构建端到端自动化工作流
面向 GitLink 竞赛子赛题三的端到端自动化工作流项目。
本项目面向开源社区运营场景,使用 gitlink-cli 串联 Issue 分拣、责任人分配、仓库信息、Issue、PR 和 Release 数据采集,自动生成社区周报、Release Notes 草稿和结构化摘要,并支持将摘要发布到指定 GitLink Issue。该流程覆盖“新 Issue 自动分类 -> 分配责任人 -> 数据采集 -> 指标分析 -> 文档生成 -> 结果发布”的完整闭环。
Issue 分类规则来自自定义 Skill:D:\BigData\CCFer\CCF\gitlink-issue-triage-rules\SKILL.md。工作流代码会直接读取 Skill 中的机器可读 JSON 规则块,不再依赖 workflow +triage 内置分类结果。
交付物
scripts/gitlink_workflow.py:主工作流入口scripts/run_demo.ps1:一键复现脚本docs/architecture.md:架构图与流程说明docs/quickstart.md:最短复现路径docs/runbook.md:运行手册docs/verification.md:真实仓库验证记录docs/submission-checklist.md:参赛提交核对清单docs/upload-to-gitlink.md:仓库目录结构说明examples/sample_config.json:参赛仓库配置examples/demo_active_config.json:公开仓库验证配置examples/demo_outputs/:真实运行示例产物tests/test_gitlink_workflow.py:单测LICENSE:Apache 2.0
运行方式
推荐直接运行一键脚本:
.\scripts\run_demo.ps1
切换到参赛仓库配置:
.\scripts\run_demo.ps1 -Config examples\sample_config.json
输出
outputs/*_report.mdoutputs/*_release_notes.mdoutputs/*_summary.jsonoutputs/*_triage_plan.mdoutputs/*_triage_plan.json
Issue 自动分类与派单
默认运行会执行 dry-run,只生成分类和派单计划,不写回真实 Issue:
.\scripts\run_demo.ps1
确认计划无误后,显式开启写回:
.\scripts\run_demo.ps1 -ApplyTriage
如需显式指定 Skill 路径:
python .\scripts\gitlink_workflow.py --config .\examples\demo_active_config.json --triage-skill D:\BigData\CCFer\CCF\gitlink-issue-triage-rules\SKILL.md
写回链路会先通过 issue +list 拉取开放 Issue,再读取自定义 Skill 规则完成分类;随后通过 label +list、issue +assigners、issue +view 和 issue +update 完成标签、优先级和负责人写入。若配置开启 comment,还会追加一条审计评论。*_triage_plan.json 中会记录 source=skill-json、Skill 路径和命中的规则 ID。
负责人分配配置
示例配置使用显式三成员池,避免依赖运行环境是否能访问 member +list。负责人分配采用按类型映射:
{
"security": [153579],
"bug": [153579],
"performance": [153579],
"feature": [134328],
"refactor": [134328],
"ci": [134328],
"question": [134450],
"docs": [134450],
"duplicate": [134450]
}
当前成员池为 Angel123456(153579, 管理员)、Hsy15889521073(134328, 开发者)、Priziq(134450, 报告者)。高风险维护类分配给管理员,开发实现类分配给开发者,问答/文档/重复反馈分配给报告者。数字会按 GitLink 用户 ID 直接使用;字符串会先尝试通过 issue +assigners 返回的 login/name 解析,再回退到 triage.members。
已验证仓库
Angel123456/gitlink-cli:完成仓库信息、Issue、PR、Release 采集,并完成 Issue 自动分类 dry-run 验证Angel123456/gitlink-cli:完成仓库信息、Issue、PR、Release 采集,并生成包含有效统计数据的周报、Release Notes 和结构化摘要
项目定位
- 满足子赛题三“端到端自动化工作流”的要求
- 串联自定义 Skill 规则读取、Issue 分拣/派单命令、4 个数据采集命令和 1 个结果发布命令
- 新增 Issue 自动分类与负责人分配,形成社区运营前置处理闭环
- 支持在真实 GitLink 项目上复现
- 提供运行脚本、验证记录、示例产物和单元测试