【发布时间】:2020-11-11 01:58:14
【问题描述】:
Azure DevOps 服务没有开箱即用的 feature 来支持 Azure Boards 的时间点备份/恢复。因此,我想知道如何通过 API 做到这一点?
我愿意接受任何可以自动安排的选项。例如,在计划的基础上(管道)创建并存储一个备份,该备份可能用于在将来执行手动触发的恢复。
【问题讨论】:
标签: azure-devops azure-devops-rest-api azure-boards
Azure DevOps 服务没有开箱即用的 feature 来支持 Azure Boards 的时间点备份/恢复。因此,我想知道如何通过 API 做到这一点?
我愿意接受任何可以自动安排的选项。例如,在计划的基础上(管道)创建并存储一个备份,该备份可能用于在将来执行手动触发的恢复。
【问题讨论】:
标签: azure-devops azure-devops-rest-api azure-boards
根据您的描述,我进一步检查了这个问题。目前,没有用于从 .CSV 文件导入工作项的 REST API。请查看此user voice,然后您可以直接在上面投票和添加cmets。
如需解决方法,请检查以下步骤:
PowerShell 任务调用REST API 以获取平面工作项查询的结果,我们可以从响应正文中获取所有工作项 ID。
使用工作项id调用REST API,获取工作项的详细信息。
将批量获取的work item details的response body保存到json文件中,然后使用Publish Pipeline Artifacts任务将该文件发布到Artifact,达到备份的目的。 p>
使用下载管道工件任务下载工件文件。
使用PowerShell任务调用下面的REST API达到还原的目的。
例如:
PATCH https://{organization}.visualstudio.com/_apis/wit/$batch?api-version=4.1
主体:
[{
"method": "PATCH",
"uri": "/{project}/_apis/wit/workitems/${work item type}?api-version=4.1",
"headers": {
"Content-Type": "application/json-patch+json"
},
"body": [{
"op": "add",
"path": "/id",
"value": "-1"
},
{
"op": "add",
"path": "/fields/System.Title",
"from": null,
"value": "Sample 1"
}
]
},
{
"method": "PATCH",
"uri": "/{project}/_apis/wit/workitems/${work item type}?api-version=4.1",
"headers": {
"Content-Type": "application/json-patch+json"
},
"body": [{
"op": "add",
"path": "/id",
"value": "-2"
},
{
"op": "add",
"path": "/fields/System.Title",
"from": null,
"value": "Sample 2"
}
]
}]
【讨论】: