我正在尝试编写一个bash脚本,该脚本包含我在bitbucket上的所有存储库并在本地备份它们。
我试图从bitbucket获取一个repos列表。我已经阅读了一些这样做的api,我甚至测试了它。但它太庞大了,我只是不知道从哪里开始。
非常感谢任何帮助
答案 0 :(得分:0)
我认为您应该检查"GET a list of repositories for an account" 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"]
此时,您可以使用sed
或awk
从阵列中提取它们。