Śledzenie czasu
Kolumna śledzenia czasu zapisuje łączny czas poświęcony na element. Dzięki niej zespoły mogą śledzić czas pracy podczas wielu sesji. Użytkownicy mogą uruchamiać i zatrzymywać licznik. Kolumna przechowuje pełną historię sesji śledzenia czasu.
Za pomocą API kolumna śledzenia czasu obsługuje odczyt, filtrowanie i tworzenie. Wartości licznika czasu nie można bezpośrednio zaktualizować ani wyczyścić za pomocą API.
| Typ kolumny | Typ implementacji | Obsługiwane operacje |
|---|---|---|
time_tracking |
TimeTrackingValue |
|
Zapytania
Kolumny śledzenia czasu można odpytywać za pomocą pola column_values obiektu items. W tym celu użyj wbudowanego fragmentu dla TimeTrackingValue.
query {
items(ids: [1234567890, 9876543210]) {
name
column_values {
... on TimeTrackingValue {
id
duration
running
started_at
updated_at
history {
id
status
started_at
ended_at
started_user_id
ended_user_id
created_at
}
}
}
}
}
const query = `
query ($itemIds: [ID!]) {
items(ids: $itemIds) {
name
column_values {
... on TimeTrackingValue {
id
duration
running
started_at
updated_at
history {
id
status
started_at
ended_at
started_user_id
}
}
}
}
}
`;
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 TimeTrackingValue.
| Pole | Opis |
|---|---|
column Column! |
Kolumna, do której należy wartość. |
duration Int |
Łączny czas śledzony podczas wszystkich sesji, podany w sekundach. Zwraca 0, jeśli nie śledzono czasu. |
history [TimeTrackingHistoryItem!]! |
Tablica rekordów sesji śledzenia czasu. Zobacz niżej pola historii. |
id ID! |
Unikalny identyfikator kolumny. |
running Boolean |
Informuje, czy licznik czasu jest uruchomiony. Zwraca false, jeśli nigdy go nie uruchomiono lub jest wstrzymany. |
started_at Date |
Data rozpoczęcia bieżącej sesji. Zwraca null, jeśli licznik nie działa. |
text String |
Łączny czas w postaci tekstu (np. "02:30:00"). Zwraca "", jeśli nie śledzono czasu. |
type ColumnType! |
Typ kolumny (time_tracking). |
updated_at Date |
Data ostatniej aktualizacji wartości kolumny. |
value JSON |
Surowa wartość kolumny w postaci ciągu JSON. |
Pola historii
Każdy wpis w tablicy history reprezentuje pojedynczą sesję śledzenia czasu (TimeTrackingHistoryItem).
| Pole | Opis |
|---|---|
id ID! |
Unikalny identyfikator sesji. |
status String! |
Status sesji (np. "active", "stopped"). |
started_at Date |
Data rozpoczęcia sesji. Pole jest dostępne tylko wtedy, gdy sesję uruchomiono przyciskiem odtwarzania lub za pomocą automatyzacji. |
ended_at Date |
Data zakończenia sesji. Pole jest dostępne tylko w przypadku zakończonych sesji. |
started_user_id ID |
Identyfikator użytkownika, który rozpoczął sesję. |
ended_user_id ID |
Identyfikator użytkownika, który zakończył sesję. |
created_at Date! |
Data utworzenia rekordu sesji. |
updated_at Date |
Data ostatniej aktualizacji sesji. |
manually_entered_start_date Boolean! |
Informuje, czy datę rozpoczęcia wpisano ręcznie. |
manually_entered_start_time Boolean! |
Informuje, czy godzinę rozpoczęcia wpisano ręcznie. |
manually_entered_end_date Boolean! |
Informuje, czy datę zakończenia wpisano ręcznie. |
manually_entered_end_time Boolean! |
Informuje, czy godzinę zakończenia wpisano ręcznie. |
Przykładowa odpowiedź
{
"data": {
"items": [
{
"name": "Design Review",
"column_values": [
{
"id": "time_tracking",
"duration": 5400,
"running": false,
"started_at": null,
"updated_at": "2026-03-20T14:30:00Z",
"history": [
{
"id": "abc123",
"status": "stopped",
"started_at": "2026-03-20T10:00:00Z",
"ended_at": "2026-03-20T11:30:00Z",
"started_user_id": "1234567",
"ended_user_id": "1234567",
"created_at": "2026-03-20T10:00:00Z"
}
]
}
]
}
]
}
}
Filtrowanie
Możesz filtrować elementy według stanu śledzenia czasu za pomocą obiektu items_page. Filtr sprawdza, czy licznik czasu jest uruchomiony.
| Operator | Wartość porównania | Opis |
|---|---|---|
any_of |
Tablica wartości stanu | Zwraca elementy pasujące do określonego stanu licznika czasu. Zobacz niżej wartości porównania. |
not_any_of |
Tablica wartości stanu | Wyklucza elementy pasujące do określonego stanu licznika czasu. |
Wartości porównania
| Wartość | Opis |
|---|---|
1 |
Licznik czasu jest wstrzymany lub pusty (nie działa) |
2 |
Licznik czasu jest uruchomiony |
Przykłady
Filtrowanie według uruchomionych liczników czasu
Ten przykład zwraca elementy z aktywnym licznikiem śledzenia czasu.
query {
boards(ids: 1234567890) {
items_page(
query_params: {
rules: [
{
column_id: "time_tracking"
compare_value: [2]
operator: any_of
}
]
}
) {
items {
id
name
column_values {
... on TimeTrackingValue {
duration
running
started_at
}
}
}
}
}
}
Filtrowanie według wstrzymanych lub pustych liczników czasu
Ten przykład zwraca elementy, w których licznik czasu nie jest uruchomiony.
query {
boards(ids: 1234567890) {
items_page(
query_params: {
rules: [
{
column_id: "time_tracking"
compare_value: [1]
operator: any_of
}
]
}
) {
items {
id
name
}
}
}
}
Mutacje
Tworzenie
Wymagany zakres uprawnień: boards:write
Mutacja create_column tworzy nową kolumnę śledzenia czasu za pomocą API. Możesz określić, które pola mają zostać zwrócone w odpowiedzi mutacji.
mutation {
create_column(
board_id: 1234567890
title: "Time Spent"
column_type: time_tracking
) {
id
title
type
}
}
Nie można aktualizować ani czyścić wartości kolumny śledzenia czasu za pomocą API. Licznik czasu można uruchamiać, zatrzymywać i obsługiwać tylko w interfejsie monday.com lub za pomocą automatyzacji.
Odczytywanie konfiguracji kolumny
Aby odczytać konfigurację kolumny śledzenia czasu, pobierz jej ustawienia za pomocą pola settings kolumny.
Pole settings_str jest przestarzałe od wersji API 2025-10. Zamiast niego używaj typowanego obiektu settings, który zwraca uporządkowany JSON, a nie ciąg znaków zakodowany w formacie JSON.
query {
boards(ids: 1234567890) {
columns(ids: ["time_tracking"]) {
id
title
settings
}
}
}
Struktura odpowiedzi settings
Pole settings zwraca typowany obiekt JSON zawierający następujące klucze:
| Klucz | Typ | Opis |
|---|---|---|
showSeconds |
boolean |
Informuje, czy w wyświetlanym czasie mają być widoczne sekundy. |
Przykładowa odpowiedź settings
{}
Większość kolumn śledzenia czasu zwraca pusty obiekt ustawień. Opcja showSeconds występuje tylko wtedy, gdy została jawnie skonfigurowana.
Pobieranie schematu typu kolumny
Możesz programowo pobrać schemat JSON ustawień kolumny śledzenia czasu 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: time_tracking
)
}
{
"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": {
"showSeconds": {
"type": "boolean",
"description": "Whether to show seconds in the duration UI"
}
},
"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ń kolumny, dynamicznego generowania interfejsów użytkownika lub przekazywania kontekstu agentom AI. Dowiedz się więcej o formacie odpowiedzi schematu.