reposync/issue_sync_module/scripts/sync_github_to_gitlink.py

63 lines
1.7 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
GitHub到GitLink的Issue同步脚本
"""
import asyncio
import sys
import os
# 添加clients目录到Python路径
current_dir = os.path.dirname(os.path.abspath(__file__))
clients_dir = os.path.join(os.path.dirname(current_dir), 'clients')
sys.path.append(clients_dir)
# 同时添加原项目路径以使用logger
sys.path.append(os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(current_dir))), 'src'))
from sync_service import IssueSyncService
from utils.logger import logger
async def main():
"""主函数"""
print("=== GitHub到GitLink Issue同步工具 ===\n")
# 配置仓库信息
github_org = "fuxingtamu" # 根据实际情况修改
github_repo = "yundingzhiyi" # 根据实际情况修改
gitlink_org = "xumingyang21" # 根据实际情况修改
gitlink_repo = "reposyncer2" # 根据实际情况修改
print(f"源仓库: GitHub {github_org}/{github_repo}")
print(f"目标仓库: GitLink {gitlink_org}/{gitlink_repo}")
print()
# 创建同步服务
sync_service = IssueSyncService()
try:
# 执行同步
print("开始同步...")
success = sync_service.sync_github_to_gitlink(
github_org=github_org,
github_repo=github_repo,
gitlink_org=gitlink_org,
gitlink_repo=gitlink_repo
)
if success:
print("✅ 同步完成!")
else:
print("❌ 同步失败!")
except Exception as e:
print(f"❌ 同步过程中出现异常: {str(e)}")
import traceback
traceback.print_exc()
if __name__ == "__main__":
asyncio.run(main())