Functions/New-Board/New-Board.ps1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 |
function New-Board { <# .Synopsis Adds a new Trello Board. .Description Adds a new Trello Board. #> [cmdletbinding()] param( [parameter( Mandatory=$true, Position=0 )] $Token, [parameter( Mandatory=$true, Position=1 )] [string]$Description, [parameter( Mandatory=$true, Position=2 )] [string]$Name, [parameter( Mandatory=$false, Position=3 )] [ValidateSet("calendar","cardAging","recap","voting")] [string[]]$PowerUps = "All", [parameter( Mandatory=$false, Position=4 )] [ValidateSet("org","private","public")] [string]$PermissionLevel, [parameter( Mandatory=$false, Position=5 )] [ValidateSet("disabled","members","observers","org","public")] [string]$Voting, [parameter( Mandatory=$false, Position=6 )] [ValidateSet("disabled","members","observers","org","public")] [string]$Comments, [parameter( Mandatory=$false, Position=7 )] [ValidateSet("admins","members")] [string]$Invitations, [parameter( Mandatory=$false, Position=8 )] [ValidateSet("true","false")] [string]$SelfJoin ) begin { } process { try { $Hash = @{ "name" = $Name "desc" = $Description } switch ($PSBoundParameters.Keys) { {$_ -contains "PermissionLevel"} { $Hash.Add("prefs_permissionLevel",$PermissionLevel) } {$_ -contains "Voting"} { $Hash.Add("prefs_voting",$Voting) } {$_ -contains "PowerUps"} { $PowerUps = $PowerUps -join "," } {$_ -contains "Comments"} { $Hash.Add("prefs_comments",$Comments) } {$_ -contains "Invitations"} { $Hash.Add("prefs_invitations",$Invitations) } {$_ -contains "SelfJoin"} { $Hash.Add("prefs_selfJoin",$SelfJoin) } } $Hash.Add("powerUps",$PowerUps) Invoke-RestMethod -Method "Post" -Uri "https://api.trello.com/1/boards?token=$($Token.Token)&key=$($Token.AccessKey)" -Body $Hash } catch { Write-Error $_ } } end { } } Export-ModuleMember New-Board |