Skip to content

Commit 1801fe3

Browse files
Merge pull request #129 from StartAutomating/ADOPermissions
Updating Get/Set-ADOPermission:
2 parents aff6a4f + 1aad9e0 commit 1801fe3

13 files changed

+767
-160
lines changed

CHANGELOG.md

+334
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,334 @@
1+
0.5.6:
2+
---
3+
### Azure DevOps Improvements
4+
* Get-ADOPermission : Can now get permissions related to Dashboards, Analytics, AreaPaths, and IterationPaths
5+
* Set-ADOPermission : Now can easily set permissions based off of a variety of pipeline inputs (Fixes #128 and #91)
6+
* Get-ADOAreaPath : Removing "Area" from paths passed in, formatting returns with 'AreaPath' instead of 'Path'
7+
* Get-ADOIterationPath : Removing "Iteration" from paths passed in, formatting returns with 'IterationPath' instead of 'Path'
8+
* Get-ADOBuild : Extended Type Definitions now contain an alias property of BuildPath
9+
### GitHub Workflow Improvements
10+
* Adding "On" files for issue creation, deletion, or modification (Fixes #132)
11+
* Adding "On" files for common scheduling needs (Fixes #134)
12+
* ReleaseNameFormat can not be customized in ReleaseModule step (Fixes #130)
13+
14+
0.5.5.1:
15+
---
16+
* Allowing for [Reflection.AssemblyMetaData] attributes on step .ps1 files (to customize YAML). Issue #123
17+
* Better support for Object and array parameters in Azure DevOps. Issue #125.
18+
19+
0.5.5:
20+
---
21+
* Azure DevOps: Adding support for Shared Queries (Fixes #117)
22+
** Get-ADOWorkItem -SharedQuery can get shared queries
23+
** New-ADOWorkItem -WIQL will create shared queries. -FolderName will create folders.
24+
** Remove-ADOWorkItem -QueryID can remove a shared query by ID
25+
* GitHub Workflows:
26+
** Adding Job/Step definitions to Release Module
27+
** Adding -NoCoverage to RunPester Step
28+
** Creating Example workflow that publishes PSDevOps.
29+
30+
0.5.4.2:
31+
---
32+
* Adding Register-ADOArtifactFeed (Fixes #118)
33+
34+
0.5.4.1:
35+
---
36+
* Fixing Invoke-ADORestApi issues: #111,#114,#115
37+
* Attaching .BuildID and .DefinitionID properties to Get-ADOBuild where appropriate.
38+
39+
0.5.4:
40+
---
41+
* Formatting Improvments:
42+
** Get-ADOField now includes .Type
43+
** Get-ADOExtension now includes .Version
44+
* Set-ADOTeam -DefaultAreaPath/-AreaPath parameter set issue fixed (fixes #103 / #92)
45+
** Added tests for Set-ADOTeam
46+
* GitHub Workflow Definition Improvements:
47+
** New Triggers:
48+
*** On PullToMain
49+
** New Jobs:
50+
*** UpdateModuleTag
51+
*** PublishToGallery
52+
** New Steps:
53+
*** PublishPowerShellGallery
54+
*** TagModuleVersion
55+
* New-GitHubWorkflow/New-ADOPipeline now support -RootDirectory
56+
* Fixing pluralization / list issue with multiple GitHub Workflow "On"
57+
0.5.3
58+
---
59+
* Get-ADORepository : Adding -PullRequestID
60+
* New/Set-ADOWorkItem: Fixing pipelining issue
61+
62+
0.5.2
63+
---
64+
* Get-ADOTeam: Adding alias -AreaPath for -TeamFieldValue, carrying on team property
65+
* Set-ADOTeam: Support for -DefaultAreaPath/-AreaPath (TeamFieldValues api, fixing issue #92)
66+
* Get-ADOTest: Enabling pagination and filtering of results.
67+
** Invoke-ADORestAPI: Fixing -Cache(ing) correctly (#88)
68+
** Invoke-GitHubRESTAPI: Only using .ContentEncoding if present in results (PowerShell core fix)
69+
* Get-ADOWorkItem:
70+
** Fixing -Related (#79)
71+
** Fixing -Comment errors when there are no commments (#80)
72+
* New/Set-ADOWorkItem:
73+
** Adding -Relationship and -Comment (#81)
74+
** Improving Formatting of Work Items (#82)
75+
** Adding -Tag
76+
* Invoke-ADORestAPI: Fixing issue with -QueryParameter
77+
0.5.1
78+
---
79+
* Bugfixes:
80+
** Get-ADOTest: Fixing parameter sets and adding formatting.
81+
** Invoke-GitHubRESTAPI: Only using .ContentEncoding when present.
82+
0.5
83+
---
84+
* Improved Git Functionality
85+
** New-GitHubAction
86+
** Invoke-GitHubRESTApi
87+
** Connect/Disconnect-GitHub (enabling smart aliases like api.github.com/zen and api.github.com/repos/<owner>/<repo>)
88+
** Formatting for GitHub Issues and Repos
89+
* Azure DevOps Additions/Fixes
90+
** Invoke-ADORestAPI -AsJob
91+
92+
** Get-ADOArtifactFeed now has -Metric, -PackageList, -PackageVersionList, -Provenance
93+
** Get-ADOIdentity [new]
94+
** Get-ADOProject now has -Board, -TestVariable, -TestConfiguration
95+
** Get-ADOPermission is now more API-complete and has parameter sets for permission types
96+
** Set-ADOPermission
97+
** Get-ADOExtension can now read extension data
98+
** Set-ADOExtension can now set extension data
99+
** Get-ADOTest [new]
100+
** New-ADOPipeline now has -RootDirectory
101+
** Tons of New Type Definitions and Formatters
102+
103+
0.4.9
104+
---
105+
* New Command: Wait-ADOBuild
106+
* Start-ADOBuild
107+
** Supports -Debug (to start a build with extra tracing)
108+
** Allows parameters as PSObject
109+
* Get-ADORepository: Added -IncludeHidden, -IncludeRemoteURL, -IncludeLink
110+
* Improvements to Pipelines and Workflows:
111+
** Pester, PSScriptAnalyzer, and ScriptCop now produce output variables
112+
** PSDevOps now includes a file to generate it's own build
113+
** PublishTest/CodeCoverage Results steps will always() run
114+
** Convert-BuildStep will add a .Name to each script step.
115+
116+
0.4.8
117+
---
118+
* Improved Tracing
119+
** New Commands: Write-ADOOutput, Trace-ADOCommand/GitHubCommand
120+
** Renaming Command / Adding Parameters: Set-ADOVariable -> Write-ADOVariable. Added -IsOutput & -IsReadOnly.
121+
** Adding Trace-GitHubCommand/ADOCommand
122+
** Improved logging of parameters in Convert-BuildStep
123+
* New Functionality in Azure DevOps:
124+
** Get-ADOProject now has -TestRun, -TestPlan, -Release, and -PendingApproval (and better progress bars)
125+
** Get-ADOWorkItemType now has -Field
126+
** Commands for Picklists: Add/Get/Remove/Update-ADOPicklist
127+
0.4.7
128+
----
129+
* New Commands:
130+
** Add/Get/Remove-ADOWiki
131+
** Get-ADOPermission
132+
* Bugfixes:
133+
** Honoring Get-ADOBuild -DefinitionName
134+
* Disconnect-ADO is now run prior at the start of Connect-ADO, and on module unload.
135+
0.4.6
136+
---
137+
* New-ADOPipeline/New-GitHubWorkflow: Adding -BuildScript
138+
* Connect-ADO: Auto-detecting connected user's teams and adding tab completion for -Project/-ProjectID/-Team/-TeamID
139+
* Convert-BuildStep: Re-ordering YAML for GitHub Workflows (putting .runs last)
140+
* Convert-ADOPipeline: Not returning .inputs when there are no .inputs
141+
* Get-ADOProject: Adding -PolicyType and -PolicyConfiguration
142+
* Get-ADORepository: Adding -PullRequest, -SourceReference, -TargetReference, -ReviewerIdentity, -CreatorIdentity.
143+
* Get-ADOBuild: Adding -DefinitionName
144+
* Invoke-ADORestAPI: Passing content length of 0 when body is empty.
145+
* Updating README
146+
0.4.5
147+
---
148+
* New Commands:
149+
** Connect/Disconnect-ADO: Caching connection info and saving default parameters!
150+
** New-ADOBuild : Create build definitions!
151+
** Remove-ADOAgentPool : Cleaning up pools, queues, and agents.
152+
* Core Improvements
153+
** Invoke-ADORestApi
154+
*** Now supports -ContinuationToken (and auto-continues unless passed a $first or $top query parameter)
155+
*** Caches access tokens.
156+
*** BREAKING: Invoke-ADORestApi No longer has -Proxy* parameters.
157+
* Updated Commands:
158+
** Get-ADOUser/Get-ADOTeam : Additional Graph scenarios added.
159+
** New/Set-ADOWorkItem : Added -BypassRule, -ValidateOnly, -SkipNotification
160+
0.4.4
161+
---
162+
* Get-ADOTask: Adding -YAMLSchema.
163+
* Get-ADOTeam: Adding -Setting/-FieldValue/-Iteration/-Board.
164+
* Get-ADOAreaPath/ADOIterationPath: Making parameter names match cmdlet. Honoring -AreaPath/-IterationPath.
165+
* Get-ADOProject: Adding -ProcessConfiguration, -Plan, -PlanID, and -DeliveryTimeline.
166+
* New Command: Set-ADOTeam
167+
0.4.3
168+
---
169+
*Renaming commands:
170+
** New-ADODashboard -> Add-ADODashboard
171+
** New-ADOTeam -> Add-ADOTeam
172+
* Add-ADOTeam can now add members to a team
173+
* Get-ADOTeam can now get an -Identity
174+
* New Command: Get-ADOUser
175+
* Get-ADOAgentPool: Fixed pipelining bug, added -AgentName/-IncludeCapability/-IncludeLastCompletedRequest/-IncludeAssignedRequest.
176+
* Set-ADOProject: Can now -EnableFeature and -DisableFeature
177+
0.4.2
178+
---
179+
* Build Step Improvements:
180+
** New-ADOPipeline now has -PowerShellCore and -WindowsPowerShell
181+
** Import-BuildStep now has parameter sets
182+
** New-ADOPipeline/New-GitHubWorkflow now refer to a metadata collection based off of their noun.
183+
** BuildStep directories can be aliased:
184+
*** ADOPipeline directories can be: ADOPipeline, ADO, AzDo, and AzureDevOps.
185+
*** GitHubWorkflow directories can be: GitHubWorkflow, GitHubWorkflows, and GitHub.
186+
* New Dashboard Commands: Clear/Update-ADODashboard
187+
* New Extension Commands: Enable/Disbale-ADOExtension
188+
* Improved formatting/types for Extensions.
189+
* Breaking change: Install/Uninstall-ADOExtension now accept -PublisherID and -ExtensionID, not -PublisherName and -ExtensionName.
190+
0.4.1
191+
---
192+
* More GitHub Functionality:
193+
** Write-GitHubDebug
194+
** Write-GitHubOutput
195+
** Hide-GitHubOutput
196+
** New-GitHubWorkflow allows for more complex event mapping.
197+
* Azure DevOps Pipeline Changes
198+
** Convert-BuildStep once again converts using ${{parameters}} syntax
199+
* New/Improved Azure DevOps Cmdlets
200+
** Get/New/Remove-ADODashboard
201+
** Get-ADOAgentPool now supports -PoolID
202+
** Set-ADOProject
203+
** Repositories returned from a build definition are now decorated as PSDevOps.Repository
204+
* Improved testing and static analysis compliance
205+
0.4
206+
---
207+
* Overhaul of GitHub Workflow functionality.
208+
** New-GitHubAction renamed to New-GitHubWorkflow
209+
** /GitHubActions renamed to /GitHub
210+
** Added -EventParameter to allow for parameters from events such as workflow_dispatch
211+
** Added Write-GitHubError/GitHubWarning (updating Write-ADOError/Write-ADOWarning for consistency)
212+
** Cleaning up GitHub Workflow parts
213+
* Get-ADOTask no longer has -ApiVersion parameter
214+
0.3.9
215+
---
216+
* New/Get/Remove-ADOWorkItemType: Create/get/remove work custom work item types, states, rules, and behaviors.
217+
* Added Get-ADOBuild -IncludeAllProperty/-IncludeLatestBuild.
218+
* ScriptCop Integration: PowerShelllStaticAnalysis stage now runs ScriptCop as well.
219+
* Improved ScriptAnalyzer Integration: Rule name is now outputted.
220+
0.3.8
221+
---
222+
* Add/Remove-ADOAreaPath
223+
* Formatter for AreaPaths
224+
225+
0.3.7
226+
---
227+
* Convert-ADOPipeline now has -Passthru and -Wherefore
228+
* Get-ADOWorkProcess now has -Behavior and -WorkItemType
229+
* Get-ADOWorkItem now has -Mine, -CurrentIteration, -Comment, -Update, -Revision.
230+
231+
0.3.6.1
232+
---
233+
* Convert-ADOPipeline now binds to .Variables property
234+
* Fixing bug in PSDevOps.WorkItem types file, which displayed in formatting.
235+
0.3.6
236+
---
237+
* Added: Get-ADOTask, Convert-ADOPipeline
238+
0.3.5
239+
---
240+
* New Command: Get-ADOTeam
241+
* Get-ADOBuild -CodeCoverage
242+
* Progress bars on Get-ADORepository
243+
* Slight refactoring to make progress bars easier in any function
244+
245+
0.3.4.1
246+
---
247+
* Removing supplied parameters in commands generated by Import-ADOProxy.
248+
0.3.4
249+
---
250+
* New capability: Import-ADOProxy (Import a proxy module with for your ADO / TFS instance)
251+
* New REST Commands: Get-ADOAreaPath, Get-ADOIterationPath, Get-ADOExtension
252+
* More Features: Get-ADORepository -FileList
253+
* Massive Internal Refactoring (switching to dynamic parameters for -PersonalAccessToken etc, standardizing pstypenames)
254+
0.3.3
255+
---
256+
* Now Caching Personal Access Tokens!
257+
* URLEncoding all segments in Parts/ReplaceRouteParameter.
258+
* Ensuring all Azure DevOps YAML Parameters are wrapped in a string.
259+
0.3.2
260+
---
261+
* Pester workarounds - Steps/InstallPester and Steps/RunPester now accept a PesterMaxVersion (defaulting to 4.99.99)
262+
* Convert-BuildStep handles blank parameter defaults correctly
263+
* Get-ADOBuild can get yaml definitions directly, e.g Get-ADOBuild -DefinitionID 123 -DefinitionYaml
264+
0.3.1
265+
---
266+
* Bugfixes and Improvements to Convert/Import/Expand-BuildStep:
267+
1. Enforcing pluralization of certain fields within Azure DevOps
268+
2. Handling [string[]], [int[]], [float[]], or [ScriptBlock] parameters
269+
* Allowing lists of primitives to not be indented in YAML.
270+
0.3.0
271+
---
272+
* Added Convert/Import/Expand-BuildStep
273+
* Allowing build steps to be defined in functions
274+
* Automagically importing build step parameters
275+
0.2.9
276+
---
277+
* Get/New/Remove-ADORepository
278+
* Get/New/Remove-ADOServiceEndpoint
279+
* Get-ADOAgentPool
280+
** Improvements to New-ADOPipeline to avoid unexpected singletons
281+
0.2.8
282+
---
283+
* Get/New/Update-ADOBuild
284+
* Improving New-ADOPipeline:
285+
** Unknown -InputObject properties will no longer be pluralized
286+
** Added 'Pool' to list of known singletons
287+
0.2.7
288+
---
289+
* New Cmdlet: Set-ADOArtifactFeed
290+
* Improvements to New/Get/Remove-ADOArtifactFeed (better pipelining, renaming -FullyQualifiedID to -FeedID)
291+
0.2.6
292+
---
293+
* New Cmdlets:
294+
** New/Get/Remove-ADOArtifactFeed
295+
** New/Remove-ADOProject
296+
** New-GitHubAction
297+
0.2.5
298+
---
299+
* Improving Get-ADOWorkItem:
300+
** -Title allows getting work items by title
301+
** -NoDetail allows for queries to only return IDs
302+
** Passing -Field will skip formatting
303+
** WorkItemsBatch will be used for query results.
304+
** Passing an old -ApiVersion will not use workItemsBatch
305+
** Formatting improved
306+
* Adding Get-ADOWorkProcess
307+
* Fixing issues with -ADOField commands when not provided a -Project
308+
0.2.4
309+
---
310+
* Adding Adding -CanSortBy, -IsQueryable, and -ReadOnly to New-ADOField.
311+
* Adding parameter help to New-ADOField
312+
0.2.3
313+
---
314+
* Adding New/Remove-ADOField
315+
* Adding help to Get-ADOField
316+
* Adding formatting for fields
317+
0.2.2
318+
---
319+
* Adding New/Set/Remove-ADOWorkItem
320+
* Adding Get-ADOField
321+
* New Parameter: Get-ADOWorkItem -WorkItemType
322+
* New Parameter: New-ADOPipeline -Option
323+
* Initial formatting
324+
* Switching Parts to use latest VMImage
325+
326+
0.2.1 :
327+
* Added Get-ADOWorkItem
328+
---
329+
0.2 :
330+
---
331+
* Added Invoke-ADORestAPI
332+
0.1 :
333+
---
334+
Initial Commit
+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Write-FormatView -TypeName PSDevOps.AreaPath -Property Organization, Path
1+
Write-FormatView -TypeName PSDevOps.AreaPath -Property Organization, AreaPath
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Write-FormatView -TypeName PSDevOps.IterationPath -Property Path, StartDate, EndDate -AutoSize
1+
Write-FormatView -TypeName PSDevOps.IterationPath -Property IterationPath, StartDate, EndDate -AutoSize

Get-ADOAreaPath.ps1

+1-1
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@
8686
"$server".TrimEnd('/') # the Server (minus any trailing slashes),
8787
(. $ReplaceRouteParameter $PSCmdlet.ParameterSetName) # and any parameterized URLs in this parameter set.
8888
if ($AreaPath) {
89-
$AreaPath
89+
$AreaPath -replace '\\','/' -replace '.+/Area' -replace '^/'
9090
}
9191
) -as [string[]] -ne '' -join '/'
9292

Get-ADOIterationPath.ps1

+1-1
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@
8484
"$server".TrimEnd('/') # the Server (minus any trailing slashes),
8585
(. $ReplaceRouteParameter $PSCmdlet.ParameterSetName) # and any parameterized URLs in this parameter set.
8686
if ($IterationPath) {
87-
$IterationPath
87+
$IterationPath -replace '\\','/' -replace '.+/Iteration' -replace '^/'
8888
}
8989
) -as [string[]] -ne '' -join '/'
9090

0 commit comments

Comments
 (0)