列出gitlab项目的许多组和子组



我正在尝试列出GitLab项目。我们在子群中有许多群。有些团体有800个或更多的项目。我只能拿到一半的项目。

这是脚本:

echo "Project_id, Project_Name, Project_url, Project_default_branch, Group_id" > result_branch.csv
number_of_pages=$(curl -s --head "https://gitlab.com/api/v4/groups/8523968/projects?private_token=$token" | grep -i x-total-pages | awk '{print $2}' | tr -d 'rn')
for page in $(seq 1 $number_of_pages); do
curl --silent --header "Private-Token: $token" "https://gitlab.com/api/v4/groups/8523968/projects?include_subgroups=true&page=$page" | jq -r '.[] | [.id, .name, .web_url, .default_branch, .namespace.id] | @csv' >> result_branch.csv
cat result_branch.csv | awk {'print$4'} > branches

如何获得所有项目?

我刚刚在本地玩过这个,只做了一些更改就可以使用了。首先,就像@Markus在他的评论中提到的那样,您缺少一个done来终止for循环。我还将把cat result_branch.csv语句移到for循环之外,这样它在最后只运行一次。循环现在看起来是这样的:

for page in $(seq 1 $number_of_pages); do
curl --silent --header "Private-Token: $token" "https://gitlab.com/api/v4/groups/8523968/projects?include_subgroups=true&page=$page" | jq -r '.[] | [.id, .name, .web_url, .default_branch, .namespace.id] | @csv' >> result_branch.csv
done
cat result_branch.csv | awk {'print$4'} > branches

下一个问题是由于awk的默认字段分隔符。在最后一步中,您会得到奇怪的结果,因为awk使用了默认的字段分隔符,而不是您想要做的:在逗号上打断。这是一个使用-F标志设置字段分隔符的简单修复:

cat result_branch.csv | awk -F, {'print$4'} > branches

总之,脚本变成了:

echo "Project_id, Project_Name, Project_url, Project_default_branch, Group_id" > result_branch.csv
number_of_pages=$(curl -s --head "https://gitlab.com/api/v4/groups/8523968/projects?private_token=$token" | grep -i x-total-pages | awk '{print $2}' | tr -d 'rn')
for page in $(seq 1 $number_of_pages); do
curl --silent --header "Private-Token: $token" "https://gitlab.com/api/v4/groups/8523968/projects?include_subgroups=true&page=$page" | jq -r '.[] | [.id, .name, .web_url, .default_branch, .namespace.id] | @csv' >> result_branch.csv
done
cat result_branch.csv | awk -F, '{print $4}'

最后需要注意的是,您的两个awk语句的编写方式不同:awk '{print $2}'awk {'print $4'}。这似乎没有什么不同,因为在我的测试中,我没有调整这些,而且效果很好,但我总是喜欢每次都用同样的方式做这样的事情,所以我建议你使用一种或另一种方式,并坚持下去。

相关内容

  • 没有找到相关文章

最新更新