diff --git a/app/services/repositories_service.rb b/app/services/repositories_service.rb index c62b1570e..8b278d867 100644 --- a/app/services/repositories_service.rb +++ b/app/services/repositories_service.rb @@ -47,11 +47,19 @@ class RepositoriesService def findProjectByRepoUrl repo_url status = -1 # 解析ownername - gitlab_address = Redmine::Configuration['gitlab_address'] - gitlab_address = gitlab_address[gitlab_address.index("//") + 2..gitlab_address.length - 1] - repo_url = repo_url[repo_url.index(gitlab_address) + gitlab_address.length + 1..repo_url.length - 1] - index_split = repo_url.index("/") - owner_name = repo_url[0..index_split - 1] + owner_name = nil + begin + index_doublesplit = repo_url.index("//") + # gitlab_address = Redmine::Configuration['gitlab_address'] + gitlab_address = repo_url[index_doublesplit + 2..repo_url.length - 1] + index_split = gitlab_address.index("/") + gitlab_address = gitlab_address[index_split + 1..gitlab_address.length - 1] + index_split = gitlab_address.index("/") + owner_name = gitlab_address[0..index_split - 1] + rescue => e + Rails.logger.error("error with the repo_url: " + repo_url) + return status, nil + end owner = User.find_by_login(owner_name) if owner