我正在尝试将用户添加到私有 Github 存储库在一个组织内。从此开始post,我只是更改了 API 端点来应对组织(如所解释的here),我最终得到以下命令:
gh api orgs/MY_ORG/repos/MY_USER_NAME/MY_REPO/collaborators/COLLABORATOR_USER_NAME -f '{"permission":"maintain"}';
该命令系统地返回 404 错误(请注意,当我只是尝试检查用户是否有权访问存储库时,我也会收到 404 错误,即GET
上述命令的版本)。
我还需要提一下,这似乎不是一件小事gh auth login
自从命令像gh repo create MY_ORG/MY_REPO
工作正常。
这里还有一些技术细节:
- 操作系统:macosx 10.15.16
- git: 2.24.3
- 生长激素:1.1.0
经过一番调查,我在这里主动回答我自己的问题(感谢mislav的help)以及试验和错误,我找到了使用 CLI 将协作者添加到组织内的 GitHub 存储库的正确方法。我认为值得发布它,希望这对其他人有帮助。
邀请外部协作者访问组织内的存储库
gh api -X PUT repos/:org/:repo/collaborators/:username -f permission=:perm
the -X PUT
指定请求是PUT
而不是一个GET
(默认请求)。存储库的标识符由以下方式指定:org/:repo
(请注意,如果存储库不在某个组织下,则标识符将为:owner/:repo
). The :perm
参数表示访问类型,默认值为push
(see here)
所以假设我想提供admin
进入jonsnow
到回购协议winterfell
组织下got
,我将使用以下命令
gh api -X PUT repos/got/winterfell/collaborators/jonsnow -f permission=admin
请注意,如果您直接发送存储库邀请,用户将显示为外部协作者(而不是组织成员)
将成员添加到组织并邀请他加入存储库
您只需预先将用户作为组织的成员包括在内
gh api -X PUT /orgs/:org/memberships/:username -f role=:role
然后您可以使用与上面相同的命令向他提供对特定存储库的访问权限,即
gh api -X PUT repos/:org/:repo/collaborators/:username -f permission=:perm
请注意,各种值:role
可以被找寻到here
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)