Skip to content

Commit

Permalink
Complete support for Releases API (#177)
Browse files Browse the repository at this point in the history
This completes the required work to support the set of Releases API's.

It adds the following functions:

* `New-GitHubRelease`
* `Set-GitHubRelease`
* `Remove-GitHubRelease`
* `Get-GitHubReleaseAsset`
* `New-GitHubReleaseAsset`
* `Set-GitHubReleaseAsset`
* `Remove-GitHubReleaseAsset`

`Invoke-GHRestMethod` has been updated to be able to upload a file (via the new `InFile` parameter) and download a file (via the `Save` switch which will cause it to return back a `FileInfo` object of a temporary file which can then be renamed as seen fit by the caller).

This also adds formatters for `GitHub.Release` and `GitHub.ReleaseAsset`.

Positional Binding has been set as `false` for the three functions, and `Position` attributes added to the function's mandatory parameters.

Reference: [GitHub Releases](https://developer.github.com/v3/repos/releases/)


Fixes #47 
Fixes #110
  • Loading branch information
HowardWolosky committed Jul 20, 2020
1 parent 402529a commit 356af2f
Show file tree
Hide file tree
Showing 22 changed files with 2,887 additions and 145 deletions.
135 changes: 135 additions & 0 deletions Formatters/GitHubReleases.Format.ps1xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
<?xml version="1.0" encoding="utf-8" ?>
<Configuration>
<ViewDefinitions>
<!--================== GitHub.Release Type View =================-->
<View>
<Name>GitHub.Release</Name>
<ViewSelectedBy>
<TypeName>GitHub.Release</TypeName>
</ViewSelectedBy>
<TableControl>
<TableHeaders>
<TableColumnHeader>
<Label>ID</Label>
</TableColumnHeader>
<TableColumnHeader>
<Label>Name</Label>
</TableColumnHeader>
<TableColumnHeader>
<Label>Tag</Label>
</TableColumnHeader>
<TableColumnHeader>
<Label>Committish</Label>
</TableColumnHeader>
<TableColumnHeader>
<Label>Draft</Label>
</TableColumnHeader>
<TableColumnHeader>
<Label>PreRelease</Label>
</TableColumnHeader>
<TableColumnHeader>
<Label>Created</Label>
</TableColumnHeader>
<TableColumnHeader>
<Label>Published</Label>
</TableColumnHeader>
</TableHeaders>
<TableRowEntries>
<TableRowEntry>
<TableColumnItems>
<TableColumnItem>
<PropertyName>id</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>name</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>tag_name</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>target_commitish</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>draft</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>prerelease</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>created_at</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>published_at</PropertyName>
</TableColumnItem>
</TableColumnItems>
</TableRowEntry>
</TableRowEntries>
</TableControl>
</View>
<!--=============== GitHub.ReleaseAsset Type View ===============-->
<View>
<Name>GitHub.ReleaseAsset</Name>
<ViewSelectedBy>
<TypeName>GitHub.ReleaseAsset</TypeName>
</ViewSelectedBy>
<TableControl>
<TableHeaders>
<TableColumnHeader>
<Label>ID</Label>
</TableColumnHeader>
<TableColumnHeader>
<Label>Name</Label>
</TableColumnHeader>
<TableColumnHeader>
<Label>Label</Label>
</TableColumnHeader>
<TableColumnHeader>
<Label>Size</Label>
</TableColumnHeader>
<TableColumnHeader>
<Label>Content Type</Label>
</TableColumnHeader>
<TableColumnHeader>
<Label>Downloads</Label>
</TableColumnHeader>
<TableColumnHeader>
<Label>Created</Label>
</TableColumnHeader>
<TableColumnHeader>
<Label>Updated</Label>
</TableColumnHeader>
</TableHeaders>
<TableRowEntries>
<TableRowEntry>
<TableColumnItems>
<TableColumnItem>
<PropertyName>id</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>name</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>label</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>size</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>content_type</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>download_count</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>created_at</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>updated_at</PropertyName>
</TableColumnItem>
</TableColumnItems>
</TableRowEntry>
</TableRowEntries>
</TableControl>
</View>
</ViewDefinitions>
</Configuration>
4 changes: 4 additions & 0 deletions GitHubAssignees.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ filter Get-GitHubAssignee
GitHub.ProjectColumn
GitHub.Reaction
GitHub.Release
GitHub.ReleaseAsset
GitHub.Repository
GitHub.User
Expand Down Expand Up @@ -159,6 +160,7 @@ filter Test-GitHubAssignee
GitHub.ProjectColumn
GitHub.Reaction
GitHub.Release
GitHub.ReleaseAsset
GitHub.Repository
GitHub.User
Expand Down Expand Up @@ -303,6 +305,7 @@ function Add-GitHubAssignee
GitHub.ProjectColumn
GitHub.Reaction
GitHub.Release
GitHub.ReleaseAsset
GitHub.Repository
GitHub.User
Expand Down Expand Up @@ -481,6 +484,7 @@ function Remove-GitHubAssignee
GitHub.ProjectColumn
GitHub.Reaction
GitHub.Release
GitHub.ReleaseAsset
GitHub.Repository
.OUTPUTS
Expand Down
1 change: 1 addition & 0 deletions GitHubBranches.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ filter Get-GitHubRepositoryBranch
GitHub.ProjectColumn
GitHub.Reaction
GitHub.Release
GitHub.ReleaseAsset
GitHub.Repository
.OUTPUTS
Expand Down
1 change: 1 addition & 0 deletions GitHubContents.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@
GitHub.ProjectColumn
GitHub.Reaction
GitHub.Release
GitHub.ReleaseAsset
GitHub.Repository
.OUTPUTS
Expand Down
Loading

0 comments on commit 356af2f

Please sign in to comment.