Kolumna zależności
Kolumna zależności pozwala konfigurować zależności między elementami na tej samej tablicy. Zależności możesz wyświetlać w widokach Gantta, wykorzystywać w automatyzacjach i łączyć z logiką osi czasu oraz dat.
Za pomocą API kolumna zależności obsługuje odczyt, filtrowanie, aktualizowanie i czyszczenie wartości.
| Typ kolumny | Typ implementacji | Obsługiwane operacje |
|---|---|---|
dependency |
DependencyValue |
|
Zapytania
Możesz pobierać dane z kolumn zależności za pomocą pola column_values w zapytaniach items, używając fragmentu wbudowanego dla typu DependencyValue.
query {
items(ids: [1234567890, 9876543210]) {
name
column_values(types: dependency) {
... on DependencyValue {
id
display_value
linked_item_ids
linked_items {
id
name
}
updated_at
}
}
}
}
const query = `
query ($itemIds: [ID!], $columnType: [ColumnType!]) {
items(ids: $itemIds) {
name
column_values(types: $columnType) {
... on DependencyValue {
id
display_value
linked_item_ids
linked_items {
id
name
}
updated_at
}
}
}
}
`;
const variables = {
itemIds: [1234567890, 9876543210],
columnType: "dependency",
};
const response = await mondayApiClient.request(query, variables);
Pola
Możesz użyć następujących pól, aby określić, jakie informacje zwróci implementacja DependencyValue.
| Pole | Opis |
|---|---|
column Column! |
Kolumna, do której należy wartość. |
display_value String! |
Nazwy elementów, od których zależy ten element, oddzielone przecinkami. Zwraca pusty ciąg, jeśli nie ustawiono żadnych zależności. |
id ID! |
Unikalny identyfikator kolumny zależności. |
is_leaf Boolean! |
Informacja, czy element nie ma podelementów. |
linked_item_ids [ID!]! |
Unikalne identyfikatory elementów, od których zależy ten element. Zwraca pustą tablicę, jeśli nie ustawiono żadnych zależności. |
linked_items [Item!]! |
Elementy, od których zależy ten element. Zwraca pustą tablicę, jeśli nie ustawiono żadnych zależności. |
text String |
Zawsze zwraca null. Zamiast tego użyj display_value. |
type ColumnType! |
Typ kolumny (dependency). |
updated_at Date |
Data ostatniej aktualizacji kolumny. Zwraca null, jeśli wartość nigdy nie była ustawiana. |
value JSON |
Zawsze zwraca null. Zamiast tego użyj linked_items i linked_item_ids. |
Przykładowa odpowiedź
{
"data": {
"items": [
{
"name": "Launch website",
"column_values": [
{
"id": "dependent_on",
"display_value": "Design review, Content approval",
"linked_item_ids": ["1234567891", "1234567892"],
"linked_items": [
{ "id": "1234567891", "name": "Design review" },
{ "id": "1234567892", "name": "Content approval" }
],
"updated_at": "2026-03-20T12:00:00+00:00"
}
]
}
]
}
}
Pola text i value zawsze zwracają null w przypadku kolumn zależności. Użyj linked_item_ids lub linked_items, aby pobrać dane o zależnościach, a display_value, aby uzyskać czytelne dla użytkownika podsumowanie.
Typ relacji zależności (koniec–początek, początek–początek, koniec–koniec, początek–koniec) możesz konfigurować dla każdej zależności w interfejsie monday.com, ale obecnie nie jest on udostępniany przez API. DependencyValue zwraca tylko informacje o tym, które elementy są połączone - nie zwraca typu relacji między nimi.
Filtrowanie
Możesz filtrować elementy według wartości zależności za pomocą obiektu items_page. Kolumna zależności obsługuje następujące operatory:
| Operator | Wartość porównania | Opis |
|---|---|---|
any_of |
Tablica identyfikatorów elementów (np. [1234567890]) |
Zwraca elementy, które zależą od dowolnego z podanych elementów. |
not_any_of |
Tablica identyfikatorów elementów (np. [1234567890]) |
Zwraca elementy, które nie zależą od żadnego z podanych elementów. |
is_empty |
[] |
Zwraca elementy, dla których nie ustawiono żadnych zależności. |
is_not_empty |
[] |
Zwraca elementy, dla których ustawiono co najmniej jedną zależność. |
Przykłady
Filtrowanie według identyfikatora elementu, od którego zależy element
Ten przykład zwraca wszystkie elementy, które zależą od elementu 9876543210.
query {
boards(ids: 1234567890) {
items_page(
query_params: {
rules: [
{
column_id: "dependent_on"
compare_value: [9876543210]
operator: any_of
}
]
}
) {
items {
id
name
}
}
}
}
const query = `
query ($boardId: [ID!], $columnId: ID!, $operator: ItemsQueryRuleOperator!, $compareValue: CompareValue!) {
boards(ids: $boardId) {
items_page(
query_params: {
rules: [
{ column_id: $columnId, compare_value: $compareValue, operator: $operator }
]
}
) {
items { id name }
}
}
}
`;
const variables = {
boardId: 1234567890,
columnId: "dependent_on",
compareValue: [9876543210],
operator: "any_of",
};
const response = await mondayApiClient.request(query, variables);
Wykluczanie elementów według zależności
Ten przykład zwraca wszystkie elementy, które nie zależą od elementu 9876543210.
query {
boards(ids: 1234567890) {
items_page(
query_params: {
rules: [
{
column_id: "dependent_on"
compare_value: [9876543210]
operator: not_any_of
}
]
}
) {
items {
id
name
}
}
}
}
Filtrowanie elementów z zależnościami
query {
boards(ids: 1234567890) {
items_page(
query_params: {
rules: [
{
column_id: "dependent_on"
compare_value: []
operator: is_not_empty
}
]
}
) {
items {
id
name
}
}
}
}
Mutacje
Aktualizowanie
Możesz zaktualizować kolumnę zależności za pomocą change_multiple_column_values, przekazując obiekt JSON w polu column_values.
W obiekcie podaj tablicę item_ids zawierającą identyfikatory elementów, od których zależy ten element. Identyfikatory powinny być ciągami znaków.
Mutacja change_simple_column_value nie jest obsługiwana w przypadku kolumn zależności. Użyj change_multiple_column_values.
mutation {
change_multiple_column_values(
item_id: 9876543210
board_id: 1234567890
column_values: "{\"dependent_on\": {\"item_ids\": [\"1234567891\", \"1234567892\"]}}"
) {
id
}
}
const query = `
mutation ($boardId: ID!, $itemId: ID!, $columnValues: JSON!) {
change_multiple_column_values(
item_id: $itemId
board_id: $boardId
column_values: $columnValues
) {
id
}
}
`;
const variables = {
boardId: 1234567890,
itemId: 9876543210,
columnValues: JSON.stringify({
dependent_on: {
item_ids: ["1234567891", "1234567892"]
}
}),
};
const response = await mondayApiClient.request(query, variables);
Aktualizacja kolumny zależności zastępuje całą listę zależności. Aby dodać nową zależność bez usuwania istniejących, najpierw pobierz bieżące wartości linked_item_ids, dodaj do nich nowy identyfikator, a następnie prześlij całą listę.
Ustawianie podczas tworzenia elementu
Możesz ustawić wartości zależności podczas tworzenia elementu, przekazując wartość kolumny zależności w argumencie column_values.
mutation {
create_item(
board_id: 1234567890
item_name: "New task"
column_values: "{\"dependent_on\": {\"item_ids\": [\"9876543210\"]}}"
) {
id
name
}
}
Czyszczenie
Możesz wyczyścić kolumnę zależności za pomocą change_multiple_column_values, przekazując null lub pusty obiekt {} w polu column_values.
mutation {
change_multiple_column_values(
item_id: 9876543210
board_id: 1234567890
column_values: "{\"dependent_on\": null}"
) {
id
}
}
const query = `
mutation ($boardId: ID!, $itemId: ID!, $columnValues: JSON!) {
change_multiple_column_values(
item_id: $itemId
board_id: $boardId
column_values: $columnValues
) {
id
}
}
`;
const variables = {
boardId: 1234567890,
itemId: 9876543210,
columnValues: JSON.stringify({
dependent_on: null
}),
};
const response = await mondayApiClient.request(query, variables);
Odczytywanie konfiguracji kolumny
Aby sprawdzić ustawienia kolumny zależności, możesz pobrać je za pomocą pola settings kolumny.
Pole settings_str jest przestarzałe od wersji API 2025-10. Zamiast niego użyj typowanego obiektu settings, który zwraca uporządkowany obiekt JSON, a nie ciąg znaków zakodowany w formacie JSON.
query {
boards(ids: 1234567890) {
columns(ids: ["dependent_on"]) {
id
title
type
settings
}
}
}
Struktura odpowiedzi settings
Pole settings zwraca typowany obiekt JSON z następującymi kluczami:
| Klucz | Typ | Opis |
|---|---|---|
boardIds |
number[] |
Tablica identyfikatorów tablic, do których odwołuje się kolumna zależności. Zazwyczaj zawiera identyfikator bieżącej tablicy. |
dependencyNewInfra |
boolean |
Informacja, czy kolumna korzysta z nowej infrastruktury zależności. |
allowMultipleItems |
boolean |
Informacja, czy kolumna pozwala ustawić wiele zależnych elementów. |
dependency_mode |
string |
Określa, jak powiązane kolumny daty lub osi czasu reagują na zmiany zależności. Dostępne wartości: flexible, strict lub no_action. Szczegóły znajdziesz w sekcji Tryby zależności. |
Przykładowa odpowiedź settings
{
"boardIds": [1234567890],
"dependencyNewInfra": true,
"allowMultipleItems": true,
"dependency_mode": "flexible"
}
Tryby zależności
Ustawienie dependency_mode określa, jak kolumna zależności wpływa na powiązaną kolumnę Date lub Timeline na tej samej tablicy po oznaczeniu zależności jako ukończonej.
| Tryb | Opis |
|---|---|
flexible |
Powiązana data lub oś czasu przesuwa się automatycznie, ale może częściowo pokrywać się z elementem poprzedzającym. |
strict |
Powiązana data lub oś czasu przesuwa się automatycznie i wymusza ścisłą kolejność - element zależny nie może rozpocząć się, dopóki poprzedzający go element nie zostanie w pełni ukończony. |
no_action |
Zmiana stanu zależności nie powoduje automatycznych zmian dat ani osi czasu. |
Ustawienie dependency_mode działa tylko wtedy, gdy tablica zawiera kolumnę Date lub Timeline. Jeśli tablica nie ma żadnej z tych kolumn, zachowuje się tak, jakby tryb miał wartość no_action, niezależnie od ustawienia.
Pobieranie schematu typu kolumny
Możesz programowo pobrać schemat JSON ustawień kolumny zależności za pomocą zapytania get_column_type_schema. Zwraca ono strukturę, reguły walidacji i dostępne właściwości konfiguracji kolumny.
query {
get_column_type_schema(
type: dependency
)
}
{
"data": {
"get_column_type_schema": {
"schema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"settings": {
"type": "object",
"description": "Column specific settings",
"properties": {
"boardIds": {
"type": "array",
"description": "Array of board IDs for dependencies",
"items": {
"type": "integer"
}
},
"dependencyNewInfra": {
"type": "boolean",
"description": "Whether to use new dependency infrastructure"
},
"allowMultipleItems": {
"type": "boolean",
"description": "Whether to allow multiple items"
},
"boardId": {
"type": "integer",
"description": "Primary board ID for the dependency"
},
"dependency_mode": {
"type": "string",
"enum": ["flexible", "strict", "no_action"],
"description": "Controls automatic date/timeline adjustments when dependencies change"
}
},
"additionalProperties": false
}
}
}
}
}
}
Odpowiedź zawiera nazwy właściwości, typy, ograniczenia (takie jak maksymalna długość i dozwolone wartości) oraz opisy poszczególnych ustawień. Możesz użyć schematu, aby sprawdzać poprawność ustawień kolumny, dynamicznie generować interfejsy użytkownika lub przekazywać kontekst agentom AI. Więcej informacji o formacie odpowiedzi schematu.