mirror of
https://github.com/qodo-ai/pr-agent.git
synced 2025-07-03 04:10:49 +08:00
31 lines
1.3 KiB
Python
31 lines
1.3 KiB
Python
from pr_agent.config_loader import get_settings
|
|
from pr_agent.git_providers.bitbucket_provider import BitbucketProvider
|
|
from pr_agent.git_providers.bitbucket_server_provider import BitbucketServerProvider
|
|
from pr_agent.git_providers.codecommit_provider import CodeCommitProvider
|
|
from pr_agent.git_providers.github_provider import GithubProvider
|
|
from pr_agent.git_providers.gitlab_provider import GitLabProvider
|
|
from pr_agent.git_providers.local_git_provider import LocalGitProvider
|
|
from pr_agent.git_providers.azuredevops_provider import AzureDevopsProvider
|
|
from pr_agent.git_providers.gerrit_provider import GerritProvider
|
|
|
|
_GIT_PROVIDERS = {
|
|
'github': GithubProvider,
|
|
'gitlab': GitLabProvider,
|
|
'bitbucket': BitbucketProvider,
|
|
'bitbucket_server': BitbucketServerProvider,
|
|
'azure': AzureDevopsProvider,
|
|
'codecommit': CodeCommitProvider,
|
|
'local': LocalGitProvider,
|
|
'gerrit': GerritProvider,
|
|
}
|
|
|
|
|
|
def get_git_provider():
|
|
try:
|
|
provider_id = get_settings().config.git_provider
|
|
except AttributeError as e:
|
|
raise ValueError("git_provider is a required attribute in the configuration file") from e
|
|
if provider_id not in _GIT_PROVIDERS:
|
|
raise ValueError(f"Unknown git provider: {provider_id}")
|
|
return _GIT_PROVIDERS[provider_id]
|