| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #!/usr/bin/env pwsh
- [cmdletbinding()]
- param(
- [Parameter(Mandatory=$true)]
- [DateTime]$since,
- [Nullable[DateTime]]$until,
- [Parameter(Mandatory=$true)]
- [string]$repo);
- $r = @()
- $page = 1
- $qParams = @{
- "since" = $since.ToString("o");
- "per_page" = 100
- "page" = $page
- }
- if ($until -ne $null) {
- $qParams["until"] = $until.ToString("o")
- }
- $url = "https://api.github.com/repos/{0}/commits" -f $repo
- while ($null -ne $url)
- {
- $resp = Invoke-WebRequest $url -UseBasicParsing -Body $qParams
- if($resp.Content.Length -eq 2) {
- break
- }
- $page += 1
- $qParams["page"] = $page
-
- $j = ConvertFrom-Json $resp.Content
- $r += $j
- }
- return $r
|