From b26a9809729f17199952d37606fe34aff24055e5 Mon Sep 17 00:00:00 2001 From: mdejulia Date: Fri, 21 Dec 2018 14:17:39 -0800 Subject: [PATCH 1/2] Get-User --- ConfluencePS/Public/Get-User.ps1 | 68 ++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 ConfluencePS/Public/Get-User.ps1 diff --git a/ConfluencePS/Public/Get-User.ps1 b/ConfluencePS/Public/Get-User.ps1 new file mode 100644 index 0000000..c7e6f26 --- /dev/null +++ b/ConfluencePS/Public/Get-User.ps1 @@ -0,0 +1,68 @@ +function Get-User +{ + [CmdletBinding( + SupportsPaging = $true + )] + [OutputType([ConfluencePS.User])] + param ( + [Parameter( Mandatory = $true )] + [URi]$ApiURi, + + [Parameter( Mandatory = $true )] + [PSCredential]$Credential, + + [Parameter( Mandatory = $true, + ParameterSetName = 'ByUserName' + )] + [string]$Username, + + [Parameter( Mandatory = $true, + ParameterSetName = 'ByKey' + )] + [string]$UserKey + ) + + BEGIN + { + Write-Verbose "[$($MyInvocation.MyCommand.Name)] Function started" + + $resourceApi = "$apiURi/user{0}" + } + + PROCESS + { + Write-Debug "[$($MyInvocation.MyCommand.Name)] ParameterSetName: $($PsCmdlet.ParameterSetName)" + Write-Debug "[$($MyInvocation.MyCommand.Name)] PSBoundParameters: $($PSBoundParameters | Out-String)" + + $iwParameters = @{ + Uri = "" + Method = 'Get' + OutputType = [ConfluencePS.User] + Credential = $Credential + } + + # Paging + ($PSCmdlet.PagingParameters | Get-Member -MemberType Property).Name | ForEach-Object { + $iwParameters[$_] = $PSCmdlet.PagingParameters.$_ + } + switch ($PsCmdlet.ParameterSetName) + { + 'ByUsername' + { + $iwParameters["Uri"] = $resourceApi -f "?username=$Username" + break + } + 'ByKey' + { + $iwParameters["Uri"] = $resourceApi -f "?key=$UserKey" + break + } + } + Invoke-Method @iwParameters + } + + END + { + Write-Verbose "[$($MyInvocation.MyCommand.Name)] Function ended" + } +} From bccd11e82ae2f1ad9171bbf0e42bde27d364a5aa Mon Sep 17 00:00:00 2001 From: mdejulia Date: Wed, 26 Dec 2018 09:44:48 -0800 Subject: [PATCH 2/2] Documentation --- ConfluencePS/Public/Get-User.ps1 | 11 +-- docs/en-US/commands/Get-User.md | 132 +++++++++++++++++++++++++++++++ 2 files changed, 138 insertions(+), 5 deletions(-) create mode 100644 docs/en-US/commands/Get-User.md diff --git a/ConfluencePS/Public/Get-User.ps1 b/ConfluencePS/Public/Get-User.ps1 index c7e6f26..daf856d 100644 --- a/ConfluencePS/Public/Get-User.ps1 +++ b/ConfluencePS/Public/Get-User.ps1 @@ -1,7 +1,8 @@ function Get-User { [CmdletBinding( - SupportsPaging = $true + SupportsPaging = $true, + DefaultParameterSetName = 'ByUsername' )] [OutputType([ConfluencePS.User])] param ( @@ -12,12 +13,12 @@ function Get-User [PSCredential]$Credential, [Parameter( Mandatory = $true, - ParameterSetName = 'ByUserName' + ParameterSetName = 'byUsername' )] [string]$Username, [Parameter( Mandatory = $true, - ParameterSetName = 'ByKey' + ParameterSetName = 'byUserKey' )] [string]$UserKey ) @@ -47,12 +48,12 @@ function Get-User } switch ($PsCmdlet.ParameterSetName) { - 'ByUsername' + 'byUsername' { $iwParameters["Uri"] = $resourceApi -f "?username=$Username" break } - 'ByKey' + 'byUserKey' { $iwParameters["Uri"] = $resourceApi -f "?key=$UserKey" break diff --git a/docs/en-US/commands/Get-User.md b/docs/en-US/commands/Get-User.md new file mode 100644 index 0000000..df32e39 --- /dev/null +++ b/docs/en-US/commands/Get-User.md @@ -0,0 +1,132 @@ +--- +external help file: ConfluencePS-help.xml +online version: https://atlassianps.org/docs/ConfluencePS/commands/Get-User/ +Module Name: ConfluencePS +locale: en-US +schema: 2.0.0 +layout: documentation +permalink: /docs/ConfluencePS/commands/Get-User/ +--- +# Get-User + +## SYNOPSIS + +Retrieve a listing of Users in your Confluence instance. + +## SYNTAX + +### byUsername (Default) + +```powershell +Get-ConfluenceUser -ApiURi -Credential -Username [-IncludeTotalCount] [-Skip ] [-First ] [] +``` + +### byUserKey + +```powershell +Get-ConfluenceUser -ApiURi -Credential -UserKey [-IncludeTotalCount] [-Skip ] [-First ] [] +``` + +## DESCRIPTION + +Return Confluence Users, filtered by Username, or Key. + +## EXAMPLES + +### -------------------------- EXAMPLE 1 -------------------------- + +```powershell +Get-ConfluenceUser -Username 'myUser' +``` + +Returns a user by name. + +### -------------------------- EXAMPLE 2 -------------------------- + +```powershell +Get-ConfluenceUser -UserKey 123456 +``` + +Returns the user with ID 123456. + +## PARAMETERS + +### -ApiURi + +The URi of the API interface. +Value can be set persistently with Set-ConfluenceInfo. + +```yaml +Type: Uri +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Credential + +Confluence's credentials for authentication. +Value can be set persistently with Set-ConfluenceInfo. + +```yaml +Type: PSCredential +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -UserKey + +Filter results by User key. + +```yaml +Type: string +Parameter Sets: byUserKey +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Username + +Filter results by Username (case-insensitive). + +```yaml +Type: String +Parameter Sets: byUsername +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +## INPUTS + +None + +## OUTPUTS + +### ConfluencePS.User + +## NOTES + +## RELATED LINKS + +[https://github.com/AtlassianPS/ConfluencePS](https://github.com/AtlassianPS/ConfluencePS)