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

如何通过Azure DevOps API跨组织导出导入流程模板并实现增量更新

Azure DevOps流程模板跨组织迁移(支持增量更新)

一、导出源组织的流程模板

通过Azure DevOps REST API的Processes - Get Process Template接口导出完整模板配置:

GET https://dev.azure.com/{source-org}/_apis/processadmin/processes/{process-id}/template?api-version=7.0

将返回的JSON响应保存到本地文件(比如source-template.json),该文件包含源模板的所有工作项类型、字段、布局等核心配置。

二、检查目标组织是否存在同名模板

调用Processes - List接口获取目标组织的所有流程模板:

GET https://dev.azure.com/{target-org}/_apis/processadmin/processes?api-version=7.0

遍历返回结果的value数组,对比每个流程的name字段:

  • 找到与源模板同名的流程:记录其id,进入增量更新流程;
  • 未找到同名流程:进入新建模板流程。

三、分场景执行迁移

场景1:目标组织无同名模板,直接创建

调用Processes - Import Process Template接口提交源模板创建新流程:

POST https://dev.azure.com/{target-org}/_apis/processadmin/processes/import-process-template?api-version=7.0

请求头设置Content-Type: application/json,请求体为source-template.json的完整内容。

场景2:目标组织已有同名模板,增量更新

步骤1:导出目标现有模板配置

调用Processes - Get Process Template接口导出目标模板的当前配置:

GET https://dev.azure.com/{target-org}/_apis/processadmin/processes/{target-process-id}/template?api-version=7.0

保存为target-template.json。

步骤2:合并模板配置

手动或通过脚本处理两个JSON文件:

  • 遍历source-template.json中的workItemTypes数组:
    • 若target-template.json中无同名工作项类型:直接将该类型完整添加到目标模板的workItemTypes数组;
    • 若目标模板已有同名工作项类型:用源模板中该类型的所有配置(字段、布局、行为等)覆盖目标中的对应项。
  • 注意:若需保留目标模板独有的工作项类型,请勿删除目标模板中未出现在源模板里的类型。

步骤3:提交更新

调用Processes - Update Process Template接口提交合并后的配置:

PUT https://dev.azure.com/{target-org}/_apis/processadmin/processes/{target-process-id}/template?api-version=7.0

请求头设置Content-Type: application/json,请求体为合并后的JSON内容。

四、关键注意事项

  • 操作账号需在源、目标组织均拥有Process Administrator权限,否则会触发权限错误;
  • 建议先在测试组织验证全流程,避免误改生产环境的流程配置;
  • 可编写PowerShell/Python自动化脚本,批量处理导出、对比、合并和提交操作,提升效率;
  • 若模板包含自定义字段,需确保这些字段在目标组织中已存在(或提前通过字段API创建),避免导入失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 15:40:24