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
ellerplacement
anges - Datumlogik:
- Om endast
duedAt
anges, sättsstartedAt
till början av den dagen - Om endast
startedAt
anges, sättsduedAt
till samma värde
- Om endast
- 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