Dokumentacja dla programistów

Kolumna lustrzana

Aktualizacja 2026-09-06

Kolumna lustrzana wyświetla wartości z innej tablicy za pośrednictwem połączonego elementu. Dzięki temu możesz wyświetlać dane z połączonych tablic bez ich powielania i łatwo sprawdzać istotne informacje z wielu tablic w jednym widoku.

Za pomocą API możesz odczytywać i tworzyć kolumny lustrzane. Ich wartości nie mogą być bezpośrednio aktualizowane ani czyszczone - odzwierciedlają wartość kolumny źródłowej na połączonej tablicy. Filtrowanie wyświetlanych w nich treści nie jest obsługiwane.

Typ kolumny Typ implementacji Obsługiwane operacje
mirror MirrorValue
  • Odczyt: Tak
  • Filtrowanie: Nie
  • Tworzenie: Tak
  • Aktualizacja: Nie
  • Czyszczenie: Nie

Zapytania

Kolumny lustrzane możesz odpytywać za pomocą pola column_values w items, używając wbudowanego fragmentu dla MirrorValue.

query {
  items(ids: [1234567890, 9876543210]) {
    name
    column_values {
      ... on MirrorValue {
        id
        display_value
        mirrored_items {
          linked_item {
            id
            name
          }
          mirrored_value {
            ... on StatusValue {
              label
              index
            }
            ... on TextValue {
              text
            }
          }
        }
      }
    }
  }
}
const query = `
  query ($itemIds: [ID!]) {
    items(ids: $itemIds) {
      name
      column_values {
        ... on MirrorValue {
          id
          display_value
          mirrored_items {
            linked_item {
              id
              name
            }
            mirrored_value {
              ... on StatusValue {
                label
              }
              ... on TextValue {
                text
              }
            }
          }
        }
      }
    }
  }
`;

const variables = { itemIds: [1234567890, 9876543210] };

const response = await mondayApiClient.request(query, variables);

Użyj display_value, aby szybko uzyskać tekstowe podsumowanie wyświetlanych treści. Użyj mirrored_items wraz z wbudowanymi fragmentami pola mirrored_value, aby uzyskać pełną, typowaną wartość z kolumny źródłowej.

Pola

Możesz użyć następujących pól, aby określić, jakie informacje zwróci implementacja MirrorValue.

Pole Opis
column Column! Kolumna, do której należy wartość.
display_value String! Wyświetlana treść w postaci ciągu tekstowego, w którym wartości są oddzielone przecinkami.
id ID! Unikatowy identyfikator kolumny.
mirrored_items [MirroredItem!]! Połączone elementy i ich wyświetlane wartości. Zobacz MirroredItem poniżej.
text String Zwraca null. Zamiast tego użyj display_value.
type ColumnType! Typ kolumny.
value JSON Zwraca null. Zamiast tego użyj mirrored_items.

MirroredItem

Każdy MirroredItem reprezentuje jeden połączony element i jego wyświetlaną wartość.

Pole Opis
linked_board Board! Tablica, do której należy połączony element.
linked_board_id ID! Unikatowy identyfikator połączonej tablicy.
linked_item Item! Połączony element.
mirrored_value MirroredValue Wartość z kolumny źródłowej, zwracana jako typ unii obejmujący wszystkie typy wartości kolumn. Użyj wbudowanych fragmentów, aby uzyskać dostęp do pól właściwych dla danego typu.

MirroredValue

MirroredValue to typ unii, który może przyjmować dowolny typ wartości kolumny (np. StatusValue, TextValue czy NumbersValue). Użyj wbudowanych fragmentów, aby uzyskać dostęp do pól właściwych dla danego typu:

mirrored_value {
  ... on StatusValue {
    label
    index
  }
  ... on NumbersValue {
    number
  }
  ... on DateValue {
    date
    time
  }
}

Przykładowa odpowiedź

{
  "data": {
    "items": [
      {
        "name": "Task A",
        "column_values": [
          {
            "id": "mirror",
            "display_value": "Done, Working on it",
            "mirrored_items": [
              {
                "linked_item": {
                  "id": "9876543210",
                  "name": "Linked Task 1"
                },
                "mirrored_value": {
                  "label": "Done",
                  "index": 1
                }
              },
              {
                "linked_item": {
                  "id": "9876543211",
                  "name": "Linked Task 2"
                },
                "mirrored_value": {
                  "label": "Working on it",
                  "index": 0
                }
              }
            ]
          }
        ]
      }
    ]
  }
}

Mutacje

Tworzenie

Wymagany zakres uprawnień: boards:write

Możesz utworzyć kolumnę lustrzaną za pomocą ogólnej mutacji create_column, ustawiając column_type: mirror. Argument defaults określa konfigurację kolumny lustrzanej, w tym kolumnę Połącz tablice (Connect boards), która ma być użyta, oraz kolumny z połączonej tablicy, które mają być wyświetlane.

mutation {
  create_column(
    board_id: 1234567890
    title: "Linked Status"
    column_type: mirror
    defaults: "{\"settings\": {\"relation_column\": {\"board_relation\": true}, \"displayed_linked_columns\": [{\"board_id\": \"9876543210\", \"column_ids\": [\"status\"]}]}}"
  ) {
    id
    title
    type
    settings
  }
}

Pola konfiguracji

Obiekt JSON defaults przyjmuje następujące ustawienia:

Pole Typ Opis
relation_column Object Przypisuje wartość true do identyfikatora kolumny Połącz tablice. Określa, która kolumna relacji między tablicami udostępnia połączone elementy. Np. {"board_relation": true}.
displayed_linked_columns Array Tablica obiektów określających, które kolumny z każdej połączonej tablicy mają być wyświetlane. Każdy obiekt zawiera board_id (ciąg znaków) i column_ids (tablicę ciągów znaków z identyfikatorami kolumn).
sumType String Typ agregacji dla lustrzanych kolumn statusu. Wartości: "doneOnly" (wyświetla procent ukończonych elementów) lub "allStatuses" (wyświetla liczbę elementów o każdym statusie).
calcType String Typ obliczeń dla lustrzanych kolumn daty. Wartości: "earliestToLatest", "earliest" lub "latest".

Odczytywanie konfiguracji kolumny

Aby pobrać ustawienia kolumny lustrzanej, odpytaj jej pole settings.

Pole settings_str jest przestarzałe od wersji API 2025-10. Zamiast niego użyj typowanego obiektu settings, który zwraca uporządkowane dane JSON, a nie ciąg znaków zakodowany w formacie JSON.

query {
  boards(ids: 1234567890) {
    columns(ids: ["mirror"]) {
      id
      title
      settings
    }
  }
}

Struktura odpowiedzi settings

Pole settings zwraca typowany obiekt JSON z następującymi kluczami:

Klucz Typ Opis
relation_column Object Przypisuje wartość true do identyfikatora kolumny Połącz tablice.
displayed_linked_columns Array Tablica obiektów zawierających board_id i column_ids, które określają wyświetlane kolumny.
sumType String Typ agregacji dla lustrzanych kolumn statusu, jeśli został skonfigurowany.
calcType String Typ obliczeń dla lustrzanych kolumn daty, jeśli został skonfigurowany.

Przykładowa odpowiedź settings

{
  "relation_column": {
    "board_relation": true
  },
  "displayed_linked_columns": [
    {
      "board_id": "9876543210",
      "column_ids": ["status", "date"]
    }
  ]
}

Pobieranie schematu typu kolumny

Możesz pobrać programowo schemat JSON ustawień kolumny lustrzanej 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: mirror
  )
}
{
  "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": {
              "relation_column": {
                "type": "object",
                "description": "Map of relation-column ID to a boolean flag",
                "additionalProperties": {
                  "type": "boolean"
                }
              },
              "displayed_linked_columns": {
                "type": "array",
                "description": "Array of entries mapping a linked board to the columns to display",
                "items": {
                  "type": "object",
                  "properties": {
                    "board_id": { "type": "string" },
                    "column_ids": {
                      "type": "array",
                      "items": { "type": "string" }
                    }
                  },
                  "required": ["board_id", "column_ids"],
                  "additionalProperties": false
                }
              },
              "sumType": {
                "type": "string",
                "description": "Aggregation type for status summaries",
                "enum": ["doneOnly", "allStatuses"]
              },
              "calcType": {
                "type": "string",
                "description": "Calculation type for linked date aggregation",
                "enum": ["earliestToLatest", "earliest", "latest"]
              }
            },
            "additionalProperties": false
          }
        }
      }
    }
  }
}

Odpowiedź zawiera nazwy właściwości, ich typy, ograniczenia (np. maksymalną długość i dozwolone wartości) oraz opisy poszczególnych ustawień. Możesz użyć tych informacji do walidacji ustawień kolumn, dynamicznego generowania interfejsów lub przekazywania kontekstu agentom AI. Dowiedz się więcej o formacie odpowiedzi schematu.