2.4 KiB
使用步骤
1) 添加文件
.github/project.yml
scripts/bootstrap_project.sh
.github/workflows/project-auto-add.yml
2) 本地或 CI 登录 GitHub CLI
gh auth login
3) 初始化 Project(首次/需要重放时)
chmod +x scripts/bootstrap_project.sh ./scripts/bootstrap_project.sh .github/project.yml
初始化后:
- 会在 svc-design 名下创建名为 “Light-IDP OIDC/LDAP Stabilization” 的 Projects v2 看板
- 规范化 Status 选项、创建 Milestone/Priority 字段、创建「Kanban / MVP (Table) / Stability (Table)」视图
- 按 .github/project.yml 将 #1–#6 加入(若尚不存在,会在 svc-design/XControl 内创建对应 issue)
本地 CLI(推荐命令)
- 查看当前登录与作用域 gh auth status
- 直接给现有令牌追加作用域(无需重新登录)# 追加项目读写 + 组织只读 + 仓库完全权限(你脚本会创建 issue) gh auth refresh -h github.com -s project -s read:project -s read:org -s repo
如果 gh auth refresh 提示不能刷新,则用设备授权重新登录并勾选作用域:
gh auth login -h github.com -p https -s project -s read:project -s read:org -s repo
重新运行脚本 ./scripts/bootstrap_project.sh .github/project.yml
说明
Projects v2 API 目前需要“经典”PAT 作用域 project/read:project。细粒度 PAT 还没完整覆盖到 Projects v2(至少在 CLI 场景下不稳定),因此建议使用 CLI 的设备授权或经典 PAT。
你已有 repo、read:org,只差 read:project/project。
GitHub Actions(如在 CI 中跑脚本)
如果你打算在 workflow 里运行初始化脚本,需要把权限从 project 改为 projects(复数!)并授予写入:
permissions: contents: read issues: write pull-requests: write projects: write # ← 修正这里(之前如果写成 project 会失败)
另外,使用默认的 GITHUB_TOKEN 时,需在仓库 → Settings → Actions → General 里将 Workflow permissions 设为 Read and write permissions,否则对 Projects 的写操作会被拒。
常见坑位速查
- unknown flag: --private/--public:已在你的脚本里移除;现在 gh project create 默认创建私有项目,公开需要到网页端手动切换。
- 创建组织级项目失败:需要对组织具备创建 Projects 的权限;否则在你的用户空间创建(脚本已自动查找 user 与 org 两侧)。
- 版本过旧:建议 gh --version >= 2.50(gh update