Apifox 帮助文档
帮助文档常见问题Apifox 官网私有化部署
开发者中心
  • 开放 API
  • 更新日志
  • Road Map
  • Apifox Markdown
下载
  • 下载 Apifox
  • 下载 IDEA 插件
  • 下载浏览器扩展
  • Apifox Web 版
帮助文档常见问题Apifox 官网私有化部署
开发者中心
  • 开放 API
  • 更新日志
  • Road Map
  • Apifox Markdown
下载
  • 下载 Apifox
  • 下载 IDEA 插件
  • 下载浏览器扩展
  • Apifox Web 版
  1. 迭代分支
  • 帮助中心
  • 更新日志
  • 入门
    • 产品介绍
    • 联系我们
    • 私有化部署
  • 开始使用
    • 下载 Apifox
    • 注册与登录
    • 页面布局
    • 基本概念
    • 快速上手
      • 概述
      • 新建接口
      • 发送接口请求
      • 快捷请求
      • 添加断言
      • 新建测试场景
      • 分享 API 文档
      • 了解更多
    • 基础知识
      • 接口基本信息
        • 请求 URL 与方法
        • 请求参数与请求体
        • 请求头
        • 请求参数编码解码
        • HTTP/2
      • 认证与授权
        • 概述
        • 支持的授权类型
        • Digest Auth
        • OAuth 1.0
        • OAuth 2.0
        • Hawk Authentication
        • Kerberos
        • NTLM
        • Akamai EdgeGrid
        • CA 和客户端证书
      • 响应与 Cookie
        • 概述
        • API 响应
        • 创建和发送 Cookie
        • 实际请求
        • 提取响应示例
      • 请求代理
        • 网页端中的请求代理
        • 分享文档中的请求代理
        • 客户端中的请求代理
      • API Hub
        • API Hub
    • 导入导出数据
      • 概述
      • 手动导入
      • 定时导入
      • 导入设置
      • 导出数据
      • 其它方式导入
        • 导入 OpenAPI/Swagger
        • 导入 Postman
        • 导入 Apipost
        • 导入 Eolink
        • 导入 cURL
        • 导入 Markdown
        • 导入 Insomnia
        • 导入 apiDoc
        • 导入 .har 文件
        • 导入 knife4j
        • 导入 NEI
        • 导入小幺鸡(docway)
        • 导入 Apizza
        • 导入 WSDL
  • 设计 API
    • 概述
    • 新建 API 项目
    • 接口基础知识
    • 请求体多示例配置
    • 响应组件
    • 常用字段
    • 全局参数
    • 历史记录
    • 批量管理
    • 数据模型
      • 概述
      • 新建数据模型
      • 通过 JSON 等生成
      • 高级数据类型
      • 构建数据模型
    • 鉴权组件
      • 概述
      • 创建鉴权组件
      • 使用鉴权组件
      • 在线文档中的鉴权组件
    • 高级功能
      • 接口字段
      • 接口状态
      • 关联测试场景
      • 参数列表外观
      • 接口唯一标识
  • 开发和调试 API
    • 概述
    • 生成请求
    • 发送请求
    • 请求历史
    • 接口用例
    • 动态值
    • 校验响应
    • 文档模式/调试模式
    • 生成代码
    • 环境和变量
      • 概述
      • 全局/环境/临时变量
      • 环境与服务
      • Vault Secrets(密钥库)
        • 功能简介
    • 前后置操作&脚本
      • 概述
      • 断言
      • 提取变量
      • 等待时间
      • 数据库操作
        • 概述
        • MongoDB
        • Redis
        • Oracle
      • 使用脚本
        • 概述
        • 前置脚本
        • 后置脚本
        • 公共脚本
        • pm 脚本 API
        • 使用 JS 类库
        • 响应数据可视化
        • 调用外部程序
      • 脚本示例
        • 断言示例
        • 脚本使用变量
        • 脚本读取/修改接口请求信息
      • 常见问题
        • 如何获取动态参数的真实值并加密?
        • 脚本运行后,提取的数字(bigint)精度丢失应该如何处理?
    • API 调试
      • GraphQL 调试
      • WebSocket 调试
      • Socket.IO 调试
      • SSE 调试
      • SOAP/WebService
      • gRPC 调试
      • 使用请求代理调试
      • Dubbo 调试
        • 新建 Dubbo 接口
        • 调试 Dubbo 接口
        • Dubbo 接口文档
      • TCP(Socket)
        • Socket 接口功能简介
        • 报文数据处理器
  • Mock 数据
    • 概述
    • 智能 Mock
    • 自定义 Mock
    • Mock 优先级
    • Mock 脚本
    • 云端 Mock
    • 自托管 Runner Mock
  • 自动化测试
    • 概述
    • 编排测试场景
      • 新建测试场景
      • 测试步骤间传递数据
      • 测试流程控制条件
      • 从接口/用例同步数据
      • 跨项目导入接口/用例
      • 导出测试场景数据
    • 运行测试场景
      • 运行测试场景
      • 批量运行测试场景
      • 数据驱动测试
      • 定时任务
      • 管理其它项目接口的运行环境
    • 测试报告
      • 测试报告
    • API 测试
      • 集成测试
      • 性能测试
      • 端到端测试
      • 回归测试
    • Apifox CLI
      • 概述
      • 安装和运行 CLI
      • CLI 命令选项
    • CI/CD
      • 概述
      • 与 Jenkins 集成
      • 与 Gitlab 集成
      • 与 Github Actions 集成
      • 与其它更多 CI/CD 平台集成
  • 发布 API 文档
    • 概述
    • 快捷分享
    • 查看 API 文档
    • 发布文档站
    • 页面布局设置
    • 自定义域名
    • AI 相关特性
    • 高级设置
      • 文档站搜索设置
      • 跨域代理
      • 文档站接入 Google Analytics
      • SEO 设置
      • 文档左侧目录设置
      • 文档可见性设置
      • 在线 URL 链接规范
    • API 版本
      • 创建 API 版本
      • 发布 API 版本
      • 快捷分享 API 版本
      • 功能简介
  • 迭代分支
    • 功能简介
    • 新建迭代分支
    • 在迭代分支中改动 API
    • 在迭代分支中测试 API
    • 合并迭代分支
    • 管理迭代分支
  • 管理中心
    • 入驻清单
      • 了解基本概念
      • 团队入驻
    • 管理团队
      • 团队基本操作
      • 团队成员管理
      • 成员角色与权限设置
      • 团队资源
        • 通用 Runner
        • 请求代理 Agent
        • 团队变量
      • 实时协作
        • 团队协作
    • 管理项目
      • 项目基本操作
      • 项目成员管理
      • 通知设置
        • 功能简介
        • 通知对象
        • 通知事件
      • 项目资源
        • 数据库连接
    • 管理组织
      • 单点登录(SSO)
        • 功能简介
        • 为组织配置单点登录
        • 管理用户账号
        • 将组映射到团队
        • Microsoft Entra ID
      • SCIM 用户管理
        • 功能简介
        • Microsoft Entra ID
      • 组织资源
        • 自托管 Runner
  • IDEA 插件
    • 快速上手
    • 生成接口文档
    • 生成数据模型
    • 配置
      • 全局配置
      • 项目内配置
      • 可配置规则
      • 脚本工具
      • Groovy 本地扩展
    • 进阶配置
      • 注释规范说明
      • 框架支持
    • 常见问题
      • 常见问题
  • 浏览器扩展
    • Chrome
    • Microsoft Edge
  • Apifox MCP Server
    • 概述
    • 通过 MCP 使用 Apifox 项目内的 API 文档
    • 通过 MCP 使用公开发布的 API 文档
    • 通过 MCP 使用 OpenAPI/Swagger文档
  • 最佳实践
    • 概述
    • 接口之间如何传递数据
    • 登录态(Auth)如何处理
    • 接口签名如何处理
    • 如何加密/解密接口数据
    • Jenkins 定时触发任务
    • 如何计算 AI 问答成本
    • 与其他成员共用数据库连接配置
    • 通过 CLI 运行包含云端数据库连接配置的测试场景
    • 通过 Runner 运行包含云端数据库连接配置的测试场景
  • 账号&应用设置
    • 账号设置
    • 语言设置
    • 网络代理
    • 快捷键
    • 数据备份与恢复
    • 更新 Apifox
    • API 访问令牌
  • 身份验证 & Auth 鉴权指南
    • 什么是 API Key
    • 什么是 Bearer Token
    • 什么是 JWT
    • 什么是 Basic Auth
    • 什么是 Digest Auth
    • 什么是 OAuth 1.0
    • 什么是 OAuth 2.0
      • 什么是 OAuth 2.0
      • 授权码授权类型
      • 授权码授权类型,带有 PKCE
      • 隐式授权类型
      • 密码凭证授权类型
      • 客户端凭证授权类型
  • 服务与隐私协议
    • 服务协议
    • 隐私协议
    • 服务等级协议
  • 参考资料
    • API 设计优先理念
    • JSON Schema 介绍
    • JSONPath 介绍
    • XPath 介绍
    • Apifox Markdown 语法
    • CSV 格式规范
    • 正则表达式
    • 安装 Java 环境
    • Runner 运行环境
    • 常见编程语言对应的数据类型
    • Socket 粘包和分包问题
    • 词汇表
    • 目录链接汇总
    • Apifox Swagger 扩展
      • 概述
      • x-apifox-folder
      • x-apifox-status
      • x-apifox-name
      • x-apifox-maintainer
    • Apifox JSON Schema 扩展
      • 概述
      • x-apifox-mock
      • x-apifox-orders
      • x-apifox-enum
    • 动态值表达式
  • 常见问题
  1. 迭代分支

合并迭代分支

在迭代分支内完成 API 定义的开发并且内容成功上线后,可以将分支内的部分/所有接口变更一起合并至主分支。

合并迭代分支入口#

当你处于某个迭代分支上时,你可以在接口管理中,分支选择器内看到“合并”按钮,也可以在接口管理的目录树下方看到“合并到主分支”按钮。
image.png
对于自动化测试功能,测试场景的合并目前是需要单个进行合并的,并且不与接口管理那边的资源一起合并。当你处于某个迭代分支时,在自动化测试中,鼠标 hover 在某个测试场景的“...”按钮上,出现下拉操作“合并到主分支”。
image.png

合并入非受保护分支#

当一个拥有项目合并权限的用户执行合并,合并目标分支为一个没有设置为 “保护” 的分支时,可以在查看改动后直接将改动内容合入目标分支。

待合并内容总览#

在接口管理中,点击“合并”按钮后,即会打开合并总览的弹窗。
image.png
在此弹窗中,可以看到有重要内容:
筛选器,可以使用筛选器来仅查看当前迭代分支中,相较于主分支修改了的资源;或者查看所有处于当前迭代分支中的所有资源。默认查看被改动了的资源,让用户更加聚焦于改动内容。
接口管理目录树,这部分内容是最重要的内容,展示的是将当前迭代分支内容合并至主分支后,主分支目录树的最终效果(被影响的部分)。通过这个目录树来确认合并后的各资源位置、内容是否符合实际情况。目录树上的资源,在后方有 3 种颜色的圆点,用来标记本资源是一个未被改动(灰色圆点)、被修改(橙色圆点)、新增(绿色圆点)的资源。通过在右侧的勾选框中选中/取消选中,来确认本次合并是否想要合并这个资源到主分支中。
合并后接口状态,可以选择合并后如何调整被合并资源在主分支的状态。共有“跟随当前迭代分支”、“跟随主分支”、“指定状态”三种逻辑可选。

待合并内容详情审核#

在合并总览弹窗中,我们还可以针对目录树上的内容做更多操作,用以满足我们审核资源是否允许合并入主分支。点击某个资源,弹窗会自动展开变宽,这样就可以看到这个资源的内容详情,辅助用户做出是否合并的决策。
不同的资源会有不同的合并逻辑与详情页内容:
新增资源:
指在当前迭代分支中新创建的资源,主分支上没有此资源。
如果选择合并,会在主分支指定位置新创建此资源。
在目录树上点击,可以看到这个资源的完整内容。如下图所示。
image.png
修改资源:
指在当前迭代分支中从主分支上导入的资源,与主分支被导入资源有关联关系。
如果选择合并,会对主分支关联资源内容进行覆盖修改。
在目录树上点击,可以看到这个资源对比主分支资源的改动对比,以及完整内容。如下图所示。
image.png
无变动资源:
指在当前迭代分支中从主分支上导入的资源,与主分支被导入资源有关联关系,但是在当前迭代分支中没有对这个导入资源有任何修改。
没有改动的资源不可选择合入主分支(也没有必要)。
在目录树上点击没有这个资源的任何详情内容展示。如下图所示。
image.png
点击右下角的合并按钮,会将目录树上所有勾选选中的资源按照迭代分支设置位置合并入主分支。如果没有在合并弹窗中勾选选中,则此资源的内容不会一起合并入主分支。需要注意如果不选择合并某个父级资源,则其下方带的所有子级资源不可以单独合并入主分支。
image.png
合并完成后,会 toast 提示操作成功,关闭合并操作弹窗页并打开合并完成总结弹窗,可以在此弹窗中了解本次合并实际改动了主分支中的什么资源。
image.png

在主分支中查看合并详情/撤销合并#

在主分支中,点击某个资源的“历史记录”功能,即可看到该资源是被本次合并操作修改内容,并且可以看到修改的详情,还能够与某个其它版本的内容进行对比,从而帮助用户进行内容的回溯与回滚。
image.png
image.png

合并入受保护分支#

当一个拥有项目接口等资源编辑权限的用户,需要将某个迭代分支的调整内容合并入一个已设置为“保护”的分支时,可以创建合并请求,由项目管理员进行审核后实际合入目标分支。

创建合并请求#

在项目中点击“合并”之后,会与合并入未被保护分支效果一样,看到当前分支所有的改动资源。可以在此处选择需要合并入目标分支的资源,然后点击右下角“创建合并请求”按钮,提交一个合并请求给审核人员进行合并请求审核。

审核已提交的合并请求#

已经创建了合并请求之后,审核人员可在“项目概览”中,看到明显的提示有人提交了合并请求。进入“项目概览 -> 合并请求”页,即可看到合并请求列表及更多信息。
image.png
点击一条待审核的合并请求,即可对合并请求的内容进行审核。可以详细对比合并前后的内容并决定是否接受本次合并请求。如果选择接受,则点击右下角“合并”按钮,当前请求合并中的全部内容将被合并入目标分支。
image.png
合并的具体逻辑与合并入一个非保护分支的合并逻辑一致,详情请看待合并内容详情审核模块。
合并完成后,合并请求的内容会被合入主分支,会有一个目标分支被修改内容的表格总览。
image.png
同时合并请求本身的状态会被标记为“已合并”,点击可以查看本次已合并的合并请求详情。
image.png

已提交待审核的合并请求内容修改#

有时在提交合并请求后,审核人员还未进行实际审核,或审核后发现内容可能需要进行一些改动后才可以合入目标分支,这时可能需要对原内容进行一些改动。我们可以直接修改分支中的内容并保存,之前合并请求中的内容会自动同步这些改动,而无需再次重新发起合并请求。修改的内容会在合并请求审核页中有相关提示。
image.png

拒绝合并请求#

审核人员认为此次合并请求不适合合入目标分支时,可以在审核合并请求页面选择“拒绝”合并请求。拒绝后这个合并请求的状态将会被标记为“已关闭”。如果需要修改内容并再次进行合并时,需要重新发起合并请求。
image.png
点击一条已关闭的合并请求可以看到详情。
image.png

自动化测试场景的合并#

自动化测试中,测试场景的合并目前仍然与接口管理内容的合并是互相独立的。测试场景的合并需要一个个资源进行合并,没有整体合并的页面。
1.
请先将接口管理中的资源进行合并,完成后再合并测试场景。否则可能会产生合并后主分支的相关测试场景运行异常。
2.
目前,针对于已设置保护的分支进行测试场景合并,仅能项目管理员执行合并操作。后续会增加与接口管理类似的提交合并请求功能,来实现测试场景合入受保护分支。
当你处于某个迭代分支时,在自动化测试中,鼠标 hover 在某个测试场景的“...”按钮上,出现下拉操作“合并到主分支”。
image.png
点击后会打开测试场景合并弹窗,会看到有如下信息:
基本信息: 展示要合并的迭代分支测试场景,与主分支上被合并的测试场景(如有关联)。
最近运行结果: 迭代分支上的测试场景最后一次手动运行的结果,鼠标 hover 标识上会展示结果概览信息。测试人员可以通过这个信息来判断是否确认执行合并。如果运行结果是“未测”、“失败”时,建议先返回并确保测试场景运行完全通过后,再执行合并。
合并方式: 有“覆盖”与“新增”两种合并方式。如果测试场景是从主分支复制导入,则会有关联关系,合并时会根据关联关系对主分支资源执行覆盖合并;如果测试场景是新增的,则合并时会在主分支新增此测试场景。
image.png
修改于 2025-01-07 02:22:05
上一页
在迭代分支中测试 API
下一页
管理迭代分支
Built with