Dokumentacja dla programistów

Kolumna zależności

Aktualizacja 2026-09-06

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
  • Odczyt: tak
  • Filtrowanie: tak
  • Aktualizowanie: tak
  • Czyszczenie: tak

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.