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 skapadesTODO_CUSTOM_FIELD
- När ett anpassat fält ändrasTODO_DUE_DATE
- När förfallodatum sätts/ändrasTODO_MARKED_AS_COMPLETE
- När posten markeras som slutfördTODO_MOVED
- När posten flyttas till en annan listaTODO_TAG_ADDED
- När en tagg läggs tillTODO_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
- Lista anpassade fält - Visa befintliga anpassade fält
- Uppdatera anpassat fält - Ändra fältets egenskaper
- Ta bort anpassat fält - Ta bort ett anpassat fält
- Skapa fältalternativ - Lägg till alternativ till valfält
- Ställ in anpassade fältvärden - Ställ in värden på poster