【问题标题】:How to create GitHub repository under an organization from the command-line?如何从命令行创建组织下的 GitHub 存储库?
【发布时间】:2016-11-08 21:02:52
【问题描述】:

据我了解,要在命令行上创建个人存储库,使用 GitHub v3 API,可以执行 this(适当替换 USERNAME 和 REPONAME):

curl -u 'USERNAME' https://api.github.com/user/repos -d '{"name":"REPONAME"}'

然后用户输入他们的用户名和密码,GitHub 将在“github.com/USERNAME/REPONAME”创建一个新的空存储库。

我的问题是,如何通过命令行创建组织拥有的存储库?我尝试用组织名称替换 USERNAME,它提示我输入“主机密码”。我拥有该组织,所以我输入了密码,但我得到了“错误凭据”。此方法不适用于组织拥有的存储库吗?还是我做错了什么?

【问题讨论】:

    标签: git curl github command-line github-api


    【解决方案1】:

    有了新的githubcli,就这么简单:

    gh repo create ORGNAME/REPONAME
    

    【讨论】:

      【解决方案2】:

      要在组织下创建存储库,您应该将请求发送到 POST /orgs/:org/repos 端点而不是 /user/repos。您的用户不需要任何额外的权限或范围来创建用户存储库所需的内容,但该用户必须是 :org 的成员:

      创建

      为经过身份验证的用户创建一个新的存储库。 (目前未启用集成)

      POST /user/repos

      在此组织中创建一个新存储库。经过身份验证的用户必须是指定组织的成员。

      POST /orgs/:org/repos

      (来自https://developer.github.com/v3/repos/#create

      【讨论】:

      • 为了澄清,我是否将: 保留在:org 中?例如,如果我的组织名称是“foo”,请求会是 POST /orgs/:foo/repos 还是 POST /orgs/foo/repos
      • 你不要保留冒号。它仅将其指定为变量。您可以在此处查看对同一端点进行调用的示例:stackoverflow.com/a/19577228/1639983 编辑:我知道调用没有做同样的事情,但端点仍然相同。
      【解决方案3】:

      仅出于完整性考虑:Git Api v3 示例:

      curl -u USERNAME https://api.github.com/orgs/ORGNAME/repos -d '{"name":"NAME_OF_REPO", "description":"SOME_DESCRIPTION", "private": true, "has_issues": true, "has_projects": true, "has_wiki":false }'
      

      【讨论】:

      • 非常好!这解决了我的问题。不是很容易找到!非常感谢
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-17
      • 1970-01-01
      • 1970-01-01
      • 2012-04-01
      • 2020-05-24
      • 1970-01-01
      • 2019-04-28
      相关资源
      最近更新 更多