1

我正在尝试编写一个 bash 脚本,该脚本获取我在 bitbucket 上的所有存储库并在本地备份它们。

我一直试图从 bitbucket 获取 repos 列表。我已经阅读了一些执行此操作的 api,我什至对其进行了测试。但它是如此巨大,我只是不知道从哪里开始。

任何帮助将不胜感激

4

1 回答 1

0

我认为您应该检查“获取帐户的存储库列表” API。使用它非常简单curl

curl -u '<user>:<password>' https://api.bitbucket.org/2.0/repositories/<owner>

可能与owner相同user。请注意,如果您只想查询公共存储库,则不需要任何授权(-u选项)。响应是分页的,因此您可能需要进行多次调用。

此 API 返回一个 JSON 对象,描述owner. 在 Bash 中解析它的一种方法是使用jsawk. 但是你可以自由使用任何你喜欢的工具,比如 NodeJS 或 Python。您只需要读取stdin并将其解析为 JSON。简单的例子,只是开始。获取jespern的所有公共回购:

curl https://api.bitbucket.org/2.0/repositories/jespern | jsawk 'return this.values.map(value => value.full_name)'

["jespern/cx","jespern/cx-patches","jespern/ldap2vcard","jespern/pyetsy","jespern/puck","jespern/hgswitch","jespern/smart-oxe","jespern/pygments-anchorlinenos","jespern/emptyrepo","jespern/help"]

此时您可以使用sedawk从数组中提取它们。

于 2016-05-11T23:33:35.540 回答