使用 github cli 将外部协作者添加到组织存储库
Posted
技术标签:
【中文标题】使用 github cli 将外部协作者添加到组织存储库【英文标题】:Add outside collaborator to organization repository using github cli 【发布时间】:2021-02-09 23:31:27 【问题描述】:我正在使用gh-cli
我想将外部协作者添加到我组织中的私有存储库 (my-repo-in-org
) (my-org
)
我可以使用这个gh
显示协作者
gh api repos/my-org/myrepo-in-org/collaborators
基于文档Add a repository collaborator
我尝试使用以下方式添加具有push
权限的协作者(collaborator_name
):
gh api repos/my-org/my-repo-in-org/collaborators/collaborator-name -f '"permission"="push"'
但是得到:
"message": "Not Found",
"documentation_url": "https://docs.github.com/rest"
gh: Not Found (HTTP 404)
任何线索我该怎么做? 我需要管理具有多个用户的多个存储库并希望将其自动化。
【问题讨论】:
【参考方案1】:使用-f/--raw-field
指定参数时使用的默认http 方法是POST
,但此调用需要PUT
方法。您可以告诉 gh 使用 -X
或 --method
指定方法:
gh api repos/owner/repo/collaborators/username -X PUT -f permission='push'
来自documentation:
默认的 HTTP 请求方法通常是“GET”,如果有的话是“POST” 添加了参数。用“--method”覆盖方法。
在选项列表中:
-X, --method string The HTTP method for the request (default "GET")
【讨论】:
感谢@Bertrand Martel 它有效。 -X Put 是我错过的东西。 我不得不使用-F permission=read
,因为-f permission=read
会被忽略。以上是关于使用 github cli 将外部协作者添加到组织存储库的主要内容,如果未能解决你的问题,请参考以下文章