-
Notifications
You must be signed in to change notification settings - Fork 0
/
Edit-Card.ps1
48 lines (37 loc) · 1.39 KB
/
Edit-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
function Edit-Card {
[CmdletBinding(DefaultParameterSetName='Description')]
param(
[Parameter(ParameterSetName = 'Description')]
[string]$Description,
[Parameter(ParameterSetName = 'Name')]
[string]
$Name
)
$boardId = Get-BoardId -Message "Pick the board containing the card you want to edit"
$cardId = Get-CardId -boardId $boardId -actionMessage 'Which card do you want to edit?'
# TODO: Honestly, should probably pull back the description text and make it editable in the command line INSTEAD OF how it currently works which is by over-writing it...
# FIXME: At the very least get a list of cards so you can see the text before editing it...
# NOTE: This would be MUCH BETTER for real use where the description is the main part of 'you should do this'...
if ($PSBoundParameters.ContainsKey('Description')) {
Write-Host 'DESCRIPTION SET'
$bodyJson=@"
{
"position": 0,
"description": {
"text": "$description"
}
}
"@
}
if ($PSBoundParameters.ContainsKey('Name')) {
Write-Host 'NAME SET'
$bodyJson=@"
{
"name": "$name"
}
"@
}
$newToken = ConvertTo-SecureString -String $token -AsPlainText -Force
$link = "https://$url/boards/"+ $boardId + "/cards/" + $cardId
Invoke-RestMethod -Method Post -Body $bodyJson -Uri $link -ContentType 'application/json' -Token $newToken -Authentication Bearer
}