Skapa en ny post (todo) i Blue med valfria anpassade fält, taggar och tilldelningar.


Skapa en post

Mutation för createTodo tillåter dig att skapa nya poster i Blue med omfattande konfigurationsalternativ inklusive anpassade fält, taggar, tilldelningar och mer. Poster kan skapas i specifika listor eller automatiskt placeras i standardlistan.

Grundläggande exempel

Skapa en enkel post med bara en titel:

mutation CreateRecord {
  createTodo(
    input: {
      title: "New Task"
    }
  ) {
    id
    title
    position
  }
}

Avancerat exempel

Skapa en post med alla tillgängliga alternativ:

mutation CreateRecordAdvanced {
  createTodo(
    input: {
      todoListId: "clm4n8qwx000008l0g4oxdqn7"
      title: "Product Launch Planning"
      placement: TOP
      description: "<p>Complete product launch preparation including marketing materials and documentation.</p>"
      startedAt: "2025-01-15T09:00:00Z"
      duedAt: "2025-02-01T17:00:00Z"
      notify: true
      assigneeIds: ["user_123", "user_456"]
      tags: [
        { id: "tag_existing_123" }
        { title: "Priority", color: "#ff4b4b" }
        { title: "Marketing" }
      ]
      customFields: [
        {
          customFieldId: "cf_budget_123"
          value: "50000 USD"
        }
        {
          customFieldId: "cf_status_456"
          value: "In Progress"
        }
      ]
      checklists: [
        {
          title: "Pre-launch Checklist"
          position: 1
        }
      ]
    }
  ) {
    id
    uid
    title
    position
    startedAt
    duedAt
    todoList {
      id
      title
    }
    users {
      id
      fullName
    }
    tags {
      id
      title
      color
    }
  }
}

Inmatningsparametrar

CreateTodoInput

Parameter Typ Obligatorisk Beskrivning
todoListId String Nej ID för todo-listan att lägga till posten i. Om inte angivet, används den första todo-listan i projektet
title String! ✅ Ja Titel på posten (obligatorisk)
position Float Nej Anpassad position i listan. Om inte angivet, används placeringsparameter
placement CreateTodoInputPlacement Nej Var posten ska placeras om position inte anges (TOPP eller BOTTNEN)
startedAt DateTime Nej Startdatum/tid för posten
duedAt DateTime Nej Förfallodatum/tid för posten
notify Boolean Nej Om aviseringar ska skickas för denna postskapelse
description String Nej HTML-beskrivningsinnehåll (kommer att saneras)
assigneeIds [String!] Nej Array av användar-ID:n att tilldela denna post
checklists [CreateChecklistWithoutTodoInput!] Nej Array av checklistor att skapa med posten
customFields [CreateTodoInputCustomField] Nej Array av värden för anpassade fält
tags [CreateTodoTagInput!] Nej Array av taggar att bifoga till posten

CreateTodoInputPlacement Värden

Värde Beskrivning
TOP Placera högst upp i listan (högsta position)
BOTTOM Placera längst ner i listan (lägsta position)

CreateTodoTagInput

Parameter Typ Obligatorisk Beskrivning
id String Nej* ID för befintlig tagg att koppla
title String Nej* Titel på taggen (skapar ny om den inte finns)
color String Nej Hex-färg för ny tagg (standard är #4a9fff)

*Obs: Du måste ange antingen id (för befintlig tagg) ELLER title (för att skapa/hitta efter titel)

CreateTodoInputCustomField

Parameter Typ Obligatorisk Beskrivning
customFieldId String Nej ID för det anpassade fältet
value String Nej Värde för det anpassade fältet (se formatguide nedan)

CreateChecklistWithoutTodoInput

Parameter Typ Obligatorisk Beskrivning
title String! ✅ Ja Titel på checklistan
position Float Nej Position för checklistan inom posten

Format för anpassade fältvärden

När du ställer in värden för anpassade fält, använd dessa format baserat på fälttyp:

Fälttyp Format Exempel
CHECKBOX "true", "1", or "checked" for checked "true"
COUNTRY Country name or ISO code "United States" or "US"
CURRENCY Amount with optional currency "50000 USD"
DATE YYYY-MM-DD or date range "2025-01-15" or "2025-01-15,2025-01-20"
NUMBER Numeric value "42"
PERCENT Numeric value (% optional) "75" or "75%"
RATING Numeric value within range "4" (if max is 5)
PHONE International phone format "+1234567890"
SELECT_SINGLE Custom field option ID "option_123"
SELECT_MULTI Comma-separated option IDs "option_1,option_2"
LOCATION Latitude,longitude "40.7128,-74.0060"
EMAIL Valid email address "user@example.com"
URL Valid URL "https://example.com"
TEXT Plain text value "Any text content"

Svarsfält

Mutation returnerar ett Todo-objekt med omfattande postdetaljer:

Fält Typ Beskrivning
id String! Unikt identifierare för posten
uid String! Alternativ unik identifierare
title String! Posttitel
position Float! Position i listan
done Boolean! Slutförandestatus
startedAt DateTime Startdatum/tid
duedAt DateTime Förfallodatum/tid
todoList TodoList Relaterade todo-listdetaljer
users [User!] Tilldelade användare
tags [Tag!] Relaterade taggar
checklists [Checklist!] Relaterade checklistor
customFields [CustomFieldValue!] Värden för anpassade fält

Obligatoriska behörigheter

Användare måste ha lämplig projektåtkomst för att skapa poster:

Åtkomstnivå Kan skapa poster
OWNER ✅ Ja
ADMIN ✅ Ja
MEMBER ✅ Ja
CLIENT ✅ Ja
COMMENT_ONLY ❌ Nej
VIEW_ONLY ❌ Nej

Mutation kräver att användarens projektåtkomstnivå är OWNER, ADMIN, MEMBER, eller CLIENT. Användare med VIEW_ONLY eller COMMENT_ONLY roller kan inte skapa poster.

Felrespons

ProjectNotFoundError

{
  "errors": [{
    "message": "Project was not found.",
    "extensions": {
      "code": "PROJECT_NOT_FOUND"
    }
  }]
}

När: Ingen projektkontext är tillgänglig för användaren.

TodoListCreateTodoLimitError

{
  "errors": [{
    "message": "Todo list has reached the maximum number of todos.",
    "extensions": {
      "code": "TODO_LIST_CREATE_TODO_LIMIT_ERROR"
    }
  }]
}

När: Todo-listan innehåller redan 100 000 poster (maximalt gräns).

TodoListNotFoundError

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

När: Den angivna todoListId finns inte eller användaren saknar åtkomst.

CustomFieldValueParseError

{
  "errors": [{
    "message": "Invalid phone number format",
    "extensions": {
      "code": "CUSTOM_FIELD_VALUE_PARSE_ERROR"
    }
  }]
}

När: Värdet för det anpassade fältet misslyckas med validering (t.ex. ogiltigt telefonnummer, betyg utanför intervallet).

Viktiga anteckningar

Prestanda

  • Varje todo-lista kan innehålla upp till 100 000 poster
  • Att skapa poster utlöser flera bakgrundsprocesser (webhooks, automatiseringar, sökindexering)
  • Batchoperationer är mer effektiva än att skapa poster en i taget

Affärslogik

  • Positionhantering: Standardposition är 65535.0 när varken position eller placement anges
  • Datumlogik:
    • Om endast duedAt anges, sätts startedAt till början av den dagen
    • Om endast startedAt anges, sätts duedAt till samma värde
  • Taggskapande: Nya taggar skapas automatiskt om de inte finns med den angivna titeln/färgen
  • Listval: Om ingen todoListId anges, används den första todo-listan i projektet

Biverkningar

Att skapa en post utlöser:

  • Skapande av aktivitetsloggpost
  • Webhook-aviseringar
  • Uppdateringar av sökindex
  • Utförande av automatiseringsregler (om konfigurerat)
  • E-post/push-aviseringar (om notify: true)
  • Beräkningar av anpassade fält för formler och tidslängd
  • Uppdateringar av analyser och diagram

Relaterade slutpunkter

  • Lista poster: Fråga todos för att hämta befintliga poster
  • Uppdatera post: Använd mutation för updateTodo för att ändra poster
  • Lista anpassade fält: Fråga för att få tillgängliga ID:n för anpassade fält
  • Lista taggar: Fråga för att få befintliga ID:n för taggar
  • Lista todo-listor: Fråga för att få tillgängliga ID:n för todo-listor

AI-assistent

Svar genereras med hjälp av AI och kan innehålla misstag.

Hur kan jag hjälpa dig?

Fråga mig vad som helst om Blue eller denna dokumentation.

Tryck Enter för att skicka • Shift+Enter för ny rad • ⌘I för att öppna