Создание проектов с использованием API Blue.


Создание нового проекта

Чтобы создать новый проект, вы можете использовать следующую мутацию:

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
- `X-Bloo-Token-Secret`: Ваш секрет токена API
- `X-Bloo-Company-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 ✅ Да Идентификатор или слуг компании, где будет создан проект.
description String Нет Описание проекта.
color String Нет Цвет проекта в шестнадцатеричном формате (например, "#3B82F6").
icon String Нет Идентификатор иконки для проекта (например, "портфель", "ракета").
category ProjectCategory Нет Категория проекта. По умолчанию будет GENERAL, если не указано.
templateId String Нет Идентификатор существующего проекта, который будет использоваться в качестве шаблона.
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 Нет Идентификатор конкретного источника (например, идентификатор пользовательского поля)

Значения ImageFit: COVER, CONTAIN, FILL, SCALE_DOWN

Значения ImageSelectionType: FIRST (первое изображение), LAST (последнее изображение)

Значения ImageSource: DESCRIPTION (из описания задачи), COMMENTS (из комментариев), CUSTOM_FIELD (из пользовательского поля)

Поля ответа

Мутация createProject возвращает объект Project с следующими доступными полями:

Поле Тип Описание
id ID! Уникальный идентификатор проекта
name String! Название проекта
slug String! Идентификатор проекта, удобный для URL
description String Описание проекта
color String Цвет проекта в шестнадцатеричном формате
icon String Идентификатор иконки
category ProjectCategory Значение перечисления категории проекта
companyId String! Идентификатор компании
createdAt DateTime! Время создания
updatedAt DateTime! Время последнего обновления
archived Boolean! Является ли проект архивированным
isTemplate Boolean! Является ли это проектом-шаблоном

Примечание: Вы можете запросить любую комбинацию этих полей в вашем ответе.

Важные заметки

  • У вас должен быть доступ уровня OWNER, ADMIN или MEMBER к компании, чтобы создавать проекты
  • При создании из шаблона шаблон не может содержать более 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 для открытия