You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用GitHub REST API通过标签创建者姓名或邮箱查询对应用户名

可行的REST API实现思路

最优方案:直接从CI运行环境获取触发者用户名

你的整个流程由Alpha仓库的CI触发,打标签的用户就是本次CI工作流的触发者,可直接从CI环境变量中读取用户名,完全跳过邮箱/姓名匹配环节:

  • 如果使用GitHub Actions,直接读取内置环境变量GITHUB_ACTOR,值就是触发打标签操作的GitHub用户名
  • 如果使用其他CI系统,可通过Webhook payload的sender.login字段直接获取触发标签创建事件的用户名

这个方案无需额外调用API,不存在匹配错误问题,完全覆盖你提到的用户多邮箱场景。

方案2:调用用户搜索接口匹配邮箱

如果无法从CI环境获取触发者信息,可调用GitHub REST API的用户搜索接口直接通过标签邮箱查询用户名:

GET /search/users?q=email:<你获取到的tagger邮箱>

接口返回结果的items[0].login字段即为匹配的GitHub用户名,注意需要你的GitHub App拥有用户邮箱读取权限,如果用户邮箱未公开,可给App申请组织级的用户信息读取权限解决。

方案3:遍历组织成员列表做匹配

如果搜索接口无匹配结果,可拉取组织全量成员列表做匹配:

  1. 调用GET /orgs/<你的组织名>/members获取所有组织成员的用户名
  2. 逐个调用GET /users/<成员用户名>获取成员的公开邮箱、姓名信息,和你拿到的tagger信息做匹配
  3. 匹配成功即可获取对应的用户名,可缓存成员列表降低API调用频率

该方案适合内部组织使用场景,成员范围固定,匹配准确率高。


内容的提问来源于stack exchange,提问作者Jed Godsey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 14:36:01