如何查询GitHub Packages中私有软件包的发布者身份?
查询GitHub Packages软件包发布者的方法
方法1:通过仓库Packages页面查看(人工发布包适用)
- 进入目标软件包对应的GitHub仓库,切换到Packages标签页
- 点击要查询的软件包,在版本列表中,每个版本下方会直接显示人工发布者的GitHub用户名
方法2:通过GitHub Actions日志追溯(CI/CD自动发布包适用)
- 进入仓库的Actions标签页,找到对应版本发布时触发的工作流运行记录
- 查看工作流执行日志,开头会显示触发工作流的用户(即版本文件变更的提交者);如果需要更明确的记录,可以在发布工作流中添加日志步骤,输出触发用户信息:
- name: 记录发布触发用户 run: echo "软件包由以下用户触发发布: ${{ github.triggering_actor }}" - 注意:通过
GITHUB_TOKEN执行发布操作时,包的直接发布身份会显示为github-actions[bot],但实际发起者可通过工作流触发者字段追溯
方法3:通过GitHub API查询
- 调用GitHub REST API的包版本查询接口,返回结果中包含
author字段,可获取发布者信息 - 示例命令(需替换组织名、包类型、包名、版本ID及个人访问令牌):
curl -H "Authorization: token YOUR_GITHUB_TOKEN" \ https://api.github.com/orgs/你的组织名/packages/npm/你的包名/versions/目标版本ID
注意事项
- 确保你拥有目标私有仓库和软件包的读取权限,付费版组织成员默认具备此类权限
- 自动发布场景下,若需明确区分人工/自动发布,可在工作流中添加自定义标记,便于后续追溯
内容的提问来源于stack exchange,提问作者Pedro Delfino
相关产品推荐
相关产品推荐

