@@ -51,8 +51,14 @@ function Start-ClassicBuildPipelinesMigration {
5151 $sourceTaskGroups = Get-TaskGroups - OrgName $SourceOrgName - ProjectName $SourceProjectName `
5252 - Headers $SourceHeaders
5353
54- Move-TaskGroups - SourceTaskGroups $sourceTaskGroups.value - TargetProjectName $TargetProjectName `
55- - TargetOrgName $TargetOrgName - TargetHeaders $TargetHeaders
54+ # Check if there are any task groups to migrate
55+ if ($sourceTaskGroups.value -and $sourceTaskGroups.value.Count -gt 0 ) {
56+ Move-TaskGroups - SourceTaskGroups $sourceTaskGroups.value - TargetProjectName $TargetProjectName `
57+ - TargetOrgName $TargetOrgName - TargetHeaders $TargetHeaders
58+ }
59+ else {
60+ Write-Log - Message " No task groups found in the source project to migrate."
61+ }
5662
5763 $targetTaskGroups = Get-TaskGroups - OrgName $TargetOrgName - ProjectName $TargetProjectName `
5864 - Headers $TargetHeaders
@@ -147,8 +153,11 @@ function Start-ClassicBuildPipelinesMigration {
147153 }
148154
149155 foreach ($step in $phase.steps ) {
150- $step.task.id = Get-TargetTaskId - SourceTaskGroups $sourceTaskGroups.value - TargetTaskGroups `
151- $targetTaskGroups.value - SourceTaskGroupId $step.task.id
156+ # Only map task IDs if there are source task groups
157+ if ($sourceTaskGroups.value -and $sourceTaskGroups.value.Count -gt 0 ) {
158+ $step.task.id = Get-TargetTaskId - SourceTaskGroups $sourceTaskGroups.value - TargetTaskGroups `
159+ $targetTaskGroups.value - SourceTaskGroupId $step.task.id
160+ }
152161 }
153162 }
154163
@@ -358,7 +367,7 @@ function Move-BuildEnvironmentPipelinePermissions {
358367 }
359368
360369 foreach ($pipelinePermission in $sourcePipelinePermissions.Pipelines ) {
361- $sourcePipeline = Get-Pipelines - Headers $SourceHeaders - OrgName `
370+ $sourcePipeline = Get-BuildDefinition - Headers $SourceHeaders - OrgName `
362371 $SourceOrgName - ProjectName $SourceProjectName - DefinitionId `
363372 $pipelinePermission.Id
364373 $targetPipeline = ($targetPipelines | Where-Object { $_.Name -ceq $sourcePipeline.Name })
@@ -507,16 +516,21 @@ function Get-TaskGroups {
507516
508517function Get-TargetTaskId {
509518 param (
510- [Parameter (Mandatory = $TRUE )]
511- $SourceTaskGroups ,
519+ [Parameter (Mandatory = $FALSE )] # Changed to not mandatory
520+ $SourceTaskGroups = @ () ,
512521
513- [Parameter (Mandatory = $TRUE )]
514- $TargetTaskGroups ,
522+ [Parameter (Mandatory = $FALSE )] # Changed to not mandatory
523+ $TargetTaskGroups = @ () ,
515524
516525 [Parameter (Mandatory = $TRUE )]
517526 [string ]$SourceTaskGroupId
518527 )
519528
529+ # Return original ID if source task groups are empty
530+ if ($null -eq $SourceTaskGroups -or $SourceTaskGroups.Count -eq 0 ) {
531+ return $SourceTaskGroupId
532+ }
533+
520534 $stg = $SourceTaskGroups | Where-Object { $_.id -eq $SourceTaskGroupId }
521535 $result = $SourceTaskGroupId
522536
0 commit comments