Public/ReleaseNotes/PrepareExportData/ConvertTo-ExportDataRelations.ps1
function ConvertTo-ExportDataRelations { <# .SYNOPSIS Converts set of ReleaseNotesDataItems to ExportData - Relations subset. .PARAMETER WorkItems List of ReleaseNotesDataItems. #> [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute( 'PSUseSingularNouns', '', Justification = '' )] [OutputType('PSTypeNames.AzureDevOpsApi.ExportDataRelationItem')] [CmdletBinding()] param( [Parameter(Mandatory, ParameterSetName = 'Parameter', Position = 1)] [hashtable] $Items ) begin { $result = [System.Collections.Generic.List[PSObject]]::new() } process { foreach ($item in $Items.Values) { foreach ($relation in $item.RelationsList) { foreach ($relatedWorkItemUrl in $relation.Relations) { $relatedWorkItem = $Items[$relatedWorkItemUrl] $result += [PSCustomObject] @{ PSTypeName = 'PSTypeNames.AzureDevOpsApi.ExportDataRelationItem' 'A.WorkItemId' = $item.WorkItemId 'A.WorkItemType' = $item.WorkItemType 'A.RelationName' = $relation.Name 'A.ApiUrl' = $item.ApiUrl 'A.PortalUrl' = $item.PortalUrl 'B.WorkItemId' = $relatedWorkItem.WorkItemId 'B.WorkItemType' = $relatedWorkItem.WorkItemType 'B.ApiUrl' = $relatedWorkItem.ApiUrl 'B.PortalUrl' = $relatedWorkItem.PortalUrl } } } } } end { $result } } |