You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VSTS中将一个PBI的任务复制到另一个PBI?

如何在VSTS中将一个PBI的任务复制到另一个PBI?

我之前也碰到过这个需求,VSTS(现在已经正式更名为Azure DevOps Services了)确实没有直接的一键复制PBI任务到另一个PBI的内置功能,但有几个实用的办法可以解决:

方法一:手动逐个复制(适合任务数量少的场景)

如果需要复制的任务不多,手动操作是最直接的方式:

  • 打开源PBI,找到关联的任务列表,点击目标任务的标题进入详情页
  • 在任务详情页右上角,点击...更多选项,选择复制工作项
  • 在弹出的复制窗口中,调整以下关键设置:
    • 保持工作项类型为“任务”(默认会继承原任务的类型)
    • 在父链接区域,点击「添加链接」,选择“父项”,然后搜索并选中目标PBI
    • 按需修改其他字段,比如指派对象、状态、描述等
  • 点击确定完成复制,重复步骤直到所有需要的任务都复制完毕

方法二:批量复制脚本(适合任务数量多的场景)

如果要复制大量任务,用脚本批量处理能节省不少时间,这里给一个PowerShell的示例(需要先安装Azure DevOps PowerShell模块):

# 配置你的组织和项目参数
$orgUrl = "https://dev.azure.com/你的组织名称"
$projectName = "你的项目名称"
$sourcePbiId = 1234 # 替换为源PBI的ID
$targetPbiId = 5678 # 替换为目标PBI的ID

# 登录Azure DevOps
Connect-AzDevOps -Organization $orgUrl

# 获取源PBI下的所有子任务
$sourceTasks = Get-AzDevOpsWorkItem -Project $projectName -Id $sourcePbiId | 
               Select-Object -ExpandProperty Relations | 
               Where-Object { $_.Rel -eq "System.LinkTypes.Hierarchy-Forward" } | 
               ForEach-Object { Get-AzDevOpsWorkItem -Project $projectName -Id $_.Target.Id }

# 循环复制任务并关联到目标PBI
foreach ($task in $sourceTasks) {
    # 创建新任务
    $newTask = New-AzDevOpsWorkItem -Project $projectName -WorkItemType "Task" `
                                    -Title $task.Title -Description $task.Description
    # 将新任务关联为目标PBI的子项
    Add-AzDevOpsWorkItemLink -WorkItemId $newTask.Id -TargetId $targetPbiId `
                             -LinkType "System.LinkTypes.Hierarchy-Reverse"
    Write-Host "已完成任务复制: $($task.Title)"
}

温馨提示:运行脚本前,需要以管理员身份执行Install-Module -Name Az.DevOps来安装所需模块。

方法三:借助第三方扩展(可选)

Azure DevOps Marketplace有不少第三方扩展支持批量复制工作项及关联关系,你可以在组织的「市场」中搜索类似「Work Item Copy」或「Bulk Copy Work Items」的工具,这些扩展通常能一键复制PBI及其所有子任务,还能保留原有的字段配置。

内容的提问来源于stack exchange,提问作者Amir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 04:18:40