popyone
发布于 2024-03-22 / 158 阅读
0
0

gitea通过api接口获取存储库清单

gitea获取组织名称和组织下的所有仓库名称

使用jq对json进行解析
centos
yum install jq
debian
apt install jq

需要使用的接口

1、获取组织机构列表(Get list of organizations)
接口:https://username:password@gitea.com/api/v1/orgs

2、列出组织机构存储库(List an organization’s repos)
接口:https://username:password@gitea.com/api/v1/orgs/{org}/repos

获取存储库步骤

1、获取组织机构name列表,返回数组orgs_array

#!/bin/bash  
username='popyone'  
password='xxxxxx'  
url="http://${username}:${password}@gitea.com"  
  
orgs=$(curl -k --url "${url}/api/v1/orgs?page=1&limit=100")  
  
echo ${orgs}  
  
# 获取所有组织机构  
orgs_array=$(echo ${orgs}|jq -r .[].name)  

2、查询每个组织机构下的仓库(repository)

#!/bin/bash  
username='popyone'  
password='xxxxxx'  
url="http://${username}:${password}@gitea.com"  
  
orgs=$(curl -k --url "${url}/api/v1/orgs?page=1&limit=100")  
  
echo ${orgs}  
  
# 获取所有组织机构  
orgs_array=$(echo ${orgs}|jq -r .[].name)  
  
# 获取组织机构下的所有仓库地址  
for org in ${orgs_array}  
do  
	#echo ${org}  
	repos_all=$(curl -k --url "${url}/api/v1/orgs/${org}/repos?page=1&limit=100"|jq -r .[].full_name)  
	for repos in ${repos_all}  
	do  
	    echo ${repos} >> ${org}.txt  
	done  
done  
  

评论