Dokumentacja dla programistów

Głosowanie

Aktualizacja 2026-09-06

Kolumna głosowania umożliwia subskrybentom tablicy i członkom zespołu głosowanie na elementy. Głosy oddaje się w interfejsie monday.com - API zapewnia dostęp do danych o głosach tylko do odczytu i obsługuje filtrowanie.

Za pomocą API kolumna głosowania obsługuje odczyt i filtrowanie.

Typ kolumny Typ implementacji Obsługiwane operacje
vote VoteValue
  • Odczyt: Tak
  • Filtrowanie: Tak
  • Tworzenie kolumny: Tak
  • Aktualizowanie: Nie
  • Czyszczenie: Nie

Zapytania

Kolumny głosowania można odczytywać za pomocą pola column_values w zapytaniach items, używając wbudowanego fragmentu dla VoteValue.

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

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

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

Pola

Za pomocą poniższych pól możesz określić, jakie informacje zwróci implementacja VoteValue.

Pole Opis
column Column! Kolumna, do której należy wartość.
id ID! Unikalny identyfikator kolumny.
text String Wartość kolumny w postaci tekstu. Zwraca liczbę głosów jako ciąg znaków (np. "3"). Jeśli nie ma głosów, zwraca "0".
type ColumnType! Typ kolumny (vote).
updated_at Date Data ostatniej aktualizacji kolumny. Zwraca null, jeśli kolumna nie ma głosów.
value JSON Surowa wartość kolumny w formacie JSON. Zwraca null, jeśli nie ma głosów.
vote_count Int! Łączna liczba głosów oddanych na element.
voter_ids [ID!]! Unikalne identyfikatory użytkowników, którzy oddali głos.
voters [User!]! Użytkownicy, którzy oddali głos. Zwraca pełne obiekty użytkowników, w tym id, name, email itd.

Przykładowa odpowiedź

{
  "data": {
    "items": [
      {
        "name": "Feature request",
        "column_values": [
          {
            "id": "vote",
            "vote_count": 3,
            "voter_ids": ["12345", "67890", "11111"],
            "voters": [
              { "id": "12345", "name": "Alice" },
              { "id": "67890", "name": "Bob" },
              { "id": "11111", "name": "Charlie" }
            ],
            "text": "3",
            "value": "{\"voter_ids\":[12345,67890,11111],\"changed_at\":\"2026-03-21T10:00:00.000Z\"}",
            "updated_at": "2026-03-21T10:00:00Z"
          }
        ]
      }
    ]
  }
}

Jeśli w kolumnie głosowania nie ma głosów, vote_count zwraca 0, voter_ids i voters zwracają puste tablice, text zwraca "0", a pola value i updated_at zwracają null.


Filtrowanie

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

Operator Wartość porównania Opis
any_of Tablica identyfikatorów użytkowników (np. [12345]) lub ["No votes"] Zwraca elementy, na które zagłosował którykolwiek ze wskazanych użytkowników. Jeśli przekażesz "No votes", zwraca elementy bez głosów.
not_any_of Tablica identyfikatorów użytkowników (np. [12345]) lub ["No votes"] Pomija elementy, na które zagłosował którykolwiek ze wskazanych użytkowników. Jeśli przekażesz "No votes", pomija elementy bez głosów.
is_empty [] Zwraca elementy bez głosów.
is_not_empty [] Zwraca elementy, na które oddano co najmniej jeden głos.

Przykłady

Filtrowanie według głosującego

Poniższy przykład zwraca wszystkie elementy, na które zagłosował użytkownik 12345.

query {
  boards(ids: 1234567890) {
    items_page(
      query_params: {
        rules: [
          {
            column_id: "vote"
            compare_value: [12345]
            operator: any_of
          }
        ]
      }
    ) {
      items {
        id
        name
        column_values {
          ... on VoteValue {
            vote_count
            voter_ids
          }
        }
      }
    }
  }
}

Filtrowanie elementów bez głosów

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

Filtrowanie elementów z co najmniej jednym głosem

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

Mutacje

Tworzenie kolumny

Wymagany zakres uprawnień: boards:write

Możesz utworzyć kolumnę głosowania za pomocą ogólnej mutacji create_column. Nie ma osobnej mutacji create_vote_column.

mutation {
  create_column(
    board_id: 1234567890
    column_type: vote
    title: "Feature Votes"
    description: "Vote on features you want prioritized."
  ) {
    id
    title
    description
  }
}

Opcjonalnie możesz przekazać niestandardowy kolor wyświetlania w argumencie defaults:

mutation {
  create_column(
    board_id: 1234567890
    column_type: vote
    title: "Feature Votes"
    defaults: "{\"settings\":{\"color\":\"#ff642e\"}}"
  ) {
    id
    title
    settings
  }
}

Aktualizowanie wartości

Kolumna głosowania nie obsługuje aktualizowania wartości za pomocą API. Głosy można oddawać tylko w interfejsie monday.com. Próba użycia change_simple_column_value zwróci błąd: "column type VotesColumn is not supporting changing the column value with simple column value". Mutacja change_multiple_column_values przyjmuje żądanie i modyfikuje surową wartość JSON w polu value, ale nie zmienia właściwych pól dotyczących głosów (vote_count, voter_ids, voters).

Czyszczenie wartości

Kolumna głosowania nie obsługuje czyszczenia wartości za pomocą API.


Odczytywanie konfiguracji kolumny

Aby pobrać ustawienie koloru wyświetlania kolumny głosowania, odczytaj pole 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: ["vote"]) {
      id
      title
      settings
    }
  }
}

Struktura odpowiedzi settings

Pole settings zwraca typowany obiekt JSON zawierający następujące klucze:

Klucz Typ Opis
color string Kod koloru kolumny głosowania w formacie szesnastkowym (np. "#ff642e"). Jest obecny tylko wtedy, gdy ustawiono niestandardowy kolor.

Przykładowa odpowiedź settings

Gdy nie ustawiono niestandardowego koloru:

{}

Gdy ustawiono niestandardowy kolor:

{
  "color": "#ff642e"
}

Pobieranie schematu typu kolumny

Możesz programowo pobrać schemat JSON ustawień kolumny głosowania 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: vote
  )
}
{
  "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": {
              "color": {
                "type": "string",
                "description": "Hex color code for the votes column display (e.g., #fdab3d)",
                "minLength": 7,
                "maxLength": 7
              }
            },
            "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 jej użyć do walidowania ustawień kolumn, dynamicznego generowania interfejsów lub przekazywania kontekstu agentom AI. Dowiedz się więcej o formacie odpowiedzi schematu.