From ff57b5ed29febc90da75b948d210c001c5e82ef0 Mon Sep 17 00:00:00 2001 From: Praveen Kuttappan Date: Mon, 29 Sep 2025 11:40:14 -0400 Subject: [PATCH 1/9] Use authenticated GitHub request when env variable is present --- .../scripts/Helpers/AzSdkTool-Helpers.ps1 | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 b/eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 index 8d74ece07dd9..960cc4ea780f 100644 --- a/eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 +++ b/eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 @@ -105,6 +105,19 @@ function isNewVersion( return $true } +function Get-GitHubApiHeaders { + $token = $env:GITHUB_TOKEN + if ($token) + { + Write-Host "Using authenticated GitHub API requests to install MCP server." + $headers = @{ + Authorization = "bearer $token" + } + return $headers + } + return @{} +} + <# .SYNOPSIS Installs a standalone version of an engsys tool. @@ -135,11 +148,12 @@ function Install-Standalone-Tool ( } $tag = "${Package}_${Version}" + $headers = Get-GitHubApiHeaders if (!$Version -or $Version -eq "*") { Write-Host "Attempting to find latest version for package '$Package'" $releasesUrl = "https://api.github.com/repos/$Repository/releases" - $releases = Invoke-RestMethod -Uri $releasesUrl + $releases = Invoke-RestMethod -Uri $releasesUrl -Headers $headers $found = $false foreach ($release in $releases) { if ($release.tag_name -like "$Package*") { @@ -163,7 +177,7 @@ function Install-Standalone-Tool ( if (isNewVersion $version $downloadFolder) { Write-Host "Installing '$Package' '$Version' to '$downloadFolder' from $downloadUrl" - Invoke-WebRequest -Uri $downloadUrl -OutFile $downloadLocation + Invoke-WebRequest -Uri $downloadUrl -OutFile $downloadLocation -Headers $headers if ($downloadFile -like "*.zip") { Expand-Archive -Path $downloadLocation -DestinationPath $downloadFolder -Force From dec1d829f6373462e7ae6a8e2189aaeb8ef18dc2 Mon Sep 17 00:00:00 2001 From: Praven Kuttappan <55455725+praveenkuttappan@users.noreply.github.com> Date: Mon, 29 Sep 2025 11:44:00 -0400 Subject: [PATCH 2/9] Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 b/eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 index 960cc4ea780f..a84c82d7039b 100644 --- a/eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 +++ b/eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 @@ -109,9 +109,9 @@ function Get-GitHubApiHeaders { $token = $env:GITHUB_TOKEN if ($token) { - Write-Host "Using authenticated GitHub API requests to install MCP server." + Write-Host "Using authenticated GitHub API requests." $headers = @{ - Authorization = "bearer $token" + Authorization = "Bearer $token" } return $headers } From b6cfa7e45ac6bbaa950b525304b34757740f5030 Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Tue, 30 Sep 2025 13:11:01 -0400 Subject: [PATCH 3/9] Add GITHUB_TOKEN environment variable to Install azsdk mcp server step (#37857) * Add GITHUB_TOKEN env variable to Install azsdk mcp server step --- .github/workflows/copilot-setup-steps.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/copilot-setup-steps.yml b/.github/workflows/copilot-setup-steps.yml index 304610d0ed48..7e1f35d9ceb0 100644 --- a/.github/workflows/copilot-setup-steps.yml +++ b/.github/workflows/copilot-setup-steps.yml @@ -26,5 +26,7 @@ jobs: - name: Install azsdk mcp server shell: pwsh + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | ./eng/common/mcp/azure-sdk-mcp.ps1 -InstallDirectory $HOME/bin From d24b7872cc938c96cfaf9af6fa1e511a9be7a86f Mon Sep 17 00:00:00 2001 From: Praven Kuttappan <55455725+praveenkuttappan@users.noreply.github.com> Date: Tue, 30 Sep 2025 14:01:20 -0400 Subject: [PATCH 4/9] Update eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 --- eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 | 1 + 1 file changed, 1 insertion(+) diff --git a/eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 b/eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 index a84c82d7039b..63fe2a5cca9c 100644 --- a/eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 +++ b/eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 @@ -115,6 +115,7 @@ function Get-GitHubApiHeaders { } return $headers } + Write-Host "Using unauthenticated requests." return @{} } From 580abe10127d92795265c8d2c44c5b845591e6ad Mon Sep 17 00:00:00 2001 From: Praven Kuttappan <55455725+praveenkuttappan@users.noreply.github.com> Date: Tue, 30 Sep 2025 14:07:56 -0400 Subject: [PATCH 5/9] Update eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 --- eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 | 1 - 1 file changed, 1 deletion(-) diff --git a/eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 b/eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 index 63fe2a5cca9c..a84c82d7039b 100644 --- a/eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 +++ b/eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 @@ -115,7 +115,6 @@ function Get-GitHubApiHeaders { } return $headers } - Write-Host "Using unauthenticated requests." return @{} } From 70bfde76f66596a477a5927549d73b94283c24f9 Mon Sep 17 00:00:00 2001 From: Praven Kuttappan <55455725+praveenkuttappan@users.noreply.github.com> Date: Wed, 1 Oct 2025 14:53:26 -0400 Subject: [PATCH 6/9] Update eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 --- .../scripts/Helpers/AzSdkTool-Helpers.ps1 | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 b/eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 index a84c82d7039b..0251ba7bbfcc 100644 --- a/eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 +++ b/eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 @@ -106,8 +106,19 @@ function isNewVersion( } function Get-GitHubApiHeaders { - $token = $env:GITHUB_TOKEN - if ($token) + # Use GitHub cli to get an auth token if available + if (Get-Command gh -ErrorAction SilentlyContinue) { + $token = gh auth token 2>$null + } + + # Get token from env if not available from gh cli + if (!$token) + { + Write-Host "Check for GITHUB_TOKEN environment variable." + $token = $env:GITHUB_TOKEN + } + + if ($token) { Write-Host "Using authenticated GitHub API requests." $headers = @{ @@ -115,6 +126,8 @@ function Get-GitHubApiHeaders { } return $headers } + + Write-Host "Using unauthenticated GitHub API requests." return @{} } From 40e70cd3fc6dcf2325f50477de6c1b07d5fc2585 Mon Sep 17 00:00:00 2001 From: Praven Kuttappan <55455725+praveenkuttappan@users.noreply.github.com> Date: Wed, 1 Oct 2025 15:04:17 -0400 Subject: [PATCH 7/9] Update eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 --- eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 b/eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 index 0251ba7bbfcc..aa248c796aa1 100644 --- a/eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 +++ b/eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 @@ -122,7 +122,7 @@ function Get-GitHubApiHeaders { { Write-Host "Using authenticated GitHub API requests." $headers = @{ - Authorization = "Bearer $token" + Authorization = "Bearer $tokentest" } return $headers } From 34280da1f505a82345de483f81fcfdbaf693ebd6 Mon Sep 17 00:00:00 2001 From: Praven Kuttappan <55455725+praveenkuttappan@users.noreply.github.com> Date: Wed, 1 Oct 2025 15:56:55 -0400 Subject: [PATCH 8/9] Update eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 --- eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 b/eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 index aa248c796aa1..9f5806fec9c2 100644 --- a/eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 +++ b/eng/common/scripts/Helpers/AzSdkTool-Helpers.ps1 @@ -128,7 +128,10 @@ function Get-GitHubApiHeaders { } Write-Host "Using unauthenticated GitHub API requests." - return @{} + $headers = @{ + Authorization = "Bearer testfail" + } + return $headers } <# From fa71605bc87495ed46f741f03d183a4c31e39519 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 1 Oct 2025 20:10:33 +0000 Subject: [PATCH 9/9] Initial plan