feat: [CODE-1908]: Worked on ADO import functionality review comments (#2044)

pull/3519/head
Karan Saraswat 2024-05-16 06:30:35 +00:00 committed by Harness
parent 7351d63ccc
commit ca0148816a
4 changed files with 14 additions and 10 deletions

View File

@ -222,7 +222,7 @@ func getScmClientWithTransport(provider Provider, slug string, authReq bool) (*s
case ProviderTypeAzure:
org, project, err := extractOrgAndProjectFromSlug(slug)
if err != nil {
return nil, err
return nil, fmt.Errorf("invalid slug format: %w", err)
}
if provider.Host != "" {
c, err = azure.New(provider.Host, org, project)
@ -272,7 +272,7 @@ func LoadRepositoryFromProvider(
if provider.Type == ProviderTypeAzure {
repoSlug, err = extractRepoFromSlug(repoSlug)
if err != nil {
return RepositoryInfo{}, provider, err
return RepositoryInfo{}, provider, usererror.BadRequestf("invalid slug format: %s", err)
}
}
scmRepo, scmResp, err := scmClient.Repositories.Find(ctx, repoSlug)
@ -357,8 +357,7 @@ func LoadRepositoriesFromProviderSpace(
for _, scmRepo := range scmRepos {
// in some cases the namespace filter isn't working (e.g. Gitlab)
// in some cases the namespace doesn't get generated (e.g. Azure)
if provider.Type != ProviderTypeAzure && !strings.EqualFold(scmRepo.Namespace, spaceSlug) {
if !strings.EqualFold(scmRepo.Namespace, spaceSlug) {
continue
}
@ -388,9 +387,10 @@ func LoadRepositoriesFromProviderSpace(
func extractOrgAndProjectFromSlug(slug string) (string, string, error) {
res := strings.Split(slug, "/")
if len(res) < 2 {
return "", "", usererror.BadRequest("invalid slug format: organization or project info missing")
} else if len(res) > 3 {
return "", "", usererror.BadRequest("invalid slug format: too many parts")
return "", "", fmt.Errorf("organization or project info missing")
}
if len(res) > 3 {
return "", "", fmt.Errorf("too many parts")
}
return res[0], res[1], nil
}
@ -400,7 +400,7 @@ func extractRepoFromSlug(slug string) (string, error) {
if len(res) == 3 {
return res[2], nil
}
return "", usererror.BadRequest("invalid slug format: repo name missing")
return "", fmt.Errorf("repo name missing")
}
func convertSCMError(provider Provider, slug string, r *scm.Response, err error) error {

2
go.mod
View File

@ -18,7 +18,7 @@ require (
github.com/drone/funcmap v0.0.0-20190918184546-d4ef6e88376d
github.com/drone/go-convert v0.0.0-20230919093251-7104c3bcc635
github.com/drone/go-generate v0.0.0-20230920014042-6085ee5c9522
github.com/drone/go-scm v1.36.0
github.com/drone/go-scm v1.37.1
github.com/drone/runner-go v1.12.0
github.com/drone/spec v0.0.0-20230919004456-7455b8913ff5
github.com/fatih/color v1.16.0

2
go.sum
View File

@ -198,6 +198,8 @@ github.com/drone/go-scm v1.31.2 h1:6hZxf0aETV17830fMCPrgcA4y8j/8Gdfy0xEdInUeqQ=
github.com/drone/go-scm v1.31.2/go.mod h1:DFIJJjhMj0TSXPz+0ni4nyZ9gtTtC40Vh/TGRugtyWw=
github.com/drone/go-scm v1.36.0 h1:5d9lJVoXGJvLqG2CFwLcZvMMiZPNxCrmHbxRVzu19qM=
github.com/drone/go-scm v1.36.0/go.mod h1:DFIJJjhMj0TSXPz+0ni4nyZ9gtTtC40Vh/TGRugtyWw=
github.com/drone/go-scm v1.37.1 h1:U42+3JRFvmBJXZnKqphF377h2mT9Pe+Oin/lDD1fnJ8=
github.com/drone/go-scm v1.37.1/go.mod h1:DFIJJjhMj0TSXPz+0ni4nyZ9gtTtC40Vh/TGRugtyWw=
github.com/drone/runner-go v1.12.0 h1:zUjDj9ylsJ4n4Mvy4znddq/Z4EBzcUXzTltpzokKtgs=
github.com/drone/runner-go v1.12.0/go.mod h1:vu4pPPYDoeN6vdYQAY01GGGsAIW4aLganJNaa8Fx8zE=
github.com/drone/signal v1.0.0/go.mod h1:S8t92eFT0g4WUgEc/LxG+LCuiskpMNsG0ajAMGnyZpc=

View File

@ -185,7 +185,7 @@ export enum GitProviders {
BITBUCKET_SERVER = 'Bitbucket Server',
GITEA = 'Gitea',
GOGS = 'Gogs',
AZURE = 'Azure'
AZURE = 'Azure DevOps'
}
export enum ConvertPipelineLabel {
@ -405,6 +405,8 @@ export const getProviderTypeMapping = (provider: GitProviders): string => {
return 'github'
case GitProviders.GITLAB_SELF_HOSTED:
return 'gitlab'
case GitProviders.AZURE:
return 'azure'
default:
return provider.toLowerCase()
}