PowerShellを介してTFSタスクを作成するときに、親リンクを追加しようとしています。ただし、追加できるのは関連リンクのみです。
function Create-New-WorkItem($projName, $taskType, $title, $state, $assignedTo, $iterationPath, $activity, $BLItem)
{
$tfs = Get-TfsServer
$ws = $tfs.GetService([type]"Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore")
$proj = $ws.projects[$projName]
$workitem = $proj.workitemtypes[$taskType].newworkitem()
$workitem.open()
$workitem.title = $title
$workitem.state = $state
$workitem.fields["Assigned To"].value = $assignedTo
$workitem.iterationpath = $iterationPath
$workitem.fields["Activity"].value = $activity
$id = Get-Parent-Link $BLItem
$workitem.links.add($id.ID)
$workitem.close()
$workitem.save()
}
function Get-Parent-Link($backLogItemName)
{
$tfs = Get-TfsServer
$WIQL = @"
SELECT [System.Id]
FROM WorkItems
where [System.Title] = '$backLogItemName'
"@
return $tfs.wit.query($WIQL)
}
リンクを関連ではなく親として追加するにはどうすればよいですか?
試行錯誤の末、私はついに、子としての新しい作業項目を親項目、つまりバックログ項目にリンクする方法を見つけました。
$ws = $tfs.GetService([type]"Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore")
$linkType = $ws.WorkItemLinkTypes[[Microsoft.TeamFoundation.WorkItemTracking.Client.CoreLinkTypeReferenceNames]::Hierarchy]
新しい子ワークアイテムをリンクする親のワークアイテムIDを追加し、workitemlinkオブジェクトを作成します。
$link = new-object Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemLink($linkType.ReverseEnd, 1234)
次に、ワークアイテムへのリンクを追加できます。
$workitem.WorkItemLinks.Add($link)
$workitem.save()
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加