44 lines
1.7 KiB
Python
44 lines
1.7 KiB
Python
import math
|
|
from gitlink_api.project_api import ProjectApi
|
|
from loguru import logger
|
|
|
|
|
|
def get_milestone(host, project):
|
|
project_api = ProjectApi(host, project)
|
|
# 获取仓库的里程碑列表
|
|
page = 1
|
|
limit = 15
|
|
milestones = []
|
|
target_milestone_count = project_api.get_milestone_list(page=page, limit=limit, category="open").get(
|
|
"opening_milestone_count", 0)
|
|
# 判断当前共有多少页
|
|
total_page = math.ceil(int(target_milestone_count) / limit)
|
|
# 循环请求获取所有开启状态的里程碑
|
|
while page <= total_page:
|
|
milestones_open = project_api.get_milestone_list(page=page, limit=limit, category="open").get("milestones", "")
|
|
if milestones_open and len(milestones_open) > 0:
|
|
for milestone in milestones_open:
|
|
milestones.append(milestone)
|
|
page += 1
|
|
target_milestone_count = project_api.get_milestone_list(page=page, limit=limit, category="open").get(
|
|
"closed_milestone_count", 0)
|
|
# 判断当前共有多少页
|
|
total_page = math.ceil(int(target_milestone_count) / limit)
|
|
# 循环请求获取所有关闭状态的里程碑
|
|
while page <= total_page:
|
|
milestones_closed = project_api.get_milestone_list(page=page, limit=limit, category="closed").get(
|
|
"milestones",
|
|
"")
|
|
if milestones_closed and len(milestones_closed) > 0:
|
|
for milestone in milestones_closed:
|
|
milestones.append(milestone)
|
|
page += 1
|
|
# logger.info(f"获取仓库里程碑信息如下:{milestones}")
|
|
return milestones
|
|
|
|
|
|
if __name__ == '__main__':
|
|
from config import source_host, source_project
|
|
|
|
get_milestone(source_host, source_project)
|