Dokumentacja dla programistów

Osoby

Aktualizacja 2026-09-06

Kolumna osób przypisuje do elementu jednego lub więcej użytkowników albo zespołów. Każdy wpis w tej kolumnie to obiekt PeopleEntity z polami id i kind (person, team lub agent).

Za pomocą API możesz odczytywać i filtrować wartości kolumny osób, aktualizować je i czyścić.

Typ kolumny Typ implementacji Obsługiwane operacje
people PeopleValue
  • Odczyt: tak
  • Filtrowanie: tak
  • Aktualizacja: tak
  • Czyszczenie: tak

Zapytania

Dane z kolumn osób możesz pobierać za pomocą pola column_values obiektu items. Użyj w tym celu wbudowanego fragmentu dla typu PeopleValue.

query {
  items(ids: [1234567890, 9876543210]) {
    name
    column_values {
      ... on PeopleValue {
        id
        text
        persons_and_teams {
          id
          kind
        }
        value
        updated_at
      }
    }
  }
}
const query = `
  query ($itemIds: [ID!]) {
    items(ids: $itemIds) {
      name
      column_values {
        ... on PeopleValue {
          id
          text
          persons_and_teams {
            id
            kind
          }
          value
        }
      }
    }
  }
`;

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

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

Pola

Możesz użyć poniższych pól, aby określić, jakie informacje zwróci implementacja PeopleValue.

Pole Opis
column Column! Kolumna, do której należy wartość.
id ID! Unikalny identyfikator kolumny.
is_leaf Boolean! Określa, czy element nie ma podelementów. Dla elementów nadrzędnych z podelementami zwraca false.
persons_and_teams [PeopleEntity!] Przypisane osoby lub zespoły. Każdy obiekt ma pola id i kind (person, team lub agent).
text String Tekstowa wartość kolumny (nazwy oddzielone przecinkami). Jeśli kolumna jest pusta, zwraca "".
type ColumnType! Typ kolumny (people).
updated_at Date Data ostatniej aktualizacji kolumny.
value JSON Surowa wartość kolumny w formacie JSON. Zawiera tablicę personsAndTeams i znacznik czasu changed_at.

PeopleEntity

Każdy wpis w tablicy persons_and_teams to obiekt PeopleEntity.

Pole Typ Opis
id ID! Unikalny identyfikator osoby lub zespołu.
kind Kind Typ obiektu: person lub team.

Przykładowa odpowiedź

{
  "data": {
    "items": [
      {
        "name": "Design homepage",
        "column_values": [
          {
            "id": "people",
            "text": "Daniel Hai, Roy Mann",
            "persons_and_teams": [
              {
                "id": "48202303",
                "kind": "person"
              },
              {
                "id": "331",
                "kind": "person"
              }
            ],
            "value": "{\"changed_at\":\"2026-03-21T09:03:56.017Z\",\"personsAndTeams\":[{\"id\":48202303,\"kind\":\"person\"},{\"id\":331,\"kind\":\"person\"}]}",
            "updated_at": "2026-03-21T09:03:56+00:00"
          }
        ]
      }
    ]
  }
}

Filtrowanie

Możesz filtrować elementy według wartości w kolumnach osób za pomocą obiektu items_page. Kolumna osób obsługuje następujące operatory:

Operator Wartość porównania Opis
any_of ["person-123456"] lub ["assigned_to_me"] lub ["person-0"] Zwraca elementy przypisane do dowolnej z określonych osób. Użyj formatu "person-{userId}" dla identyfikatorów użytkowników, "assigned_to_me" dla osoby wykonującej wywołanie API lub "person-0" dla pustych wartości.
not_any_of ["person-123456"] lub ["assigned_to_me"] lub ["person-0"] Wyklucza elementy przypisane do dowolnej z określonych osób.
is_empty [] Zwraca elementy, do których nie przypisano żadnej osoby.
is_not_empty [] Zwraca elementy, do których przypisano co najmniej jedną osobę lub zespół.
contains_text Część lub cała nazwa (np. "Daniel") Zwraca elementy, w których nazwa przypisanej osoby zawiera podany tekst.
not_contains_text Część lub cała nazwa Wyklucza elementy, w których nazwa przypisanej osoby zawiera podany tekst.
contains_terms Jedno lub więcej słów kluczowych (np. "Daniel Hai") Dopasowuje nazwy na podstawie słów kluczowych w dowolnej kolejności.
starts_with Ciąg znaków na początku nazwy (np. "Dan") Zwraca elementy, w których nazwa przypisanej osoby zaczyna się od podanego tekstu.
ends_with Ciąg znaków na końcu nazwy (np. "Mann") Zwraca elementy, w których nazwa przypisanej osoby kończy się podanym tekstem.

Operatory any_of i not_any_of wymagają formatu "person-{userId}" dla identyfikatorów użytkowników. Na przykład użyj "person-48202303", a nie "48202303".

Przykłady

Filtrowanie według konkretnej osoby

Ten przykład zwraca elementy przypisane do konkretnego użytkownika.

query {
  boards(ids: 1234567890) {
    items_page(
      query_params: {
        rules: [
          {
            column_id: "people"
            compare_value: ["person-48202303"]
            operator: any_of
          }
        ]
      }
    ) {
      items {
        id
        name
        column_values {
          ... on PeopleValue {
            text
            persons_and_teams {
              id
              kind
            }
          }
        }
      }
    }
  }
}

Filtrowanie według aktualnego użytkownika API

Ten przykład zwraca elementy przypisane do użytkownika wykonującego wywołanie API.

query {
  boards(ids: 1234567890) {
    items_page(
      query_params: {
        rules: [
          {
            column_id: "people"
            compare_value: ["assigned_to_me"]
            operator: any_of
          }
        ]
      }
    ) {
      items {
        id
        name
      }
    }
  }
}

Filtrowanie według tekstu z nazwy

Ten przykład zwraca elementy, w których nazwa przypisanej osoby zawiera tekst „Daniel”.

query {
  boards(ids: 1234567890) {
    items_page(
      query_params: {
        rules: [
          {
            column_id: "people"
            compare_value: "Daniel"
            operator: contains_text
          }
        ]
      }
    ) {
      items {
        id
        name
      }
    }
  }
}

Filtrowanie według pustej kolumny osób

Ten przykład zwraca elementy, do których nie przypisano żadnej osoby.

query {
  boards(ids: 1234567890) {
    items_page(
      query_params: {
        rules: [
          {
            column_id: "people"
            compare_value: []
            operator: is_empty
          }
        ]
      }
    ) {
      items {
        id
        name
      }
    }
  }
}

Mutacje

Aktualizacja wartości

Możesz zaktualizować wartość kolumny osób za pomocą change_simple_column_value lub change_multiple_column_values. W zależności od wybranej mutacji możesz przesłać wartości jako zwykłe ciągi znaków albo obiekty JSON.

Aktualizacja kolumny osób zastępuje wszystkie aktualnie przypisane osoby. Aby dodać osobę bez usuwania pozostałych, najpierw odczytaj bieżącą wartość, a następnie prześlij pełną listę z nową osobą.

change_simple_column_value

Przekaż w polu value ciąg znaków z identyfikatorami użytkowników oddzielonymi przecinkami.

mutation {
  change_simple_column_value(
    item_id: 9876543210
    board_id: 1234567890
    column_id: "people"
    value: "48202303,331"
  ) {
    id
  }
}

change_multiple_column_values

Prześlij identyfikatory osób lub zespołów jako obiekt JSON z tablicą personsAndTeams. Każdy wpis musi zawierać pole id (liczbę całkowitą) i kind ("person" lub "team").

mutation {
  change_multiple_column_values(
    item_id: 9876543210
    board_id: 1234567890
    column_values: "{\"people\": {\"personsAndTeams\": [{\"id\": 48202303, \"kind\": \"person\"}, {\"id\": 51166, \"kind\": \"team\"}]}}"
  ) {
    id
  }
}

Przypisywanie osób podczas tworzenia elementu

Możesz przypisać osoby podczas tworzenia elementu, przekazując wartość kolumny osób w argumencie column_values.

mutation {
  create_item(
    board_id: 1234567890
    item_name: "New task"
    column_values: "{\"people\": {\"personsAndTeams\": [{\"id\": 48202303, \"kind\": \"person\"}]}}"
  ) {
    id
    name
  }
}

Czyszczenie

Możesz wyczyścić kolumnę osób za pomocą change_simple_column_value lub change_multiple_column_values.

change_simple_column_value

Przekaż pusty ciąg znaków w polu value.

mutation {
  change_simple_column_value(
    item_id: 9876543210
    board_id: 1234567890
    column_id: "people"
    value: ""
  ) {
    id
  }
}

change_multiple_column_values

Przekaż null w polu column_values.

mutation {
  change_multiple_column_values(
    item_id: 9876543210
    board_id: 1234567890
    column_values: "{\"people\": null}"
  ) {
    id
  }
}

Odczytywanie konfiguracji kolumny

Aby poznać ustawienia kolumny osób, możesz pobrać 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: ["people"]) {
      id
      title
      settings
    }
  }
}

Struktura odpowiedzi settings

Pole settings zwraca typowany obiekt JSON. W przypadku kolumn osób obiekt ustawień jest zazwyczaj pusty ({}), jeśli używasz konfiguracji domyślnej.

Jeśli ustawienia zostały dostosowane, odpowiedź zawiera następujące klucze:

Klucz Typ Opis
hide_footer boolean Określa, czy ukryć stopkę w komórce kolumny.
max_people_allowed string Maksymalna liczba dozwolonych osób ("0" oznacza brak limitu).

Przykładowa odpowiedź settings

{}

Domyślnie kolumny osób korzystają z pustego obiektu ustawień. Ustawienia max_people_allowed i hide_footer pojawiają się tylko wtedy, gdy zostały jawnie skonfigurowane.


Pobieranie schematu typu kolumny

Możesz programowo pobrać schemat JSON ustawień kolumny osób 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: people
  )
}
{
  "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": {
              "hide_footer": {
                "type": "boolean",
                "description": "Whether to hide the footer"
              },
              "max_people_allowed": {
                "type": "string",
                "description": "Maximum number of people allowed (0 means unlimited)"
              }
            },
            "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ć tych informacji do walidacji ustawień kolumn, dynamicznego generowania interfejsów użytkownika lub przekazywania kontekstu agentom AI. Dowiedz się więcej o formacie odpowiedzi schematu.