Import from Git V2:维护 Sync Link 导入

Sync Link 会在以下对象之间建立持续关系:

  • 一条 Testany 导入记录
  • 被选中的 Git 文件
  • 由这些文件创建出来的 Test Case

在这种模式下,执行时读取的是 Git 中的脚本,而不是 Testany 内部的 Mirror

2. 先认识详情页结构

进入 Import History,打开带有 SYNC LINK 标识的记录。

Sync Link 导入记录详情

这类详情页通常包含:

  • Basic Info
  • Remote Code Status
  • Pending Relation Changes
  • Associated Files
  • GitHub Webhook Sync
  • Sync History
  • Danger Zone

当导入记录处于 Sync Link + Track Latest 时:

  • 执行时总是跟随当前分支的最新 commit
  • 详情页不会提供代码层的 Sync
  • 新增文件和源端删除文件仍然需要您手动处理

Remote Code Status 区域会显示:

  • Current latest commit
  • Relation baseline commit
  • Last change detected at
📝

这是 V2 最容易被误解的点之一。Track Latest 并不等于“自动把新文件变成新的 Test Case”,也不等于“自动处理已删除文件”。

当导入记录处于 Sync Link + Pinned Commit 时,这条记录会被锁定在某个 commit 上。

详情页会提供两个维护动作:

  • Switch Commit
  • Switch to Track Latest

这个模式不支持 webhook 同步,也不支持代码层同步。后续如果想前进,只能显式切换 commit,或退出 pinned 模式。

5. 关系层变化必须显式处理

Pending Relation Changes 中,Sync Link 会把“关系维护”与“代码跟踪”明确拆开。

5.1 Import Added Files

当最新快照发现有新的受支持文件已经落在导入根目录下,但尚未被纳入当前导入记录时,请使用 Import Added Files

这个动作会创建:

  • 新的 Test Case
  • 当前导入记录下的新 binding

5.2 Mark Source Deleted

当某个之前已经跟踪的文件在 Git 源端中已经不存在时,请使用 Mark Source Deleted

这个动作会:

  • 把对应 binding 标记为 source_deleted
  • 不会自动删除 Test Case

如果这个文件还被流水线引用,建议先评估影响再确认。

6. GitHub Webhook Sync 怎么用

只要导入记录处于 Track Latest,就可以配置 GitHub Webhook Sync

Sync Link 模式下,它的作用是:

  • 接收 GitHub push 事件
  • 在需要时触发同步检查

不会直接替您创建新的 Test Case,也不会自动删除已有 Test Case。

6.1 配置步骤

  1. 在 Testany 中点击 Configure Webhook
  2. 复制生成的 Webhook URL
  3. 复制生成的 Secret
  4. 进入 GitHub 仓库的 webhook 设置页面
  5. 用上述 URL 和 Secret 配置 push webhook
  6. 回到 Testany 验证投递情况

6.2 Tracking Scope

Webhook 面板还支持配置 include / exclude 形式的 tracking scope。如果您只希望仓库中的一部分路径触发同步检查,可以在这里收窄范围。

6.3 Pinned 模式限制

如果当前记录固定在某个 commit 上,Webhook 同步不可用。必须先切回 Track Latest

7. 查看 Sync History

使用 Sync History 可以追踪这条记录过去的同步检查结果,例如:

  • Testany 上一次什么时候检测到上游代码变化
  • 某次同步检查是否失败
  • 当前关系快照是否已经过期

Danger Zone 中,Delete Import History 会删除这条导入记录,并删除所有关联的 Test Case

⚠️

这个操作不可撤销。删除前请先检查是否仍有流水线引用,以及业务侧是否仍然需要这批用例。

还有疑问?

我们的团队随时为您服务。欢迎联系我们,我们会尽快回复。