mirror of https://github.com/harness/drone.git
feat: [CODE-1908]: Worked on ADO import functionality review comments (#2044)
parent
7351d63ccc
commit
ca0148816a
|
@ -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
2
go.mod
|
@ -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
2
go.sum
|
@ -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=
|
||||
|
|
|
@ -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()
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue