Skip to content

Commit 356af2f

Browse files
Complete support for Releases API (#177)
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
1 parent 402529a commit 356af2f

22 files changed

+2887
-145
lines changed
Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<Configuration>
3+
<ViewDefinitions>
4+
<!--================== GitHub.Release Type View =================-->
5+
<View>
6+
<Name>GitHub.Release</Name>
7+
<ViewSelectedBy>
8+
<TypeName>GitHub.Release</TypeName>
9+
</ViewSelectedBy>
10+
<TableControl>
11+
<TableHeaders>
12+
<TableColumnHeader>
13+
<Label>ID</Label>
14+
</TableColumnHeader>
15+
<TableColumnHeader>
16+
<Label>Name</Label>
17+
</TableColumnHeader>
18+
<TableColumnHeader>
19+
<Label>Tag</Label>
20+
</TableColumnHeader>
21+
<TableColumnHeader>
22+
<Label>Committish</Label>
23+
</TableColumnHeader>
24+
<TableColumnHeader>
25+
<Label>Draft</Label>
26+
</TableColumnHeader>
27+
<TableColumnHeader>
28+
<Label>PreRelease</Label>
29+
</TableColumnHeader>
30+
<TableColumnHeader>
31+
<Label>Created</Label>
32+
</TableColumnHeader>
33+
<TableColumnHeader>
34+
<Label>Published</Label>
35+
</TableColumnHeader>
36+
</TableHeaders>
37+
<TableRowEntries>
38+
<TableRowEntry>
39+
<TableColumnItems>
40+
<TableColumnItem>
41+
<PropertyName>id</PropertyName>
42+
</TableColumnItem>
43+
<TableColumnItem>
44+
<PropertyName>name</PropertyName>
45+
</TableColumnItem>
46+
<TableColumnItem>
47+
<PropertyName>tag_name</PropertyName>
48+
</TableColumnItem>
49+
<TableColumnItem>
50+
<PropertyName>target_commitish</PropertyName>
51+
</TableColumnItem>
52+
<TableColumnItem>
53+
<PropertyName>draft</PropertyName>
54+
</TableColumnItem>
55+
<TableColumnItem>
56+
<PropertyName>prerelease</PropertyName>
57+
</TableColumnItem>
58+
<TableColumnItem>
59+
<PropertyName>created_at</PropertyName>
60+
</TableColumnItem>
61+
<TableColumnItem>
62+
<PropertyName>published_at</PropertyName>
63+
</TableColumnItem>
64+
</TableColumnItems>
65+
</TableRowEntry>
66+
</TableRowEntries>
67+
</TableControl>
68+
</View>
69+
<!--=============== GitHub.ReleaseAsset Type View ===============-->
70+
<View>
71+
<Name>GitHub.ReleaseAsset</Name>
72+
<ViewSelectedBy>
73+
<TypeName>GitHub.ReleaseAsset</TypeName>
74+
</ViewSelectedBy>
75+
<TableControl>
76+
<TableHeaders>
77+
<TableColumnHeader>
78+
<Label>ID</Label>
79+
</TableColumnHeader>
80+
<TableColumnHeader>
81+
<Label>Name</Label>
82+
</TableColumnHeader>
83+
<TableColumnHeader>
84+
<Label>Label</Label>
85+
</TableColumnHeader>
86+
<TableColumnHeader>
87+
<Label>Size</Label>
88+
</TableColumnHeader>
89+
<TableColumnHeader>
90+
<Label>Content Type</Label>
91+
</TableColumnHeader>
92+
<TableColumnHeader>
93+
<Label>Downloads</Label>
94+
</TableColumnHeader>
95+
<TableColumnHeader>
96+
<Label>Created</Label>
97+
</TableColumnHeader>
98+
<TableColumnHeader>
99+
<Label>Updated</Label>
100+
</TableColumnHeader>
101+
</TableHeaders>
102+
<TableRowEntries>
103+
<TableRowEntry>
104+
<TableColumnItems>
105+
<TableColumnItem>
106+
<PropertyName>id</PropertyName>
107+
</TableColumnItem>
108+
<TableColumnItem>
109+
<PropertyName>name</PropertyName>
110+
</TableColumnItem>
111+
<TableColumnItem>
112+
<PropertyName>label</PropertyName>
113+
</TableColumnItem>
114+
<TableColumnItem>
115+
<PropertyName>size</PropertyName>
116+
</TableColumnItem>
117+
<TableColumnItem>
118+
<PropertyName>content_type</PropertyName>
119+
</TableColumnItem>
120+
<TableColumnItem>
121+
<PropertyName>download_count</PropertyName>
122+
</TableColumnItem>
123+
<TableColumnItem>
124+
<PropertyName>created_at</PropertyName>
125+
</TableColumnItem>
126+
<TableColumnItem>
127+
<PropertyName>updated_at</PropertyName>
128+
</TableColumnItem>
129+
</TableColumnItems>
130+
</TableRowEntry>
131+
</TableRowEntries>
132+
</TableControl>
133+
</View>
134+
</ViewDefinitions>
135+
</Configuration>

GitHubAssignees.ps1

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ filter Get-GitHubAssignee
4646
GitHub.ProjectColumn
4747
GitHub.Reaction
4848
GitHub.Release
49+
GitHub.ReleaseAsset
4950
GitHub.Repository
5051
GitHub.User
5152
@@ -159,6 +160,7 @@ filter Test-GitHubAssignee
159160
GitHub.ProjectColumn
160161
GitHub.Reaction
161162
GitHub.Release
163+
GitHub.ReleaseAsset
162164
GitHub.Repository
163165
GitHub.User
164166
@@ -303,6 +305,7 @@ function Add-GitHubAssignee
303305
GitHub.ProjectColumn
304306
GitHub.Reaction
305307
GitHub.Release
308+
GitHub.ReleaseAsset
306309
GitHub.Repository
307310
GitHub.User
308311
@@ -481,6 +484,7 @@ function Remove-GitHubAssignee
481484
GitHub.ProjectColumn
482485
GitHub.Reaction
483486
GitHub.Release
487+
GitHub.ReleaseAsset
484488
GitHub.Repository
485489
486490
.OUTPUTS

GitHubBranches.ps1

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ filter Get-GitHubRepositoryBranch
5858
GitHub.ProjectColumn
5959
GitHub.Reaction
6060
GitHub.Release
61+
GitHub.ReleaseAsset
6162
GitHub.Repository
6263
6364
.OUTPUTS

GitHubContents.ps1

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@
7373
GitHub.ProjectColumn
7474
GitHub.Reaction
7575
GitHub.Release
76+
GitHub.ReleaseAsset
7677
GitHub.Repository
7778
7879
.OUTPUTS

0 commit comments

Comments
 (0)