Skip to content

Commit 060e52d

Browse files
committed
Release v0.1.5: Merge branch dev
2 parents 113167e + cfd27b8 commit 060e52d

File tree

5 files changed

+94
-16
lines changed

5 files changed

+94
-16
lines changed

src/PSGitHubRestApi/Public/Edit-GitHubRepositoryRelease.ps1

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ function Edit-GitHubRepositoryRelease {
4343
)
4444

4545
begin {
46-
$apiEndpoint = 'https://api.github.com'
47-
$_uri = "$apiEndpoint/repos/$($PSBoundParameters['Namespace'])/$($PSBoundParameters['Repository'])/releases/$($PSBoundParameters['ReleaseId'])"
46+
$_apiEndpoint = 'https://api.github.com'
47+
$_uri = "$_apiEndpoint/repos/$($PSBoundParameters['Namespace'])/$($PSBoundParameters['Repository'])/releases/$($PSBoundParameters['ReleaseId'])"
4848
$_headers = @{
4949
Authorization = "token $($PSBoundParameters['ApiKey'])"
5050
}
@@ -67,10 +67,17 @@ function Edit-GitHubRepositoryRelease {
6767
}
6868
"Body:" | Write-Verbose
6969
$_body | Out-String -Stream | % { $_.Trim() } | ? { $_ } | Write-Verbose
70+
$_iwrArgs = @{
71+
Uri = $_uri
72+
Method = 'Post'
73+
Headers = $_headers
74+
Body = $_bodyJson
75+
UseBasicParsing = $true
76+
}
7077
}process{
7178
try {
7279
"Invoking Web Request" | Write-Verbose
73-
$_response = Invoke-WebRequest -Uri $_uri -Method Post -Headers $_headers -Body $_bodyJson -UseBasicParsing
80+
$_response = Invoke-WebRequest @_iwrArgs
7481
}catch {
7582
throw
7683
}

src/PSGitHubRestApi/Public/Get-GitHubRepositoryRelease.ps1

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@ function Get-GitHubRepositoryRelease {
2323
)
2424

2525
begin {
26-
$apiEndpoint = 'https://api.github.com'
27-
if ($ReleaseId) {
28-
$_uri = "$apiEndpoint/repos/$($PSBoundParameters['Namespace'])/$($PSBoundParameters['Repository'])/releases/$($PSBoundParameters['ReleaseId'])"
29-
}elseif ($All) {
30-
$_uri = "$apiEndpoint/repos/$($PSBoundParameters['Namespace'])/$($PSBoundParameters['Repository'])/releases"
26+
$_apiEndpoint = 'https://api.github.com'
27+
if ($PSBoundParameters['ReleaseId']) {
28+
$_uri = "$_apiEndpoint/repos/$($PSBoundParameters['Namespace'])/$($PSBoundParameters['Repository'])/releases/$($PSBoundParameters['ReleaseId'])"
29+
}elseif ($PSBoundParameters['All']) {
30+
$_uri = "$_apiEndpoint/repos/$($PSBoundParameters['Namespace'])/$($PSBoundParameters['Repository'])/releases"
3131
}
3232
$_headers = @{
3333
Authorization = "token $($PSBoundParameters['ApiKey'])"
@@ -41,10 +41,16 @@ function Get-GitHubRepositoryRelease {
4141
if ($VerbosePreference -ne 'SilentlyContinue') {
4242
$_headersMasked | Out-String -Stream | % { $_.Trim() } | ? { $_ } | Write-Verbose
4343
}
44+
$_iwrArgs = @{
45+
Uri = $_uri
46+
Method = 'Get'
47+
Headers = $_headers
48+
UseBasicParsing = $true
49+
}
4450
}process{
4551
try {
4652
"Invoking Web Request" | Write-Verbose
47-
$_response = Invoke-WebRequest -Uri $_uri -Method Get -Headers $_headers -UseBasicParsing
53+
$_response = Invoke-WebRequest @_iwrArgs
4854
}catch {
4955
throw
5056
}

src/PSGitHubRestApi/Public/New-GitHubRepository.ps1

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,11 @@ function New-GitHubRepository {
7575
)
7676

7777
begin {
78-
$apiEndpoint = 'https://api.github.com'
78+
$_apiEndpoint = 'https://api.github.com'
7979
$_uri = if ($PSBoundParameters['AccountType'] -eq 'User') {
80-
"$apiEndpoint/user/repos"
80+
"$_apiEndpoint/user/repos"
8181
}elseif ($PSBoundParameters['AccountType'] -eq 'Organization') {
82-
"$apiEndpoint/orgs/$($PSBoundParameters['Namespace'])/repos"
82+
"$_apiEndpoint/orgs/$($PSBoundParameters['Namespace'])/repos"
8383
}
8484
$_headers = @{
8585
Authorization = "token $($PSBoundParameters['ApiKey'])"
@@ -113,10 +113,17 @@ function New-GitHubRepository {
113113
}
114114
"Body:" | Write-Verbose
115115
$_body | Out-String -Stream | % { $_.Trim() } | ? { $_ } | Write-Verbose
116+
$_iwrArgs = @{
117+
Uri = $_uri
118+
Method = 'Post'
119+
Headers = $_headers
120+
Body = $_bodyJson
121+
UseBasicParsing = $true
122+
}
116123
}process{
117124
try {
118125
"Invoking Web Request" | Write-Verbose
119-
$_response = Invoke-WebRequest -Uri $_uri -Method Post -Headers $_headers -Body $_bodyJson -UseBasicParsing
126+
$_response = Invoke-WebRequest @_iwrArgs
120127
}catch {
121128
throw
122129
}

src/PSGitHubRestApi/Public/New-GitHubRepositoryRelease.ps1

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ function New-GitHubRepositoryRelease {
3939
)
4040

4141
begin {
42-
$apiEndpoint = 'https://api.github.com'
43-
$_uri = "$apiEndpoint/repos/$($PSBoundParameters['Namespace'])/$($PSBoundParameters['Repository'])/releases"
42+
$_apiEndpoint = 'https://api.github.com'
43+
$_uri = "$_apiEndpoint/repos/$($PSBoundParameters['Namespace'])/$($PSBoundParameters['Repository'])/releases"
4444
$_headers = @{
4545
Authorization = "token $($PSBoundParameters['ApiKey'])"
4646
}
@@ -63,10 +63,17 @@ function New-GitHubRepositoryRelease {
6363
}
6464
"Body:" | Write-Verbose
6565
$_body | Out-String -Stream | % { $_.Trim() } | ? { $_ } | Write-Verbose
66+
$_iwrArgs = @{
67+
Uri = $_uri
68+
Method = 'Post'
69+
Headers = $_headers
70+
Body = $_bodyJson
71+
UseBasicParsing = $true
72+
}
6673
}process{
6774
try {
6875
"Invoking Web Request" | Write-Verbose
69-
$_response = Invoke-WebRequest -Uri $_uri -Method Post -Headers $_headers -Body $_bodyJson -UseBasicParsing
76+
$_response = Invoke-WebRequest @_iwrArgs
7077
}catch {
7178
throw
7279
}
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
function New-GitHubRepositoryReleaseAsset {
2+
param(
3+
[Parameter(Mandatory=$true)]
4+
[ValidateNotNullOrEmpty()]
5+
[string]$UploadUrl
6+
,
7+
[Parameter(Mandatory=$true)]
8+
[ValidateNotNullOrEmpty()]
9+
[ValidateScript({Test-Path -Path $_ -PathType Leaf})]
10+
[string]$Asset
11+
,
12+
[Parameter(Mandatory=$true)]
13+
[ValidateNotNullOrEmpty()]
14+
[string]$ApiKey
15+
)
16+
17+
begin {
18+
$_matchInfo = $PSBoundParameters['UploadUrl'].Trim() | Select-String -Pattern '(.+\/assets)($|{\?name,label})'
19+
$_uploadUrlProcessed = if ($_matchInfo) { $_matchInfo.Matches.Groups[1].Value } else { $PSBoundParameters['UploadUrl'] }
20+
$_assetItem = Get-Item -Path $PSBoundParameters['Asset'] -ErrorAction Stop
21+
22+
$_uri = "$($_uploadUrlProcessed)?name=$($_assetItem.Name)"
23+
$_headers = @{
24+
Authorization = "token $($PSBoundParameters['ApiKey'])"
25+
"Content-Type" = "application/octet-stream"
26+
}
27+
"Uri: '$_uri'" | Write-Verbose
28+
"Headers:" | Write-Verbose
29+
if ($VerbosePreference -ne 'SilentlyContinue') {
30+
$_headersMasked = $_headers.Clone()
31+
$_headersMasked['Authorization'] = "token *******"
32+
$_headersMasked | Out-String -Stream | % { $_.Trim() } | ? { $_ } | Write-Verbose
33+
}
34+
"InFile: '$($_assetItem.FullName)'" | Write-Verbose
35+
$_iwrArgs = @{
36+
Uri = $_uri
37+
Method = 'Post'
38+
Headers = $_headers
39+
InFile = $_assetItem.FullName
40+
UseBasicParsing = $true
41+
}
42+
}process{
43+
try {
44+
"Invoking Web Request" | Write-Verbose
45+
$_response = Invoke-WebRequest @_iwrArgs
46+
}catch {
47+
throw
48+
}
49+
$_response
50+
}
51+
}

0 commit comments

Comments
 (0)