GitHub Projects:如何自动将所有项目项转换为指定仓库的Issue?
解决GitHub项目Draft项批量转为指定仓库Issue及默认绑定仓库的方法
一、设置项目默认绑定指定仓库
- 打开你的GitHub项目,点击顶部的「Settings」
- 在「Repository access」区域选择「Selected repositories」,添加目标仓库
- 找到「Defaults」部分,在「Default repository for new items」下拉菜单选刚才添加的仓库
- 保存后,新建项目项会直接关联该仓库,不用再手动转换
二、批量处理已有的Draft项
方法1:用GitHub CLI批量转换
- 先安装并登录GitHub CLI:
gh auth login - 导出所有Draft项为JSON:
gh project item list --format json --state draft > draft-items.json - 用脚本批量转换(替换
username/repo-name为你的仓库地址):
注意:需要先安装jq -r '.[] | .id' draft-items.json | while read id; do gh project item convert-to-issue --repo username/repo-name --item-id "$id" donejq工具来解析JSON
方法2:通过GitHub API批量操作
- 调用GitHub项目项列表接口获取所有Draft项的ID
- 循环调用项目项转Issue的接口,传入目标仓库ID和项目项ID,实现批量转换
三、自动化后续新增项(可选)
可以用GitHub Actions做自动化:
- 创建Workflow,当项目新增Draft项时自动触发转换
- 核心用
gh project item convert-to-issue命令,配合项目项状态变更的触发条件
内容的提问来源于stack exchange,提问作者Allan Xu
相关产品推荐
相关产品推荐

