Lägg till nya anpassade fält för att utöka din projekts databas med typ-specifika konfigurationer


Skapa ett anpassat fält

Anpassade fält gör att du kan skräddarsy Blue efter dina specifika affärsbehov genom att lägga till strukturerade datafält till dina poster. Denna slutpunkt skapar ett nytt anpassat fält med konfigurationer som är specifika för varje fälttyp.

Grundläggande exempel

mutation CreateTextField {
  createCustomField(input: {
    name: "Customer Name"
    type: TEXT_SINGLE
    description: "Primary customer contact name"
  }) {
    id
    uid
    name
    type
    position
  }
}

Avancerat exempel

mutation CreateAdvancedField {
  createCustomField(input: {
    name: "Project Budget"
    type: CURRENCY
    description: "Total allocated budget for this project"
    currency: "USD"
    min: 0
    max: 1000000
  }) {
    id
    uid
    name
    type
    currency
    min
    max
    position
    createdAt
  }
}

Indata parametrar

CreateCustomFieldInput

Parameter Typ Obligatorisk Beskrivning
name String! ✅ Ja Det visade namnet på det anpassade fältet
type CustomFieldType! ✅ Ja Fälttypen (se typer nedan)
description String Nej Valfri beskrivning som förklarar fältets syfte
min Float Nej Minimi värde för NUMBER, RATING, PERCENT fält
max Float Nej Maximalt värde för NUMBER, RATING, PERCENT fält
currency String Nej ISO-valuta kod för CURRENCY fält
prefix String Nej Textprefix för UNIQUE_ID fält
isDueDate Boolean Nej Om DATE-fältet representerar ett förfallodatum
formula JSON Nej Formelkonfiguration för FORMULA fält
referenceProjectId String Nej Målprojekt-ID för REFERENCE fält
referenceMultiple Boolean Nej Tillåt flera val i REFERENCE fält
referenceFilter TodoFilterInput Nej Filteralternativ för REFERENCE fält
lookupOption CustomFieldLookupOptionInput Nej Konfiguration för LOOKUP fält
timeDurationDisplay CustomFieldTimeDurationDisplayType Nej Visningsformat för TIME_DURATION
timeDurationTargetTime Float Nej Mål tid i sekunder för TIME_DURATION
timeDurationStartInput CustomFieldTimeDurationInput Nej Startutlösare för TIME_DURATION
timeDurationEndInput CustomFieldTimeDurationInput Nej Slututlösare för TIME_DURATION
buttonType String Nej Knappåtgärdstyp för BUTTON fält
buttonConfirmText String Nej Bekräftelseprompt för BUTTON fält
useSequenceUniqueId Boolean Nej Använd sekventiell numrering för UNIQUE_ID
sequenceDigits Int Nej Antal siffror i sekvens (t.ex. 5 → 00001)
sequenceStartingNumber Int Nej Startnummer för sekvens
currencyFieldId String Nej Referensvaluta fält för CURRENCY_CONVERSION
conversionDate String Nej Konverteringsdatum för CURRENCY_CONVERSION
conversionDateType String Nej Typ av konverteringsdatum för CURRENCY_CONVERSION
metadata JSON Nej Ytterligare metadata för det anpassade fältet

CustomFieldType värden

Värde Beskrivning Obligatoriska parametrar
TEXT_SINGLE En rad textinmatning Inga
TEXT_MULTI Flera rader textområde Inga
SELECT_SINGLE Enkeltval dropdown Create options separately
SELECT_MULTI Flera val dropdown Create options separately
CHECKBOX Boolean checkbox Inga
RATING Stjärnbetygsfält Optional: max (default: 5)
PHONE Telefonnummer med validering Inga
NUMBER Numerisk inmatning Optional: min, max
CURRENCY Valuta belopp Optional: currency, min, max
PERCENT Procent (0-100) Optional: min, max
EMAIL E-post med validering Inga
URL Webbadress med validering Inga
UNIQUE_ID Automatgenererad identifierare Optional: prefix, useSequenceUniqueId
LOCATION Geografiska koordinater Inga
FILE Filbilaga Inga
DATE Datumväljare Optional: isDueDate
COUNTRY Landväljare Inga
FORMULA Beräknat fält Required: formula
REFERENCE Länk till andra poster Required: referenceProjectId
LOOKUP Hämta data från referenser Required: lookupOption
TIME_DURATION Tidsregistrering Required: duration inputs (see below)
BUTTON Åtgärdsknapp Optional: buttonType, buttonConfirmText
CURRENCY_CONVERSION Valutaomvandlare Special configuration

Exempel på fälttypkonfigurationer

Nummerfält med begränsningar

mutation CreateQuantityField {
  createCustomField(input: {
    name: "Quantity"
    type: NUMBER
    description: "Number of items"
    min: 1
    max: 999
  }) {
    id
    name
    min
    max
  }
}

Valutafält

mutation CreateBudgetField {
  createCustomField(input: {
    name: "Budget"
    type: CURRENCY
    currency: "EUR"
    min: 0
  }) {
    id
    name
    currency
    min
  }
}

Datumfält med förfallodatum flagga

mutation CreateDeadlineField {
  createCustomField(input: {
    name: "Project Deadline"
    type: DATE
    isDueDate: true
    description: "When this project must be completed"
  }) {
    id
    name
    isDueDate
  }
}

Referensfält

mutation CreateRelatedTasksField {
  createCustomField(input: {
    name: "Dependencies"
    type: REFERENCE
    referenceProjectId: "proj_abc123"
    referenceMultiple: true
    referenceFilter: {
      statusIds: ["status_open", "status_inprogress"]
    }
  }) {
    id
    name
    referenceProjectId
    referenceMultiple
  }
}

Lookup-fält

mutation CreateLookupField {
  createCustomField(input: {
    name: "Customer Email"
    type: LOOKUP
    lookupOption: {
      referenceId: "field_customer_ref"
      lookupId: "field_email"
      lookupType: TODO_CUSTOM_FIELD
    }
  }) {
    id
    name
    customFieldLookupOption {
      referenceId
      lookupId
      lookupType
    }
  }
}

Unik ID med sekvens

mutation CreateOrderNumberField {
  createCustomField(input: {
    name: "Order Number"
    type: UNIQUE_ID
    prefix: "ORD-"
    useSequenceUniqueId: true
    sequenceDigits: 6
    sequenceStartingNumber: 1000
  }) {
    id
    name
    prefix
  }
}

Tidsdurationfält

mutation CreateTimeTrackingField {
  createCustomField(input: {
    name: "Time to Resolution"
    type: TIME_DURATION
    timeDurationDisplay: FULL_DATE_STRING
    timeDurationStartInput: {
      type: TODO_CREATED_AT
      condition: FIRST
    }
    timeDurationEndInput: {
      type: TODO_MARKED_AS_COMPLETE
      condition: FIRST
    }
  }) {
    id
    name
  }
}

Giltiga tidsdurationstyper

  • TODO_CREATED_AT - När posten skapades
  • TODO_CUSTOM_FIELD - När ett anpassat fält ändras
  • TODO_DUE_DATE - När förfallodatum sätts/ändras
  • TODO_MARKED_AS_COMPLETE - När posten markeras som slutförd
  • TODO_MOVED - När posten flyttas till en annan lista
  • TODO_TAG_ADDED - När en tagg läggs till
  • TODO_ASSIGNEE_ADDED - När en tilldelad person läggs till

Skapa valalternativ

Efter att ha skapat ett SELECT_SINGLE eller SELECT_MULTI fält, lägg till alternativ:

mutation CreateSelectOptions {
  createCustomFieldOptions(input: {
    customFieldId: "field_xyz789"
    customFieldOptions: [
      { title: "High", color: "#FF0000", position: 1 }
      { title: "Medium", color: "#FFA500", position: 2 }
      { title: "Low", color: "#00FF00", position: 3 }
    ]
  }) {
    id
    title
    color
    position
  }
}

Svarfält

CustomField

Fält Typ Beskrivning
id String! Unik identifierare
uid String! Användarvänlig unik ID
name String! Visningsnamn
type CustomFieldType! Fälttyp
description String Fältbeskrivning
position Float! Visningsordning
createdAt DateTime! Skapad tidsstämpel
updatedAt DateTime! Senaste uppdatering tidsstämpel
min Float Minimi värde (om tillämpligt)
max Float Maximalt värde (om tillämpligt)
currency String Valutakod (CURRENCY typ)
prefix String ID-prefix (UNIQUE_ID typ)
isDueDate Boolean Förfallodatum flagga (DATE typ)
formula JSON Formelkonfiguration (FORMULA typ)
referenceProjectId String Refererat projekt (REFERENCE typ)
customFieldLookupOption CustomFieldLookupOption Lookup-konfiguration (LOOKUP typ)

Obligatoriska behörigheter

Att skapa anpassade fält kräver projektåtkomst:

Roll Kan skapa anpassade fält
OWNER ✅ Ja
ADMIN ✅ Ja
MEMBER ✅ Ja
CLIENT ❌ Nej

Obs: Anpassade roller kan ha ytterligare begränsningar på fältshantering.

Felrespons

Ogiltig fälttyp

{
  "errors": [{
    "message": "Variable \"$input\" got invalid value \"INVALID\" at \"input.type\"; Value \"INVALID\" does not exist in \"CustomFieldType\" enum.",
    "extensions": {
      "code": "GRAPHQL_VALIDATION_FAILED"
    }
  }]
}

Referensprojekt hittades inte

{
  "errors": [{
    "message": "Reference project not found or access denied",
    "extensions": {
      "code": "PROJECT_NOT_FOUND"
    }
  }]
}

Saknad obligatorisk konfiguration

{
  "errors": [{
    "message": "REFERENCE fields require referenceProjectId",
    "extensions": {
      "code": "VALIDATION_ERROR"
    }
  }]
}

Viktiga anteckningar

  • Fältposition: Beräknas automatiskt för att visas i slutet av befintliga fält
  • Fältgränser: Projekt kan ha begränsningar på antalet anpassade fält
  • Omedelbar tillgänglighet: Skapade fält är omedelbart tillgängliga för användning
  • Biverkningar: Att skapa ett fält utlöser:
    • Aktivitet loggpost
    • Realtidsuppdateringar till anslutna användare
    • Webhook-notifikationer
    • Bakgrundsjobb för FORMULA, LOOKUP och UNIQUE_ID fält
  • Speciella överväganden:
    • REFERENCE fält kräver åtkomst till målprojektet
    • LOOKUP fält beror på befintliga REFERENCE fält
    • FORMULA fält kan inte referera till sig själva
    • UNIQUE_ID sekvenser bearbetas asynkront
    • SELECT fält behöver alternativ skapade separat
  • Namngivning: Fältnamn bör vara tydliga och beskrivande som de visas i användargränssnittet

Relaterade slutpunkter

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