将记录移动到同一项目内或跨项目的不同列表,并进行全面的复制和验证。


移动记录到列表

moveTodo 变更允许您将记录移动到不同的列表。此操作会在目标列表中创建记录的完整副本,并将其从源列表中删除。记录可以在同一项目内或跨不同项目移动(需具备适当权限)。

基本示例

mutation MoveTodo {
  moveTodo(
    input: {
      todoId: "todo_123abc"
      todoListId: "list_456def"
    }
  )
}

跨项目移动示例

mutation MoveTodoAcrossProjects {
  moveTodo(
    input: {
      todoId: "todo_123abc"
      todoListId: "different-project-list_789xyz"
    }
  )
}

输入参数

MoveTodoInput

参数 类型 必需 描述
todoId String! ✅ 是 要移动的记录的 ID
todoListId String! ✅ 是 目标列表的 ID

响应

该变更返回一个 Boolean! 值:

  • true - 记录已成功移动
  • 失败时会抛出错误,而不是返回 false

移动的内容

当记录被移动时,以下元素会被复制到新位置:

  • 指派人 - 所有被指派的用户
  • 检查清单 - 所有检查项及其完成状态
  • 评论 - 所有评论和回复
  • 自定义字段 - 所有自定义字段值
  • 描述 - 完整的记录描述和格式
  • 截止日期 - 原始截止日期和时间
  • 标签 - 所有相关标签
  • 待办事项 - 所有子任务和行动项
  • 文件 - 所有文件附件(跨项目移动时特别处理)

位置处理

  • 记录会自动放置在目标列表的 末尾
  • 您不能指定自定义位置 - 位置会自动计算
  • 位置设置为当前最大位置 + 65,535

所需权限

不同的权限级别具有不同的能力:

用户角色 同一项目 跨项目 文件访问
OWNER ✅ 是 ✅ 是 All files
ADMIN ✅ 是 ✅ 是 All files
MEMBER ✅ 是 ❌ 否 Own files only

权限要求

  • 您必须具有 OWNERADMINMEMBER 对源项目的访问权限
  • 您必须具有目标项目的访问权限
  • MEMBER 用户不能在不同项目之间移动记录
  • 两个项目必须处于活动状态(未归档)

错误响应

记录未找到

{
  "errors": [{
    "message": "Todo was not found.",
    "extensions": {
      "code": "TODO_NOT_FOUND"
    }
  }]
}

列表未找到

{
  "errors": [{
    "message": "Todo list was not found.",
    "extensions": {
      "code": "TODO_LIST_NOT_FOUND"
    }
  }]
}

跨项目权限被拒绝

{
  "errors": [{
    "message": "You are not authorized.",
    "extensions": {
      "code": "FORBIDDEN"
    }
  }]
}

文件处理

同一项目移动

  • 文件直接移动,不会创建副本
  • 所有文件权限被保留

跨项目移动

  • 在目标项目的存储中创建文件的新副本
  • 原始文件在成功复制后异步删除
  • 文件权限可能会根据目标项目设置进行更新
  • MEMBER 用户只能移动他们拥有的文件

副作用

移动记录会触发多个自动操作:

  1. 活动日志 - 创建显示移动的活动记录
  2. 通知 - 通知相关项目成员
  3. Webhook - 触发 handleTodoMoved webhook 事件
  4. 自动化 - 运行为记录移动配置的自动化
  5. 实时更新 - 向所有连接的客户端发布实时更新
  6. 图表更新 - 更新项目图表和统计信息

重要说明

  • 完整复制:所有记录数据都会被复制 - 您无法选择性地仅移动某些元素
  • 自动位置:记录始终放置在目标列表的末尾
  • 跨项目限制MEMBER 用户不能在项目之间移动记录
  • 异步清理:跨项目移动的文件清理在后台进行
  • 保留历史:评论、活动和审计记录被保留
  • Webhook 事件:移动操作会触发删除和创建事件以实现实时同步

用例

重新组织工作

在列表之间移动记录以重新组织项目结构或工作流程阶段。

跨项目转移

在工作需要转移到不同团队或阶段时,在项目之间转移记录。

列表整合

在合并或重组项目列表时移动记录。

AI助手

响应是通过人工智能生成的,可能包含错误。

我能帮您什么?

随时问我关于 Blue 或本文档的任何问题。

输入发送 • Shift+Enter 换行 • ⌘I 打开