diff --git a/github/create-pull-request.ps1 b/github/create-pull-request.ps1 index a30d4fb..a2ea0ab 100644 --- a/github/create-pull-request.ps1 +++ b/github/create-pull-request.ps1 @@ -84,7 +84,7 @@ Git-CommitAllChanges -Message $CommitMessage Write-Host "Push branch: $BranchName" Git-PushBranch -Name $BranchName -Force $true -$gitHubApi = Get-GitHubApi -RepositoryFullName $RepositoryFullName -AccessToken $AccessToken +$gitHubApi = Get-GitHubApi -RepositoryName $RepositoryFullName -AccessToken $AccessToken $repositoryOwner = $RepositoryFullName.Split('/')[0] $pullRequest = $gitHubApi.GetPullRequest($BranchName, $repositoryOwner) diff --git a/github/github-api.psm1 b/github/github-api.psm1 index aacffb1..cd16b0b 100644 --- a/github/github-api.psm1 +++ b/github/github-api.psm1 @@ -8,10 +8,11 @@ class GitHubApi [object] $AuthHeader GitHubApi( - [string] $RepositoryFullName, + [string] $AccountName, + [string] $ProjectName, [string] $AccessToken ) { - $this.BaseUrl = $this.BuildBaseUrl($RepositoryFullName) + $this.BaseUrl = $this.BuildBaseUrl($AccountName, $ProjectName) $this.AuthHeader = $this.BuildAuth($AccessToken) } @@ -25,8 +26,8 @@ class GitHubApi } } - [string] hidden BuildBaseUrl([string]$RepositoryFullName) { - return "https://api.github.com/repos/$RepositoryFullName" + [string] hidden BuildBaseUrl([string]$RepositoryOwner, [string]$RepositoryName) { + return "https://api.github.com/repos/$RepositoryOwner/$RepositoryName" } [object] CreateNewPullRequest([string]$Title, [string]$Body, [string]$BranchName){ @@ -144,9 +145,20 @@ class GitHubApi function Get-GitHubApi { param ( - [string] $RepositoryFullName, + [Parameter(ParameterSetName = 'RepositoryOwner')] + [Parameter(ParameterSetName = 'RepositoryName')] + [string] $RepositoryOwner, + + [Parameter(ParameterSetName = 'RepositoryName')] + [string] $RepositoryName, + [string] $AccessToken ) - return [GitHubApi]::New($RepositoryFullName, $AccessToken) + # Split repository name (like 'actions/versions-package-tools') in case when owner is not set + if (-not $RepositoryOwner) { + $RepositoryOwner = $RepositoryName.Split('/')[0] + } + + return [GitHubApi]::New($RepositoryOwner, $RepositoryName, $AccessToken) } \ No newline at end of file diff --git a/github/run-ci-builds.ps1 b/github/run-ci-builds.ps1 index e4b8a03..1010e6c 100644 --- a/github/run-ci-builds.ps1 +++ b/github/run-ci-builds.ps1 @@ -81,7 +81,7 @@ function Queue-Builds { } } -$gitHubApi = Get-GitHubApi -RepositoryFullName $RepositoryFullName -AccessToken $AccessToken +$gitHubApi = Get-GitHubApi -RepositoryName $RepositoryFullName -AccessToken $AccessToken Write-Host "Versions to build: $ToolVersions" Queue-Builds -GitHubApi $gitHubApi ` diff --git a/packages-generation/manifest-generator.ps1 b/packages-generation/manifest-generator.ps1 index 75acd89..42a343c 100644 --- a/packages-generation/manifest-generator.ps1 +++ b/packages-generation/manifest-generator.ps1 @@ -25,7 +25,7 @@ Import-Module (Join-Path $PSScriptRoot "manifest-utils.psm1") -Force $configuration = Read-ConfigurationFile -Filepath $ConfigurationFile -$gitHubApi = Get-GitHubApi -RepositoryFullName $RepositoryFullName -AccessToken $GitHubAccessToken +$gitHubApi = Get-GitHubApi -RepositoryName $RepositoryFullName -AccessToken $GitHubAccessToken $releases = $gitHubApi.GetReleases() $versionIndex = Build-VersionsManifest -Releases $releases -Configuration $configuration $versionIndex | ConvertTo-Json -Depth 5 | Out-File $OutputFile -Encoding UTF8NoBOM -Force