如何为时间点恢复自动创建 Azure DevOps Boards 备份?
How to automatically create Azure DevOps Boards backups for point in time restore?
Azure DevOps 服务没有现成的 feature 来支持 Azure Boards 的时间点 backup/restore。因此,我想知道如何通过 APIs?
做到这一点
我愿意接受任何可以自动安排的选项。例如,在计划的基础上(管道)创建并存储一个备份,将来可能用于执行手动触发的恢复。
尽管 UI 支持 exporting/importing 工作项数据 to/from CSV,但我找不到相应的 API。
根据你的描述,我进一步检查了这个问题。目前,没有用于从 .CSV 文件导入工作项的 REST API。请检查此user voice,然后您可以直接对其进行投票和评论。
有关解决方法,请检查以下步骤:
PowerShell 任务调用 REST API 以获取平面工作项查询的结果,我们可以从响应正文中获取所有工作项 ID。
使用工作项id调用REST API,获取工作项的详细信息
将批量获取的工作项详情的响应体保存到json文件中,然后使用Publish Pipeline Artifacts任务来将此文件发布到Artifact,达到备份的目的。
使用下载管道工件任务下载工件文件。
使用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"
}
]
}]
至configure the scheduled trigger for a pipeline,请检查以下步骤:
切换到Triggers选项卡,点击Scheduled后面的Add按钮添加一个schedule。
Select 您想要 运行 构建的日期和时间。
Azure DevOps 服务没有现成的 feature 来支持 Azure Boards 的时间点 backup/restore。因此,我想知道如何通过 APIs?
做到这一点我愿意接受任何可以自动安排的选项。例如,在计划的基础上(管道)创建并存储一个备份,将来可能用于执行手动触发的恢复。
尽管 UI 支持 exporting/importing 工作项数据 to/from CSV,但我找不到相应的 API。
根据你的描述,我进一步检查了这个问题。目前,没有用于从 .CSV 文件导入工作项的 REST API。请检查此user voice,然后您可以直接对其进行投票和评论。
有关解决方法,请检查以下步骤:
PowerShell 任务调用 REST API 以获取平面工作项查询的结果,我们可以从响应正文中获取所有工作项 ID。
使用工作项id调用REST API,获取工作项的详细信息
将批量获取的工作项详情的响应体保存到json文件中,然后使用Publish Pipeline Artifacts任务来将此文件发布到Artifact,达到备份的目的。
使用下载管道工件任务下载工件文件。
使用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"
}
]
}]
至configure the scheduled trigger for a pipeline,请检查以下步骤:
切换到Triggers选项卡,点击Scheduled后面的Add按钮添加一个schedule。
Select 您想要 运行 构建的日期和时间。