Skip to content

Commit e6ee93c

Browse files
authored
azure repo support (#454)
1 parent f4d6acd commit e6ee93c

File tree

1 file changed

+18
-3
lines changed

1 file changed

+18
-3
lines changed

pkg/pipeline/DbPipelineOrchestrator.go

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ import (
3737
"github.com/devtron-labs/devtron/pkg/bean"
3838
"github.com/go-pg/pg"
3939
"go.uber.org/zap"
40+
"net/url"
41+
"path"
4042
"strconv"
4143
"strings"
4244
"time"
@@ -891,7 +893,14 @@ func (impl DbPipelineOrchestratorImpl) updateMaterial(updateMaterialDTO *bean.Up
891893
return nil, validationErr
892894
}
893895
currentMaterial.Url = updateMaterialDTO.Material.Url
894-
currentMaterial.Name = strconv.Itoa(updateMaterialDTO.Material.GitProviderId) + "-" + updateMaterialDTO.Material.Url[strings.LastIndex(updateMaterialDTO.Material.Url, "/")+1:strings.LastIndex(updateMaterialDTO.Material.Url, ".git")]
896+
materialUrl, err := url.Parse(updateMaterialDTO.Material.Url)
897+
if err != nil {
898+
return nil, err
899+
}
900+
basePath := path.Base(materialUrl.Path)
901+
basePath = strings.TrimSuffix(basePath, ".git")
902+
903+
currentMaterial.Name = strconv.Itoa(updateMaterialDTO.Material.GitProviderId) + "-" + basePath
895904
currentMaterial.GitProviderId = updateMaterialDTO.Material.GitProviderId
896905
currentMaterial.CheckoutPath = updateMaterialDTO.Material.CheckoutPath
897906
currentMaterial.AuditLog = models.AuditLog{UpdatedBy: updateMaterialDTO.UserId, CreatedBy: currentMaterial.CreatedBy, UpdatedOn: time.Now(), CreatedOn: currentMaterial.CreatedOn}
@@ -905,16 +914,22 @@ func (impl DbPipelineOrchestratorImpl) updateMaterial(updateMaterialDTO *bean.Up
905914
}
906915

907916
func (impl DbPipelineOrchestratorImpl) createMaterial(inputMaterial *bean.GitMaterial, appId int, userId int32) (*pipelineConfig.GitMaterial, error) {
917+
materialUrl, err := url.Parse(inputMaterial.Url)
918+
if err != nil {
919+
return nil, err
920+
}
921+
basePath := path.Base(materialUrl.Path)
922+
basePath = strings.TrimSuffix(basePath, ".git")
908923
material := &pipelineConfig.GitMaterial{
909924
Url: inputMaterial.Url,
910925
AppId: appId,
911-
Name: strconv.Itoa(inputMaterial.GitProviderId) + "-" + inputMaterial.Url[strings.LastIndex(inputMaterial.Url, "/")+1:strings.LastIndex(inputMaterial.Url, ".git")],
926+
Name: strconv.Itoa(inputMaterial.GitProviderId) + "-" + basePath,
912927
GitProviderId: inputMaterial.GitProviderId,
913928
Active: true,
914929
CheckoutPath: inputMaterial.CheckoutPath,
915930
AuditLog: models.AuditLog{UpdatedBy: userId, CreatedBy: userId, UpdatedOn: time.Now(), CreatedOn: time.Now()},
916931
}
917-
err := impl.materialRepository.SaveMaterial(material)
932+
err = impl.materialRepository.SaveMaterial(material)
918933
if err != nil {
919934
impl.logger.Errorw("error in saving material", "material", material, "err", err)
920935
return nil, err

0 commit comments

Comments
 (0)