Functions/New-Card/New-Card.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
function New-Card {
    <#
      .Synopsis
       Adds a new Trello Card.
      .Description
       Adds a new Trello Card.
    #>

    [cmdletbinding()]
    param (
        [parameter(
            Mandatory=$true,
            Position=0
        )]
        $Token,
        [parameter(
            Mandatory=$true,
            Position=1
        )]
        $Id,
        [parameter(
            Mandatory=$true,
            Position=2
        )]
        $Name,
        [parameter(
            Mandatory=$true,
            Position=3
        )]
        $Description,
        [parameter(
            Mandatory=$false,
            Position=4
        )]
        [string[]]$Label,
        [parameter(
            Mandatory=$false,
            Position=5
        )]
        [ValidateSet("top","bottom")]
        $Position = "bottom"
    )
    begin
    {
    }
    process
    {
        [hashtable]$Hash = @{
            "name" = $Name
            "desc" = $Description
            "idList" = $id
            "due" = $null
            "urlSource" = $null
            "idLabels" = $($Label -join ",")
        }
        try {
            Invoke-RestMethod -Method "Post" -Uri "https://api.trello.com/1/cards/?token=$($Token.Token)&key=$($Token.AccessKey)" -Body $Hash
        }
        catch
        {
            Write-Error $_
        }
    }
    end
    {
    }
}

Export-ModuleMember New-Card