-
-
Notifications
You must be signed in to change notification settings - Fork 130
/
ConvertTo-JiraProject.ps1
45 lines (40 loc) · 1.39 KB
/
ConvertTo-JiraProject.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
function ConvertTo-JiraProject {
[CmdletBinding()]
param(
[Parameter( ValueFromPipeline )]
[PSObject[]]
$InputObject
)
process {
foreach ($i in $InputObject) {
Write-Debug "[$($MyInvocation.MyCommand.Name)] Converting `$InputObject to custom object"
$props = @{
'ID' = $i.id
'Key' = $i.key
'Name' = $i.name
'Description' = $i.description
'Lead' = ConvertTo-JiraUser $i.lead
'IssueTypes' = ConvertTo-JiraIssueType $i.issueTypes
'Roles' = $i.roles
'RestUrl' = $i.self
'Components' = $i.components
'Style' = $i.style
}
if ($i.projectCategory) {
$props.Category = $i.projectCategory
}
elseif ($i.Category) {
$props.Category = $i.Category
}
else {
$props.Category = $null
}
$result = New-Object -TypeName PSObject -Property $props
$result.PSObject.TypeNames.Insert(0, 'JiraPS.Project')
$result | Add-Member -MemberType ScriptMethod -Name "ToString" -Force -Value {
Write-Output "$($this.Name)"
}
Write-Output $result
}
}
}