Dokumentacja dla programistów

Tydzień

Aktualizacja 2026-09-06

Kolumna tygodnia reprezentuje zakres dat obejmujący tydzień. Daty początkowa i końcowa są dostosowywane do ustawienia pierwszego dnia tygodnia skonfigurowanego na koncie monday.com.

Za pomocą API można odczytywać i filtrować wartości kolumny tygodnia, a także tworzyć je, aktualizować i usuwać.

Typ kolumny Typ implementacji Obsługiwane operacje
week WeekValue
  • Odczyt: tak
  • Filtrowanie: tak
  • Tworzenie: tak
  • Aktualizowanie: tak
  • Usuwanie: tak

Zapytania

Kolumny tygodnia można odczytywać za pomocą pola column_values obiektu items, korzystając z wbudowanego fragmentu dla WeekValue.

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

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 WeekValue.

Pole Opis
column Column! Kolumna, do której należy ta wartość.
end_date Date Data końcowa tygodnia. Zwraca null, jeśli nie ustawiono tygodnia.
id ID! Unikalny identyfikator kolumny.
start_date Date Data początkowa tygodnia. Zwraca null, jeśli nie ustawiono tygodnia.
text String Zakres tygodnia w postaci tekstu (np. "2026-03-16 - 2026-03-22"). Zwraca "", jeśli pole jest puste.
type ColumnType! Typ kolumny (week).
value JSON Surowa wartość kolumny w postaci ciągu JSON. Zawiera obiekt week z polami startDate i endDate.

Przykładowa odpowiedź

{
  "data": {
    "items": [
      {
        "name": "Sprint 12",
        "column_values": [
          {
            "id": "week",
            "start_date": "2026-03-16",
            "end_date": "2026-03-22",
            "text": "2026-03-16 - 2026-03-22",
            "value": "{\"week\":{\"startDate\":\"2026-03-16\",\"endDate\":\"2026-03-22\"}}"
          }
        ]
      }
    ]
  }
}

Filtrowanie

Możesz filtrować elementy według wartości tygodnia za pomocą obiektu items_page. Kolumna tygodnia obsługuje filtrowanie według względnego okresu oraz filtrowanie pustych i niepustych wartości.

Operator Wartość porównawcza Opis
any_of Tablica identyfikatorów względnych tygodni Zwraca elementy, których tydzień pasuje do dowolnego z określonych okresów. Zobacz wartości porównawcze poniżej.
not_any_of Tablica identyfikatorów względnych tygodni Wyklucza elementy, których tydzień pasuje do któregokolwiek z określonych okresów.
is_empty [] Zwraca elementy, dla których nie ustawiono wartości tygodnia.
is_not_empty [] Zwraca elementy, dla których ustawiono wartość tygodnia.

Wartości porównawcze

Wartość Opis
"THIS_WEEK" Bieżący tydzień
"NEXT_WEEKS" Wszystkie nadchodzące tygodnie
"PAST_WEEKS" Wszystkie poprzednie tygodnie

Przykłady

Filtrowanie według bieżącego tygodnia

query {
  boards(ids: 1234567890) {
    items_page(
      query_params: {
        rules: [
          {
            column_id: "week"
            compare_value: ["THIS_WEEK"]
            operator: any_of
          }
        ]
      }
    ) {
      items {
        id
        name
        column_values {
          ... on WeekValue {
            start_date
            end_date
          }
        }
      }
    }
  }
}

Filtrowanie według minionych tygodni

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

Mutacje

Tworzenie

Wymagany zakres uprawnień: boards:write

Mutacja create_column tworzy nową kolumnę tygodnia za pomocą API.

mutation {
  create_column(
    board_id: 1234567890
    title: "Sprint Week"
    column_type: week
  ) {
    id
    title
    type
  }
}

Aktualizowanie wartości

Możesz zaktualizować kolumnę tygodnia za pomocą mutacji change_multiple_column_values. Przekaż obiekt JSON z polami startDate i endDate w formacie YYYY-MM-DD.

Daty muszą obejmować dokładnie jeden tydzień (7 dni), a startDate musi być zgodne z ustawieniem pierwszego dnia tygodnia na koncie. Jeśli daty nie tworzą prawidłowego tygodnia, API zwróci błąd.

change_multiple_column_values

mutation {
  change_multiple_column_values(
    item_id: 9876543210
    board_id: 1234567890
    column_values: "{\"week\": {\"week\": {\"startDate\": \"2026-03-16\", \"endDate\": \"2026-03-22\"}}}"
  ) {
    id
    name
  }
}
const query = `
  mutation ($boardId: ID!, $itemId: ID!, $columnValues: JSON!) {
    change_multiple_column_values(
      board_id: $boardId
      item_id: $itemId
      column_values: $columnValues
    ) {
      id
      name
    }
  }
`;

const variables = {
  boardId: 1234567890,
  itemId: 9876543210,
  columnValues: JSON.stringify({
    week: {
      week: {
        startDate: "2026-03-16",
        endDate: "2026-03-22"
      }
    }
  })
};

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

Ustawianie tygodnia podczas tworzenia elementu

Możesz ustawić wartość tygodnia podczas tworzenia elementu, przekazując wartość kolumny tygodnia w argumencie column_values.

mutation {
  create_item(
    board_id: 1234567890
    item_name: "Sprint 12"
    column_values: "{\"week\": {\"week\": {\"startDate\": \"2026-03-16\", \"endDate\": \"2026-03-22\"}}}"
  ) {
    id
    name
  }
}

Usuwanie wartości

Możesz wyczyścić kolumnę tygodnia za pomocą mutacji change_multiple_column_values, przekazując null lub pusty obiekt.

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

Odczytywanie konfiguracji kolumny

Aby odczytać konfigurację kolumny tygodnia, pobierz jej ustawienia za pomocą pola settings kolumny.

Pole settings_str jest przestarzałe od wersji API 2025-10. Użyj typowanego obiektu settings, który zwraca ustrukturyzowany JSON, a nie ciąg zakodowany w formacie JSON.

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

Struktura odpowiedzi settings

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

Klucz Typ Opis
color string Kod koloru w formacie szesnastkowym, używany do wyświetlania kolumny tygodnia (np. "#037f4c"). Musi składać się dokładnie z 7 znaków.

Przykładowa odpowiedź settings

{
  "color": "#037f4c"
}

Pobieranie schematu typu kolumny

Możesz programowo pobrać schemat JSON ustawień kolumny tygodnia 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: week
  )
}
{
  "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 week column display (e.g., #037f4c)",
                "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. Więcej informacji o formacie odpowiedzi schematu.