53 lines
2.2 KiB
PowerShell
53 lines
2.2 KiB
PowerShell
function ConvertTo-JiraTeam {
|
|
<#
|
|
.SYNOPSIS
|
|
Convert the provided objects to Jira Team representation objects
|
|
|
|
.OUTPUTS
|
|
Returns a [object[]] of Jira Teams.
|
|
#>
|
|
[CmdletBinding()]
|
|
[OutputType([string[]])]
|
|
param (
|
|
[Parameter(Mandatory = $true, ValueFromPipeline = $true, Position = 0)]
|
|
$Team
|
|
)
|
|
begin {
|
|
$logLead = (Get-LogLeadName)
|
|
|
|
# Define the defaults for the JiraTeam response to add some custom display information
|
|
$defaultTypeName = 'JiraTeam'
|
|
$defaultKeys = @('Name')
|
|
$defaultDisplaySet = @('Name', 'Department', 'Lead', 'Manager', 'ScrumMaster', 'Members')
|
|
$defaultDisplayPropertySet = New-Object System.Management.Automation.PSPropertySet('DefaultDisplayPropertySet',[string[]]$defaultDisplaySet)
|
|
$defaultKeyPropertySet = New-Object System.Management.Automation.PSPropertySet('DefaultKeyPropertySet',[string[]]$defaultKeys)
|
|
$PSStandardMembers = [System.Management.Automation.PSMemberInfo[]]@($defaultDisplayPropertySet,$defaultKeyPropertySet)
|
|
}
|
|
process {
|
|
try {
|
|
$teamObject = New-Object PSCustomObject -Property @{
|
|
Name = $team.Name
|
|
Summary = $team.Summary
|
|
Department = $team.Department
|
|
Mission = $team.Mission
|
|
Lead = $team.Lead
|
|
Members = $team.Members | ConvertTo-JiraTeamMember
|
|
Manager = $team.Manager | ConvertTo-JiraTeamMember
|
|
ScrumMaster = $team.ScrumMaster | ConvertTo-JiraTeamMember
|
|
ProductOwner = $team.ProductOwner | ConvertTo-JiraTeamMember
|
|
ProjectManager = $team.ProjectManager | ConvertTo-JiraTeamMember
|
|
Links = $team.Links
|
|
}
|
|
|
|
#Give this object a unique typename
|
|
$teamObject.PSObject.TypeNames.Insert(0,$defaultTypeName)
|
|
$teamObject | Add-Member -MemberType MemberSet -Name PSStandardMembers -Value $PSStandardMembers
|
|
|
|
return $teamObject
|
|
} catch {
|
|
Write-Warning "$logLead : Could not convert item to JiraTeam object. Check error below. Returning `$null"
|
|
Write-ErrorObject -ErrorItem $PSItem
|
|
return $null
|
|
}
|
|
}
|
|
} |