diff --git a/command/repo/view/view.go b/command/repo/view/view.go index 2fff4427..b912da56 100644 --- a/command/repo/view/view.go +++ b/command/repo/view/view.go @@ -15,9 +15,12 @@ import ( ) var VCSMap = map[string]string{ - "GITHUB": "gh", - "GITLAB": "gl", - "BITBUCKET": "bb", + "GITHUB": "gh", + "GITHUB_ENTERPRISE": "ghe", + "GITLAB": "gl", + "BITBUCKET": "bb", + "BITBUCKET_DATACENTER": "bbdc", + "ADS": "ads", } type RepoViewOptions struct { diff --git a/utils/remote_resolver.go b/utils/remote_resolver.go index a43933c7..5d138282 100644 --- a/utils/remote_resolver.go +++ b/utils/remote_resolver.go @@ -79,12 +79,16 @@ func RepoArgumentResolver(arg string) ([]string, error) { switch argComponents[0] { case "gh", "github.com": argComponents[0] = "GITHUB" - + case "ghe": + argComponents[0] = "GITHUB_ENTERPRISE" case "gl", "gitlab.com": argComponents[0] = "GITLAB" - case "bb", "bitbucket.com": argComponents[0] = "BITBUCKET" + case "bbdc": + argComponents[0] = "BITBUCKET_DATACENTER" + case "ads": + argComponents[0] = "ADS" default: return argComponents, fmt.Errorf("VCSProvider `%s` not supported", argComponents[0]) } diff --git a/utils/remote_resolver_test.go b/utils/remote_resolver_test.go index 23b67b04..294d1d82 100644 --- a/utils/remote_resolver_test.go +++ b/utils/remote_resolver_test.go @@ -26,6 +26,12 @@ func TestResolveRemote(t *testing.T) { want: &RemoteData{Owner: "deepsourcelabs", RepoName: "cli", VCSProvider: "GITHUB"}, wantErr: false, }, + { + name: "valid github enterprise remote URL (short form)", + repoArg: "ghe/deepsourcelabs/cli", + want: &RemoteData{Owner: "deepsourcelabs", RepoName: "cli", VCSProvider: "GITHUB_ENTERPRISE"}, + wantErr: false, + }, { name: "valid gitlab remote URL", repoArg: "gitlab.com/deepsourcelabs/cli", @@ -50,6 +56,18 @@ func TestResolveRemote(t *testing.T) { want: &RemoteData{Owner: "deepsourcelabs", RepoName: "cli", VCSProvider: "BITBUCKET"}, wantErr: false, }, + { + name: "valid bitbucket datacenter remote URL (short form)", + repoArg: "bbdc/deepsourcelabs/cli", + want: &RemoteData{Owner: "deepsourcelabs", RepoName: "cli", VCSProvider: "BITBUCKET_DATACENTER"}, + wantErr: false, + }, + { + name: "valid Azure Devops remote URL (short form)", + repoArg: "ads/deepsourcelabs/cli", + want: &RemoteData{Owner: "deepsourcelabs", RepoName: "cli", VCSProvider: "ADS"}, + wantErr: false, + }, { name: "invalid VCS provider", repoArg: "example.com/deepsourcelabs/cli",