如何从 bitbucket 中获取 git 存储库列表以用作 bash 脚本中的变量?
How to get a list of git repositories from bit bucket to be used as variables in bash script?
我正在尝试编写一个 bash 脚本来获取我在 bitbucket 上的所有存储库并将它们备份到本地。
我无法从 bitbucket 获取回购列表。我已经阅读了他们 api 的一些内容,我什至对其进行了测试。但它太大了,我不知道从哪里开始。
如有任何帮助,我们将不胜感激
我认为你应该检查 "GET a list of repositories for an account" API。将它与 curl
:
一起使用非常简单
curl -u '<user>:<password>' https://api.bitbucket.org/2.0/repositories/<owner>
owner
可能与user
相同。请注意,如果您只查询 public 个存储库,则不需要任何授权(-u
选项)。响应是分页的,因此您可能需要进行多次调用。
这个 API returns 一个 JSON 对象描述了 owner
的所有 可见 (对于经过身份验证的用户)回购协议。在 Bash 中解析它的方法之一是使用 jsawk
. But you are free to use any tool you are comfortable with like NodeJS or Python. You'll just need to read from stdin
and parse it as JSON. Simple example, just to start with. Fetches all public repos of 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
从数组中提取它们。
我正在尝试编写一个 bash 脚本来获取我在 bitbucket 上的所有存储库并将它们备份到本地。
我无法从 bitbucket 获取回购列表。我已经阅读了他们 api 的一些内容,我什至对其进行了测试。但它太大了,我不知道从哪里开始。
如有任何帮助,我们将不胜感激
我认为你应该检查 "GET a list of repositories for an account" API。将它与 curl
:
curl -u '<user>:<password>' https://api.bitbucket.org/2.0/repositories/<owner>
owner
可能与user
相同。请注意,如果您只查询 public 个存储库,则不需要任何授权(-u
选项)。响应是分页的,因此您可能需要进行多次调用。
这个 API returns 一个 JSON 对象描述了 owner
的所有 可见 (对于经过身份验证的用户)回购协议。在 Bash 中解析它的方法之一是使用 jsawk
. But you are free to use any tool you are comfortable with like NodeJS or Python. You'll just need to read from stdin
and parse it as JSON. Simple example, just to start with. Fetches all public repos of 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
从数组中提取它们。