@@ -1073,4 +1073,41 @@ function Update-ReleaseStatusInReleasePlan($releasePlanWorkItemId, $status, $ver
10731073 Write-Host " Updating Release Plan [$releasePlanWorkItemId ] with status [$status ] for language [$LanguageShort ]."
10741074 $workItem = UpdateWorkItem - id $releasePlanWorkItemId - fields $fields
10751075 Write-Host " Updated release status for [$LanguageShort ] in Release Plan [$releasePlanWorkItemId ]"
1076+ }
1077+
1078+ function Update-PullRequestInReleasePlan ($releasePlanWorkItemId , $pullRequestUrl , $status , $languageName )
1079+ {
1080+ $devopsFieldLanguage = Get-LanguageDevOpsName - LanguageShort $languageName
1081+ if (! $devopsFieldLanguage )
1082+ {
1083+ Write-Host " Unsupported language to update release plan, language [$languageName ]"
1084+ return $null
1085+ }
1086+
1087+ $fields = @ ()
1088+ $fields += " `" SDKPullRequestFor$ ( $devopsFieldLanguage ) =$pullRequestUrl `" "
1089+ $fields += " `" SDKPullRequestStatusFor$ ( $devopsFieldLanguage ) =$status `" "
1090+
1091+ Write-Host " Updating Release Plan [$releasePlanWorkItemId ] with Pull Request URL for language [$languageName ]."
1092+ $workItem = UpdateWorkItem - id $releasePlanWorkItemId - fields $fields
1093+ Write-Host " Updated Pull Request URL [$pullRequestUrl ] for [$languageName ] in Release Plan [$releasePlanWorkItemId ]"
1094+ }
1095+
1096+ function Get-ReleasePlan-Link ($releasePlanWorkItemId )
1097+ {
1098+ $fields = @ ()
1099+ $fields += " System.Id"
1100+ $fields += " System.Title"
1101+ $fields += " Custom.ReleasePlanLink"
1102+ $fields += " Custom.ReleasePlanSubmittedby"
1103+
1104+ $fieldList = ($fields | ForEach-Object { " [$_ ]" }) -join " , "
1105+ $query = " SELECT ${fieldList} FROM WorkItems WHERE [System.Id] = $releasePlanWorkItemId "
1106+ $workItem = Invoke-Query $fields $query
1107+ if (! $workItem )
1108+ {
1109+ Write-Host " Release plan with ID $releasePlanWorkItemId not found."
1110+ return $null
1111+ }
1112+ return $workItem [" fields" ]
10761113}
0 commit comments