Sync eng/common directory with azure-sdk-tools for PR 11974 (#6723)
* Add a script to update pull request URL in release plan from SDK generation pipeline
This commit is contained in:
parent
2d969df700
commit
f550fd038e
@ -1073,4 +1073,41 @@ function Update-ReleaseStatusInReleasePlan($releasePlanWorkItemId, $status, $ver
|
||||
Write-Host "Updating Release Plan [$releasePlanWorkItemId] with status [$status] for language [$LanguageShort]."
|
||||
$workItem = UpdateWorkItem -id $releasePlanWorkItemId -fields $fields
|
||||
Write-Host "Updated release status for [$LanguageShort] in Release Plan [$releasePlanWorkItemId]"
|
||||
}
|
||||
|
||||
function Update-PullRequestInReleasePlan($releasePlanWorkItemId, $pullRequestUrl, $status, $languageName)
|
||||
{
|
||||
$devopsFieldLanguage = Get-LanguageDevOpsName -LanguageShort $languageName
|
||||
if (!$devopsFieldLanguage)
|
||||
{
|
||||
Write-Host "Unsupported language to update release plan, language [$languageName]"
|
||||
return $null
|
||||
}
|
||||
|
||||
$fields = @()
|
||||
$fields += "`"SDKPullRequestFor$($devopsFieldLanguage)=$pullRequestUrl`""
|
||||
$fields += "`"SDKPullRequestStatusFor$($devopsFieldLanguage)=$status`""
|
||||
|
||||
Write-Host "Updating Release Plan [$releasePlanWorkItemId] with Pull Request URL for language [$languageName]."
|
||||
$workItem = UpdateWorkItem -id $releasePlanWorkItemId -fields $fields
|
||||
Write-Host "Updated Pull Request URL [$pullRequestUrl] for [$languageName] in Release Plan [$releasePlanWorkItemId]"
|
||||
}
|
||||
|
||||
function Get-ReleasePlan-Link($releasePlanWorkItemId)
|
||||
{
|
||||
$fields = @()
|
||||
$fields += "System.Id"
|
||||
$fields += "System.Title"
|
||||
$fields += "Custom.ReleasePlanLink"
|
||||
$fields += "Custom.ReleasePlanSubmittedby"
|
||||
|
||||
$fieldList = ($fields | ForEach-Object { "[$_]"}) -join ", "
|
||||
$query = "SELECT ${fieldList} FROM WorkItems WHERE [System.Id] = $releasePlanWorkItemId"
|
||||
$workItem = Invoke-Query $fields $query
|
||||
if (!$workItem)
|
||||
{
|
||||
Write-Host "Release plan with ID $releasePlanWorkItemId not found."
|
||||
return $null
|
||||
}
|
||||
return $workItem["fields"]
|
||||
}
|
||||
37
eng/common/scripts/Update-PullRequest-In-ReleasePlan.ps1
Normal file
37
eng/common/scripts/Update-PullRequest-In-ReleasePlan.ps1
Normal file
@ -0,0 +1,37 @@
|
||||
param(
|
||||
[Parameter(Mandatory = $true)]
|
||||
$ReleasePlanWorkItemId,
|
||||
[Parameter(Mandatory = $true)]
|
||||
$PullRequestUrl,
|
||||
[Parameter(Mandatory = $true)]
|
||||
$Status,
|
||||
[Parameter(Mandatory = $true)]
|
||||
$LanguageName
|
||||
)
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Updates the pull request URL and status in the specified release plan work item for a given programming language.
|
||||
|
||||
.PARAMETER ReleasePlanWorkItemId
|
||||
The ID of the release plan work item to update.
|
||||
|
||||
.PARAMETER PullRequestUrl
|
||||
The URL of the pull request to set in the release plan.
|
||||
|
||||
.PARAMETER Status
|
||||
The status of the pull request.
|
||||
|
||||
.PARAMETER LanguageName
|
||||
The programming language associated with the pull request.
|
||||
|
||||
#>
|
||||
|
||||
Set-StrictMode -Version 3
|
||||
. (Join-Path $PSScriptRoot common.ps1)
|
||||
. (Join-Path $PSScriptRoot Helpers DevOps-WorkItem-Helpers.ps1)
|
||||
|
||||
|
||||
LogDebug "Updating pull request in release plan"
|
||||
Update-PullRequestInReleasePlan $ReleasePlanWorkItemId $PullRequestUrl $Status $LanguageName
|
||||
LogDebug "Updated pull request in release plan"
|
||||
Loading…
Reference in New Issue
Block a user