【问题标题】:How to invite people to private GitHub repo through command line interface?如何通过命令行界面邀请人们到私人 GitHub 存储库?
【发布时间】:2020-05-29 03:58:36
【问题描述】:

通常,在网络浏览器中访问“https://github.com///settings/access”后,必须点击链接“邀请团队或人员”。 但是,我希望通过命令行界面来执行此操作,因为我必须邀请 许多人。是否可以?

【问题讨论】:

    标签: github


    【解决方案1】:

    您可以使用 GitHub API 来add a collaborator

    PUT /repos/:owner/:repo/collaborators/:username
    

    for instance here:

    curl -H "Authorization: token YOUR_TOKEN" "https://api.github.com/repos/YOUR_USER_NAME/YOUR_REPO/collaborators/COLLABORATOR_USER_NAME" -X PUT -d '{"permission":"admin"}'
    

    权限级别为以下之一:

    • pull - 可以拉取,但不能推送到或管理此存储库。
    • push - 可以拉取和推送,但不能管理此存储库。
    • admin - 可以拉取、推送和管理此存储库。
    • maintain - 推荐给需要管理存储库而又无法访问敏感或破坏性操作的项目经理。
    • triage - 推荐给需要主动管理问题和拉取请求但没有写入权限的贡献者。

    (默认为“推送”)

    2020 年 9 月更新,考虑到 GitHub CLI gh is now 1.0,添加它可能是一个很好的功能(一种 gh repoinvite

    同时,您可以使用gh pi 进行类似的API 调用,自动进行身份验证,使用-f 添加POST 字段。

    gh api repos/YOUR_USER_NAME/YOUR_REPO/collaborators/COLLABORATOR_USER_NAME" -f '{"permission":"admin"}'
    

    【讨论】:

    • 非常感谢!我想不出这个选项!
    • @user15181 我已经添加了 GItHub CLI gh api 替代方案,因为旧的 CLI hub 现在已经过时了。
    • 我正在尝试做一些非常相似但在组织内的事情,因此我调整了端点,但是当我尝试使用命令 gh api orgs/YOUR_ORG/repos/YOUR_USER_NAME/YOUR_REPO/collaborators/COLLABORATOR_USER_NAME 检查用户是否被列为协作者时,它总是返回一个404,我是不是做错了什么?
    • @greghor 身份验证 gh auth login 无效,或者您无权访问存储库。
    • @greghor 在这种情况下,不。我会邀请您发布一个单独的问题(与您的操作系统、git 和 gh 版本有关)以便更仔细地查看问题。
    【解决方案2】:

    使用hub 的替代方法:

    1- 检查您的 repo 中所有具有权限的用户:

    hub api --flat 'repos/YOUR_USER_OR_ORGANIZATION_NAME/YOUR_REPO/collaborators' | grep -E 'login|permissions'
    

    2- 授予用户权限:

    hub api 'repos/YOUR_USER_OR_ORGANIZATION_NAME/YOUR_REPO/collaborators/COLLABORATOR_USER_NAME' -H X:PUT -H d:'{"permission":"admin"}'
    

    【讨论】:

      【解决方案3】:

      你可以使用 github cli 或者直接通过 curl 调用 github api。在此示例中,我使用 github cli 将成员添加到公司 repo:

      gh api "orgs/$target_repo/teams/$team/repos/$target_repo/$repo_new_name" -X PUT -f permission=admin

      另请参阅文档:https://docs.github.com/en/rest/reference/teams#add-or-update-team-repository-permissions

      对于您的情况,您可以使用此端点:

      https://docs.github.com/en/rest/reference/repos#add-a-repository-collaborator

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-08-03
        • 1970-01-01
        • 2020-09-23
        • 2017-12-31
        • 2015-09-24
        • 2021-10-21
        • 1970-01-01
        • 2019-08-12
        相关资源
        最近更新 更多