有人可以告诉我如何获取bitbucket存储库列表,我正在访问此URL
https://api.bitbucket.org/2.0/repositories/{username}
但是当我点击这个URL时,我得到了这种JSON
{
"pagelen": 10,
"values": [],
"page": 1,
"size": 0
}
我相信这不是我想要的。是否需要设置任何标头参数或因为我没有设置任何标头参数,仅使用带有 GET 方法的上述网址。请帮帮我。 在此先感谢:)
答案 0 :(得分:0)
我现在已经取得了一些成就,你可以获得存储库列表,但你也需要access_token。您可以参考documentation。
希望这对你们有用。
答案 1 :(得分:0)
您还可以使用curl来获取存储库
curl --user用户名:password --insecur GET http://localhost:7990/rest/api/1.0/projects/WORK/repos | q --raw-output'.values []。slug'
答案 2 :(得分:0)
仅curl每次API调用只能获取10个结果,如果您有很多存储库,这将很繁琐。
这是一个小脚本,可按需向下钻取尽可能多的页面,并另外提取组织,描述以及存储库是否为私有。 ?role=member
参数列出了您有权访问的所有存储库。
#!/bin/bash
read -p 'Bitbucket Username (not email): ' BB_USERNAME
read -sp 'Bitbucket Password: ' BB_PASSWORD
next_url="https://api.bitbucket.org/2.0/repositories?role=member"
while [ ! -z "$next_url" ]; do
response_json=$( curl -s --user $BB_USERNAME:$BB_PASSWORD "$next_url" )
echo "$response_json" | jq -r '.values | map([.slug, .workspace.slug, .description, .is_private] | @csv) | join("\n")'
next_url=$( echo "$response_json" | jq -r '.next' )
done
或者,如果您不想创建Shell脚本,则可以将其复制并粘贴到命令行中(用您自己的Bitbucket登录详细信息替换YOUR_USERNAME和YOUR_PASSWORD):
(
next_url="https://api.bitbucket.org/2.0/repositories?role=member"
while [ ! -z "$next_url" ]; do
response_json=$( curl -s --user YOUR_USERNAME:YOUR_PASSWORD "$next_url" )
echo "$response_json" | jq -r '.values | map([.slug, .workspace.slug, .description, .is_private] | @csv) | join("\n")'
next_url=$( echo "$response_json" | jq -r '.next' )
done
)
感谢https://stackoverflow.com/a/56812839/81269将我指向这个方向。