我知道如何通过这样做在 BitBucket 中创建存储库。
让电子邮件 = <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="167c797e78567963627a79797d3875797b" rel="noreferrer noopener nofollow">[email protected]</a>
,和密码123
curl -k -X POST --user <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="86ece9eee8c6e9f3f2eae9e9eda8e5e9eb" rel="noreferrer noopener nofollow">[email protected]</a>:123 "https://api.bitbucket.org/1.0/repositories" -d "name=test"
但是如何以编程方式检查 BitBucket 中是否存在存储库?
最佳答案
这是我对公共(public)、私有(private)和不存在的存储库进行 curl 调用时得到的结果:
私有(private)(状态代码 403):
> curl -k -X GET https://api.bitbucket.org/1.0/repositories/padawin/some-private-repo
Forbidden
不存在(状态代码 404):
> curl -k -X GET https://api.bitbucket.org/1.0/repositories/padawin/travels1
{"type": "error", "error": {"message": "Repository padawin/travels1 not found"}}
公开(状态代码 200):
> curl -k -X GET https://api.bitbucket.org/1.0/repositories/padawin/travels
{"scm": "git", "has_wiki": false, "last_updated": "2015-08-02T14:09:42.134", "no_forks": false, "forks_count": 0, "created_on": "2014-06-08T23:48:28.483", "owner": "padawin", "logo": "https://bytebucket.org/ravatar/%7Bb56f8d55-4821-4c89-abbc-7c1838fb68a3%7D?ts=default", "email_mailinglist": "", "is_mq": false, "size": 1194864, "read_only": false, "fork_of": null, "mq_of": null, "followers_count": 1, "state": "available", "utc_created_on": "2014-06-08 21:48:28+00:00", "website": "", "description": "", "has_issues": false, "is_fork": false, "slug": "travels", "is_private": false, "name": "travels", "language": "", "utc_last_updated": "2015-08-02 12:09:42+00:00", "no_public_forks": false, "creator": null, "resource_uri": "/api/1.0/repositories/padawin/travels"}
您可以使用状态代码,因为正文并不总是有效的 json(Forbidden
必须是 "Forbidden"
才能成为有效的 JSON)。
关于bash - 通过命令行检查 BitBucket 存储库是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55574706/