Public/Update-AppVeyorUser.ps1
Function Update-AppVeyorUser { [CmdletBinding()] [OutputType( [Void] )] Param ( [Parameter( Mandatory = $true, ValueFromPipelineByPropertyName = $true )] [Int] $UserId, [Parameter( ValueFromPipelineByPropertyName = $true )] [ValidateNotNull()] [String] $FullName = $null, [Parameter( ValueFromPipelineByPropertyName = $true )] [ValidateNotNull()] [String] $Email = $null, [Parameter( ValueFromPipelineByPropertyName = $true )] [ValidateNotNull()] [Int] $RoleId = $null, [Parameter( ValueFromPipelineByPropertyName = $true )] [ValidateNotNull()] [String] $SuccessfulBuildNotification = $null, [Parameter( ValueFromPipelineByPropertyName = $true )] [ValidateNotNull()] [String] $FailedBuildNotification = $null, [Parameter( ValueFromPipelineByPropertyName = $true )] [Bool] $NotifyWhenBuildStatusChangedOnly ) Process { try { $currentUser = Get-AppVeyorUser -UserId $UserId } catch { $_ return } $body = @{ userId = $UserId fullName = $currentUser.FullName email = $currentUser.Email password = $null roleId = $currentUser.RoleId successfulBuildNotification = $currentUser.SuccessfulBuildNotification failedBuildNotification = $currentUser.FailedBuildNotification notifyWhenBuildStatusChangedOnly = $currentUser.NotifyWhenBuildStatusChangedOnly } foreach ($parameter in $PSBoundParameters) { if ($null -ne $parameter) { $body.$($parameter.Keys) = $parameter.Values } } Invoke-AppVeyorApi -Method 'POST' -RestMethod 'users' -Body (ConvertTo-Json -InputObject $body) } } |