-
Notifications
You must be signed in to change notification settings - Fork 0
/
CreateJiraTask(last).ps1
84 lines (71 loc) · 2.5 KB
/
CreateJiraTask(last).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
#=========================================================================
# FILE: CreateJiraTask(rev.1.2.0).ps1
#
# USAGE: run from whatever you want. Don't forget to type params
#
# DESCRIPTION: the script creates new jira task
#
# NOTES:
# AUTHOR: E.S.Vasilyev - bq@bissquit.com; e.s.vasilyev@mail.ru
# VERSION: 1.2.0
# CREATED: 15.01.2019
#=========================================================================
# https://psjira.readthedocs.io/en/latest/getting_started.html
#
# On new host (powershell v5.0) run:
# >Install-Module PSJira
#
# On new host (powershell before v5.0) run:
# >Install-Module -Name PowerShellGet -Force
# ...and then:
# >Install-Module PSJira
#
# Read more at https://psjira.readthedocs.io/en/latest/
param (
[string]$Username = "jirabot",
[string]$Userpass = "password",
[string]$Server = "https://jira.domain.tld",
[string]$Project = "IM",
[string]$IssueType = "Task",
[string]$Summary = "Test issue from PowerShell $(Get-Random)",
[string]$Description = "This is a sample issue created by $env:USERNAME on $env:COMPUTERNAME. Tratata",
[string]$originalEstimate = "1h",
[string]$Assignee = "jirabot@domain.tld"
)
Set-JiraConfigServer -Server $Server
# https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.security/get-credential?view=powershell-6
$Password = ConvertTo-SecureString -String $Userpass `
-AsPlainText `
-Force
$Cred = New-Object -TypeName System.Management.Automation.PSCredential `
-ArgumentList $Username, $Password
New-JiraSession -Credential $Cred
# define task parameters to create a task
$NewIssueParameters = @{
Project = $Project
IssueType = $IssueType
Summary = $Summary
Description = $Description
Fields = @{
"Time Tracking" = @{
originalEstimate = $originalEstimate
remainingEstimate = ""
originalEstimateSeconds = ""
remainingEstimateSeconds = ""
}
"Priority" = @{
self = "$Server/rest/api/2/priority/2"
iconUrl = "$Server/images/icons/priorities/high.svg"
name = "High"
id = "2"
}
}
}
$OutputNewJiraIssue = New-JiraIssue @NewIssueParameters
# define task parameters to update a task
$EditNewIssueParameters = @{
Assignee = $Assignee
}
Set-JiraIssue $OutputNewJiraIssue.ID @EditNewIssueParameters
# close session
Get-JiraSession | Remove-JiraSession