migrate_issue/gitlink_api/get_milestone.py

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)