Pobierz paginowaną listę pól niestandardowych dla projektu lub w wielu projektach z opcjami filtrowania i sortowania
Lista wszystkich pól niestandardowych
Pola niestandardowe pozwalają na rozszerzenie standardowej struktury rekordów Blue o dodatkowe pola danych specyficzne dla potrzeb Twojej firmy. Ten punkt końcowy pobiera dostępne pola niestandardowe w Twoich projektach, z filtrowaniem według typu pola i wsparciem paginacji.
Podstawowy przykład
query ListCustomFields {
customFields(
filter: { projectId: "project_123" }
sort: position_ASC
take: 20
) {
items {
id
uid
name
type
position
}
pageInfo {
totalItems
hasNextPage
}
}
}
Zaawansowany przykład
query ListCustomFieldsAdvanced {
customFields(
filter: {
projectId: "project_123"
types: [TEXT_SINGLE, NUMBER, SELECT_SINGLE]
}
sort: name_ASC
skip: 20
take: 50
) {
items {
id
uid
name
type
position
description
# Type-specific fields
min # For NUMBER, RATING, PERCENT
max # For NUMBER, RATING, PERCENT
currency # For CURRENCY type
prefix # For UNIQUE_ID type
isDueDate # For DATE type
formula # For FORMULA type
# Validation settings
editable
metadata
# For SELECT types
customFieldOptions {
id
title
color
position
}
}
pageInfo {
totalItems
hasNextPage
hasPreviousPage
}
}
}
Parametry wejściowe
Parametr |
Typ |
Wymagany |
Opis |
projectId |
String |
Nie |
Filtrowanie według konkretnego ID projektu |
types |
[CustomFieldType!] |
Nie |
Filtrowanie według typów pól niestandardowych |
Wartości CustomFieldSort
Wartość |
Opis |
name_ASC |
Sortuj według nazwy rosnąco (A-Z) |
name_DESC |
Sortuj według nazwy malejąco (Z-A) |
createdAt_ASC |
Sortuj według daty utworzenia (najstarsze najpierw) |
createdAt_DESC |
Sortuj według daty utworzenia (najmłodsze najpierw) |
position_ASC |
Sortuj według pozycji (domyślnie) |
position_DESC |
Sortuj według pozycji malejąco |
Wartości CustomFieldType
Wartość |
Opis |
TEXT_SINGLE |
Pole tekstowe jednolinijkowe |
TEXT_MULTI |
Obszar tekstowy wielolinijkowy |
SELECT_SINGLE |
Lista rozwijana z pojedynczym wyborem |
SELECT_MULTI |
Lista rozwijana z wieloma wyborami |
CHECKBOX |
Pole wyboru typu boolean |
RATING |
Ocena w skali gwiazdkowej (1-5 lub niestandardowy zakres) |
PHONE |
Numer telefonu z walidacją |
NUMBER |
Wprowadzenie numeryczne |
CURRENCY |
Kwota w walucie |
PERCENT |
Wartość procentowa |
EMAIL |
Adres e-mail z walidacją |
URL |
URL strony internetowej z walidacją |
UNIQUE_ID |
Automatycznie generowany unikalny identyfikator |
LOCATION |
Lokalizacja geograficzna (szerokość/długość) |
FILE |
Załącznik pliku |
DATE |
Wybór daty |
COUNTRY |
Wybór kraju |
FORMULA |
Pole obliczeniowe oparte na innych polach |
REFERENCE |
Link do rekordów w innym projekcie |
LOOKUP |
Pobierz dane z rekordów referencyjnych |
TIME_DURATION |
Pole śledzenia czasu |
BUTTON |
Pole przycisku akcji |
CURRENCY_CONVERSION |
Pole konwersji walut |
Parametry paginacji
Parametr |
Typ |
Wymagany |
Opis |
skip |
Int |
Nie |
Liczba elementów do pominięcia (domyślnie: 0) |
take |
Int |
Nie |
Liczba elementów do zwrócenia (domyślnie: 20, maks: 500) |
Pola odpowiedzi
CustomField
Pole |
Typ |
Opis |
id |
String! |
Unikalny identyfikator |
uid |
String! |
Unikalny przyjazny użytkownikowi identyfikator |
name |
String! |
Nazwa wyświetlana pola |
type |
CustomFieldType! |
Typ pola niestandardowego |
position |
Float! |
Pozycja w kolejności sortowania |
description |
String |
Opcjonalny opis pola |
min |
Float |
Minimalna wartość (NUMER, OCENA, PROCENT) |
max |
Float |
Maksymalna wartość (NUMER, OCENA, PROCENT) |
currency |
String |
Kod waluty (typ WALUTA) |
prefix |
String |
Prefiks do generowania UNIQUE_ID |
isDueDate |
Boolean |
Czy pole DATY reprezentuje datę wymagalności |
formula |
JSON |
Konfiguracja formuły (typ FORMUŁA) |
editable |
Boolean |
Czy bieżący użytkownik może edytować to pole |
metadata |
JSON |
Dodatkowa konfiguracja pola |
customFieldOptions |
[CustomFieldOption!] |
Dostępne opcje dla typów SELECT |
CustomFieldOption
Pole |
Typ |
Opis |
id |
String! |
Unikalny identyfikator |
title |
String! |
Tekst wyświetlany dla opcji |
color |
String! |
Kod koloru hex |
position |
Float! |
Pozycja w kolejności sortowania |
PageInfo
Pole |
Typ |
Opis |
totalItems |
Int |
Łączna liczba pól niestandardowych |
hasNextPage |
Boolean! |
Czy istnieją więcej stron |
hasPreviousPage |
Boolean! |
Czy istnieją poprzednie strony |
endCursor |
String |
Kursor do paginacji (przestarzałe - użyj paginacji opartej na przesunięciu) |
Wymagane uprawnienia
Pola niestandardowe są dostępne w zależności od Twojej roli w projekcie. Jeśli masz niestandardową rolę z ograniczonym dostępem do pól, zwrócone zostaną tylko pola oznaczone jako edytowalne dla Twojej roli.
Rola |
Może wyświetlać pola niestandardowe |
OWNER |
✅ Tak (wszystkie pola) |
ADMIN |
✅ Tak (wszystkie pola) |
MEMBER |
✅ Tak (na podstawie uprawnień roli) |
CLIENT |
✅ Tak (na podstawie uprawnień roli) |
Odpowiedzi błędów
Projekt nie znaleziony
{
"errors": [{
"message": "Project not found.",
"extensions": {
"code": "PROJECT_NOT_FOUND"
}
}]
}
Nieprawidłowy typ pola
{
"errors": [{
"message": "Variable \"$filter\" got invalid value \"INVALID_TYPE\" at \"filter.types[0]\"; Value \"INVALID_TYPE\" does not exist in \"CustomFieldType\" enum.",
"extensions": {
"code": "GRAPHQL_VALIDATION_FAILED"
}
}]
}
Ważne uwagi
- Pola niestandardowe są ograniczone do projektów - musisz określić
projectId
w filtrze
- Parametr
take
jest ograniczony do 500 elementów na żądanie dla wydajności
- Pola są zwracane na podstawie uprawnień użytkownika - niestandardowe role mogą mieć ograniczony dostęp
- Domyślna kolejność sortowania to
position
rosnąco, co odzwierciedla kolejność wyświetlaną w interfejsie użytkownika
- To zapytanie obsługuje filtrowanie pojedynczego projektu - w przypadku zapytań wieloprojektowych użyj zagnieżdżonego interfejsu CustomFieldQueries
- Niektóre typy pól (takie jak FORMUŁA i REFERENCJA) mogą zawierać dodatkowe zagnieżdżone struktury danych
- Pole
editable
wskazuje, czy bieżący użytkownik może modyfikować wartości dla tego pola niestandardowego
Powiązane punkty końcowe