diff --git a/app/controllers/api/v1/projects/sync_repositories_controller.rb b/app/controllers/api/v1/projects/sync_repositories_controller.rb index 2306283fd..76e2bef4d 100644 --- a/app/controllers/api/v1/projects/sync_repositories_controller.rb +++ b/app/controllers/api/v1/projects/sync_repositories_controller.rb @@ -95,9 +95,9 @@ class Api::V1::Projects::SyncRepositoriesController < Api::V1::BaseController return render_error("请输入正确的同步分支ID") unless params[:reposync_branch_ids] @reposync_branch_logs = [] params[:reposync_branch_ids].split(",").each do |branch_id| - branch = SyncRepositoryBranch.find_by(reposync_branch_id: branch_id) - repo = branch.sync_repository - _, logs, _ = Reposync::GetLogsService.call(repo.repo_name, branch_id) + @branch = SyncRepositoryBranch.find_by(reposync_branch_id: branch_id) + repo = @branch&.sync_repository + _, logs, _ = Reposync::GetLogsService.call(repo&.repo_name, branch_id) @reposync_branch_logs += logs end end diff --git a/app/services/api/v1/projects/sync_repositories/create_service.rb b/app/services/api/v1/projects/sync_repositories/create_service.rb index 1e1c361e6..0295049b0 100644 --- a/app/services/api/v1/projects/sync_repositories/create_service.rb +++ b/app/services/api/v1/projects/sync_repositories/create_service.rb @@ -97,6 +97,8 @@ class Api::V1::Projects::SyncRepositories::CreateService < ApplicationService end def gitlink_repo_address - "#{EduSetting.get("gitlink_repo_domain")}/#{project.owner&.login}/#{project.identifier}.git" + internal_repo_address = "#{EduSetting.get("gitlink_repo_domain")}/#{project.owner&.login}/#{project.identifier}.git" + body = internal_repo_address.split("https://")[1] + return "https://oauth2:#{EduSetting.get("gitlink_admin_token")}@#{body}" end end \ No newline at end of file diff --git a/app/views/api/v1/projects/sync_repositories/create.json.jbuilder b/app/views/api/v1/projects/sync_repositories/create.json.jbuilder index ac7b6c1a9..20bb70c66 100644 --- a/app/views/api/v1/projects/sync_repositories/create.json.jbuilder +++ b/app/views/api/v1/projects/sync_repositories/create.json.jbuilder @@ -1,5 +1,5 @@ json.gitlink_repo_address "#{EduSetting.get("gitlink_repo_domain")}/#{@project.owner&.login}/#{@project.identifier}.git" json.external_repo_address @sync_repository1.external_repo_address json.sync_granularity @sync_repository1.sync_granularity -json.gitlink_branch_name @sync_repository_branch1.gitlink_branch_name -json.external_branch_name @sync_repository_branch1.external_branch_name \ No newline at end of file +json.gitlink_branch_name @sync_repository_branch1&.gitlink_branch_name +json.external_branch_name @sync_repository_branch1&.external_branch_name \ No newline at end of file diff --git a/app/views/api/v1/projects/sync_repositories/history.json.jbuilder b/app/views/api/v1/projects/sync_repositories/history.json.jbuilder index 0b8d58644..f0e5c3253 100644 --- a/app/views/api/v1/projects/sync_repositories/history.json.jbuilder +++ b/app/views/api/v1/projects/sync_repositories/history.json.jbuilder @@ -1,4 +1,7 @@ json.total_count @reposync_branch_logs.count +json.gitlink_branch_name @branch&.gitlink_branch_name +json.external_type @branch&.repository&.type +json.external_branch_name @branch&.external_branch_name json.logs @reposync_branch_logs.each do |log| type = log['repo_name'].start_with?('gitee') ? 'gitee' : 'github' json.change_from log['sync_direct'] == "to_inter" ? type : 'gitlink'