使用 Blue API 创建项目。


创建新项目

要创建一个新项目,您可以使用以下变更:

mutation {
  createProject(
    input: {
      name: "YOUR PROJECT NEW NAME"
      companyId: "YOUR COMPANY ID OR SLUG"
      description: "Project description"
      color: "#3B82F6"
      icon: "briefcase"
      category: GENERAL
    }
  ) {
    id
    name
    slug
    description
    color
    icon
    category
  }
}
icon: lightbulb

请记得在请求中包含所需的头信息:

- `X-Bloo-Token-ID`: 您的 API 令牌 ID
- `X-Bloo-Token-Secret`: 您的 API 令牌密钥
- `X-Bloo-Company-ID`: 您的公司 ID
- `Content-Type: application/json`

响应示例

成功后,变更将返回新创建的项目详细信息:

{
  "data": {
    "createProject": {
      "id": "newly-created-project-id",
      "name": "YOUR PROJECT NEW NAME",
      "slug": "your-project-new-name",
      "description": "Project description",
      "color": "#3B82F6",
      "icon": "briefcase",
      "category": "GENERAL"
    }
  }
}

从模板创建

要从现有模板创建项目,您可以向变更中添加可选的 templateId

mutation {
  createProject(
    input: {
      templateId: "YOUR TEMPLATE ID OR SLUG"
      name: "YOUR PROJECT NEW NAME"
      companyId: "YOUR COMPANY ID OR SLUG"
    }
  ) {
    id
  }
}
从模板创建项目不会立即创建项目。相反,您的项目创建将被排队。

使用模板的高级示例

以下是一个完整示例,展示从模板创建时所有可用选项:

mutation {
  createProject(
    input: {
      templateId: "marketing-template"
      name: "Q1 Marketing Campaign"
      companyId: "acme-corp"
      description: "Marketing initiatives for Q1 2024"
      color: "#10B981"
      icon: "megaphone"
      category: MARKETING
      coverConfig: {
        enabled: true
        fit: COVER
        imageSelectionType: FIRST
        source: DESCRIPTION
      }
    }
  ) {
    id
    name
    slug
    description
    color
    icon
    category
  }
}
icon: warning
`coverConfig` 参数目前仅在从模板创建项目时有效。对于从头开始创建的项目,您需要在创建后使用 `editProject` 变更来配置待办事项封面图像。

检查创建状态

要检查您项目创建在队列中的状态,您可以使用以下查询:

query {
  copyProjectStatus {
    newProjectName
    isTemplate
    isActive
    queuePosition
    totalQueues
  }
}

此查询将返回您项目创建在队列中的状态。

输入参数

CreateProjectInput

参数 类型 必需 描述
name String ✅ 是 项目名称。名称中的 URL 将被去除。
companyId String ✅ 是 将创建项目的公司的 ID 或别名。
description String 项目的描述。
color String 项目颜色的十六进制格式 (例如,“#3B82F6”)。
icon String 项目的图标标识符 (例如,“公文包”,“火箭”)。
category ProjectCategory 项目类别。如果未指定,则默认为 GENERAL
templateId String 用作模板的现有项目的 ID。
coverConfig TodoCoverConfigInput 待办事项封面图像的配置 (目前仅在基于模板的创建中有效)。

ProjectCategory 值

描述
CRM 客户关系管理项目
CROSS_FUNCTIONAL 跨职能团队项目
CUSTOMER_SUCCESS 客户成功计划
DESIGN 设计和创意项目
ENGINEERING 工程和开发项目
GENERAL 一般项目 (默认)
HR 人力资源项目
IT 信息技术项目
MARKETING 营销活动和计划
OPERATIONS 运营和物流项目
PRODUCT 产品管理项目
SALES 销售和业务发展项目

TodoCoverConfigInput

如果您想配置待办事项封面图像在项目中的工作方式,您可以提供 coverConfig 参数:

参数 类型 必需 描述
enabled Boolean ✅ 是 是否启用待办事项的封面图像
fit ImageFit ✅ 是 图像应如何适应封面区域
imageSelectionType ImageSelectionType ✅ 是 从可用选项中选择哪种图像
source ImageSource ✅ 是 从哪里提取图像
sourceId String 特定源标识符 (例如,自定义字段 ID)

ImageFit 值: COVER, CONTAIN, FILL, SCALE_DOWN

ImageSelectionType 值: FIRST (第一张图像), LAST (最后一张图像)

ImageSource 值: DESCRIPTION (来自待办事项描述), COMMENTS (来自评论), CUSTOM_FIELD (来自自定义字段)

响应字段

createProject 变更返回一个项目对象,具有以下可用字段:

字段 类型 描述
id ID! 项目的唯一标识符
name String! 项目名称
slug String! URL 友好的项目标识符
description String 项目描述
color String 项目颜色的十六进制格式
icon String 图标标识符
category ProjectCategory 项目类别枚举值
companyId String! 公司 ID
createdAt DateTime! 创建时间戳
updatedAt DateTime! 最后更新时间戳
archived Boolean! 项目是否已归档
isTemplate Boolean! 这是否是一个模板项目

注意:您可以请求响应中的这些字段的任何组合。

重要说明

  • 您必须拥有 OWNER, ADMINMEMBER 级别的公司访问权限才能创建项目
  • 从模板创建时,模板不能有超过 250,000 个待办事项
  • 创建用户将自动被分配为项目 OWNER
  • 项目名称会自动去除空格
  • coverConfig 参数目前仅在从模板创建时有效

错误响应

找不到公司

{
  "errors": [{
    "message": "Company not found",
    "extensions": {
      "code": "NOT_FOUND"
    }
  }]
}

找不到模板

{
  "errors": [{
    "message": "Template not found",
    "extensions": {
      "code": "NOT_FOUND"
    }
  }]
}

模板过大

{
  "errors": [{
    "message": "Template cannot have more than 250000 todos",
    "extensions": {
      "code": "VALIDATION_ERROR"
    }
  }]
}

权限被拒绝

{
  "errors": [{
    "message": "You do not have permission to create projects in this company",
    "extensions": {
      "code": "FORBIDDEN"
    }
  }]
}

AI助手

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

我能帮您什么?

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

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