Check GH token availability for Get-Changelog (#25133)

Co-authored-by: Justin Chung <chungjustin@microsoft.com>
Co-authored-by: Travis Plunk <travis.plunk@microsoft.com>
This commit is contained in:
Justin Chung
2025-03-07 20:26:23 +00:00
committed by GitHub
co-authored by Justin Chung Travis Plunk
parent 210ca8325a
commit 14f80030cc
+31 -1
View File
@@ -151,13 +151,20 @@ function Get-ChangeLog
[Parameter(Mandatory = $true)]
[string]$ThisReleaseTag,
[Parameter(Mandatory)]
[Parameter(Mandatory = $false)]
[string]$Token,
[Parameter()]
[switch]$HasCherryPick
)
if(-not $Token) {
$Token = Get-GHDefaultAuthToken
if(-not $Token) {
throw "No GitHub Auth Token provided"
}
}
$tag_hash = git rev-parse "$LastReleaseTag^0"
$format = '%H||%P||%aN||%aE||%s'
$header = @{"Authorization"="token $Token"}
@@ -361,6 +368,29 @@ function Get-ChangeLog
Write-Output "[${version}]: https://github.com/PowerShell/PowerShell/compare/${LastReleaseTag}...${ThisReleaseTag}`n"
}
function Get-GHDefaultAuthToken {
$IsGHCLIInstalled = $false
if (Get-command -CommandType Application -Name gh -ErrorAction SilentlyContinue) {
$IsGHCLIInstalled = $true
} else {
Write-Error -Message "GitHub CLI is not installed. Please install it from https://cli.github.com/" -ErrorAction Stop
}
if ($IsGHCLIInstalled) {
try {
$Token = & gh auth token
} catch {
Write-Error -Message "Please login to GitHub CLI using 'gh auth login'"
}
}
if (-not $Token) {
$Token = Read-Host -Prompt "Enter GitHub Auth Token"
}
return $Token
}
function PrintChangeLog($clSection, $sectionTitle, [switch] $Compress) {
if ($clSection.Count -gt 0) {
"### $sectionTitle`n"