我正试图使用GitHub个人访问令牌在我的用户可以访问的私人GitHub存储库上创建存储库webhook。
由于这个PAT是由一个自动化脚本使用的,我希望它的范围尽可能有限。因此,我创建了一个仅具有admin:repo_hook
作用域的PAT。然而,这个范围似乎太有限了,因为对https://api.github.com/repos/ORGANIZATION/REPO/hooks
的POST返回404。
(我已经确认存储库名称和组织名称匹配。404可能表明令牌没有足够的权限查看回购,如这里所述(
API支持RFC2617中定义的基本身份验证,但略有不同。主要区别在于,RFC要求未经身份验证的请求用401个未经授权的响应来回答。在许多地方,这会披露用户数据的存在。相反,GitHub API以404未找到作为响应。
我需要向我的个人访问令牌添加哪些作用域才能成功创建存储库webhook?
我想明白了。在这种情况下,我忽略了一个额外的要求:有问题的用户实际上不是存储库上的管理员,这意味着即使拥有完全权限的PAT也无法创建网络挂钩。
将用户升级到相关存储库上的Admin足以解决此问题。