From e2fb29ac19d648d0a6479663cd788871a593509f Mon Sep 17 00:00:00 2001 From: MarkFarkas Date: Mon, 16 Oct 2023 15:33:40 +0200 Subject: [PATCH 1/3] Update Get-ALZGithubRelease.ps1 Add support for pagination of Github releases --- src/ALZ/Public/Get-ALZGithubRelease.ps1 | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/ALZ/Public/Get-ALZGithubRelease.ps1 b/src/ALZ/Public/Get-ALZGithubRelease.ps1 index bc472de2..704a09b3 100644 --- a/src/ALZ/Public/Get-ALZGithubRelease.ps1 +++ b/src/ALZ/Public/Get-ALZGithubRelease.ps1 @@ -50,7 +50,16 @@ function Get-ALZGithubRelease { # Get releases on repo $repoReleasesUrl = "https://api.github.com/repos/$repoOrgPlusRepo/releases" - $allRepoReleases = Invoke-RestMethod $repoReleasesUrl -RetryIntervalSec 3 -MaximumRetryCount 100 + $perPage = 30 + $page = 1 + $allRepoReleases = @() + do { + Write-Verbose "=====> Retrieving page $page of releases on GitHub Repo: $repoOrgPlusRepo" + $releases = Invoke-RestMethod ($repoReleasesUrl + "?per_page=$perPage&page=$page") -RetryIntervalSec 3 -MaximumRetryCount 100 + $allRepoReleases += $releases + $page++ + } + while ($releases.count -eq $perPage) Write-Verbose "=====> All available releases on GitHub Repo: $repoOrgPlusRepo" $allRepoReleases | Select-Object name, tag_name, published_at, prerelease, draft, html_url | Format-Table -AutoSize | Out-String | Write-Verbose @@ -135,4 +144,4 @@ function Get-ALZGithubRelease { } } return $selectedReleases -} \ No newline at end of file +} From d4ec426bf38943214a93b549fce56fdc17eedc62 Mon Sep 17 00:00:00 2001 From: MarkFarkas Date: Mon, 16 Oct 2023 17:05:30 +0200 Subject: [PATCH 2/3] Fix variable name reuse --- src/ALZ/Public/Get-ALZGithubRelease.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ALZ/Public/Get-ALZGithubRelease.ps1 b/src/ALZ/Public/Get-ALZGithubRelease.ps1 index 704a09b3..9babc01d 100644 --- a/src/ALZ/Public/Get-ALZGithubRelease.ps1 +++ b/src/ALZ/Public/Get-ALZGithubRelease.ps1 @@ -55,11 +55,11 @@ function Get-ALZGithubRelease { $allRepoReleases = @() do { Write-Verbose "=====> Retrieving page $page of releases on GitHub Repo: $repoOrgPlusRepo" - $releases = Invoke-RestMethod ($repoReleasesUrl + "?per_page=$perPage&page=$page") -RetryIntervalSec 3 -MaximumRetryCount 100 + $results = Invoke-RestMethod ($repoReleasesUrl + "?per_page=$perPage&page=$page") -RetryIntervalSec 3 -MaximumRetryCount 100 $allRepoReleases += $releases $page++ } - while ($releases.count -eq $perPage) + while ($results.count -eq $perPage) Write-Verbose "=====> All available releases on GitHub Repo: $repoOrgPlusRepo" $allRepoReleases | Select-Object name, tag_name, published_at, prerelease, draft, html_url | Format-Table -AutoSize | Out-String | Write-Verbose From 37e5ec0db3d730fb1eb6cde829a5699a3f460297 Mon Sep 17 00:00:00 2001 From: MarkFarkas Date: Mon, 16 Oct 2023 17:09:28 +0200 Subject: [PATCH 3/3] Update Get-ALZGithubRelease.ps1 --- src/ALZ/Public/Get-ALZGithubRelease.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ALZ/Public/Get-ALZGithubRelease.ps1 b/src/ALZ/Public/Get-ALZGithubRelease.ps1 index 9babc01d..e70ce886 100644 --- a/src/ALZ/Public/Get-ALZGithubRelease.ps1 +++ b/src/ALZ/Public/Get-ALZGithubRelease.ps1 @@ -56,7 +56,7 @@ function Get-ALZGithubRelease { do { Write-Verbose "=====> Retrieving page $page of releases on GitHub Repo: $repoOrgPlusRepo" $results = Invoke-RestMethod ($repoReleasesUrl + "?per_page=$perPage&page=$page") -RetryIntervalSec 3 -MaximumRetryCount 100 - $allRepoReleases += $releases + $allRepoReleases += $results $page++ } while ($results.count -eq $perPage)