Głosowanie
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 |
|
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.