[Intum](https://intum.fr/aide.md) / [Organizacja](https://intum.fr/aide/organizacja.md)

# [Listy zadań](https://intum.fr/aide/organizacja/listy-zadan.md) | [API](#api)

## Czym są listy zadań?

Listy zadań (tasklists) to sposób grupowania zadań w logiczne zbiory — np. "Sprint 1", "Backlog", "Do omówienia". Jedno zadanie może należeć do wielu list jednocześnie.

## Rodzaje list zadań

Każda lista ma określony rodzaj (kind), który wpływa na jej przeznaczenie i sposób wyświetlania:

- **Sprint** — iteracja czasowa (np. 2-tygodniowy sprint). Służy do planowania pracy na konkretny okres. Sprinty mają daty rozpoczęcia i zakończenia, a po zamknięciu otwarte zadania mogą być automatycznie przeniesione do następnego sprintu.
- **Milestone** — kamień milowy. Oznacza ważny punkt w projekcie (np. "Wersja 2.0", "Launch"). Grupuje zadania niezbędne do osiągnięcia celu.
- **Lista** — ogólna lista zadań bez ograniczeń czasowych. Np. "Backlog", "Do omówienia", "Pomysły".
- **Cykl** — powtarzalny okres pracy. Podobny do sprintu, ale z naciskiem na regularność cyklu.

## Do czego służą listy zadań

- **Organizacja sprintów** — grupowanie zadań do realizacji w danym okresie
- **Backlog** — lista zadań oczekujących na realizację
- **Planowanie** — przygotowanie zestawu zadań do omówienia na spotkaniu
- **Kontekst klienta** — lista zadań powiązanych z konkretnym klientem
- **Przenoszenie zadań** — przy zamykaniu listy otwarte zadania mogą zostać automatycznie przeniesione do nowej listy

## Tworzenie listy zadań

1. Przejdź do **Zadania** → **Listy zadań**
2. Kliknij **+** (Nowa lista)
3. Wypełnij:
   - **Nazwa** — wymagana, np. "Sprint 5"
   - **Rodzaj** — Sprint, Milestone, Lista lub Cykl
   - **[Zespół](zespol)** — zespół, do którego należy lista
   - **[Projekt](projekt)** — opcjonalne przypisanie do projektu
   - **Osoba odpowiedzialna** — kto odpowiada za realizację listy
   - **Status** — etap realizacji listy
   - **Data rozpoczęcia / zakończenia** — ramy czasowe
   - **Klient** — opcjonalne powiązanie z klientem CRM
   - **[Dział](dzial)** — opcjonalne przypisanie do działu
   - **Kod** — prefix identyfikacyjny
4. Zapisz

## Dodawanie zadań do listy

Zadania można dodawać do listy na kilka sposobów:

- Przy tworzeniu/edycji zadania — pole **Listy zadań**
- Z poziomu listy — przycisk dodawania zadań
- Operacje zbiorcze — zaznaczenie wielu zadań i przypisanie do listy

## Zamykanie listy i przenoszenie zadań

Przy zamykaniu listy można:

- **Przenieść otwarte zadania** do nowej listy (opcja `copy_open_tasks`)
- **Zamknąć poprzednią listę** automatycznie (`close_previous_tasklist`)
- **Wskazać poprzednią listę** — powiązanie historyczne między listami

Dzięki temu listy tworzą ciąg — np. Sprint 1 → Sprint 2 → Sprint 3, a niezrealizowane zadania przechodzą do kolejnego sprintu.

## Widoki listy zadań

- **Lista użytkowników** — kto pracuje nad zadaniami z listy
- **Lista właścicieli** — kto jest odpowiedzialny za poszczególne zadania
- **Widok zespołów** — podział zadań po zespołach
- **Kanban** — tablice z kolumnami statusów

## Ważne informacje

- Jedno zadanie może należeć do **wielu list** jednocześnie
- Lista ma **licznik zadań** (`tasklist_tasks_count`)
- Lista może być **zamknięta** — oznacza zakończony sprint/etap
- Listy można filtrować po zespole, projekcie, statusie i kliencie

---

## API

### Ogólne API

# Intum API

Dokumentacja API platformy [Intum](https://intum.pl) - system operacyjny firmy.

## Host

Host jest zawsze taki sam jak adres konta: `xxxx.intum.com` lub `xxx.intum.pl` (w zależności od ustawień konta)

## Autoryzacja

Wszystkie requesty API wymagają `api_token`:
- header: `Authorization: Bearer TOKEN`

Token możesz wygenerować w **Ustawienia Konta** → **Tokeny API**

## Endpointy

| Metoda | Ścieżka | Opis |
|--------|---------|------|
| GET | `/organize/tasklists.json` | Lista list zadań |
| GET | `/organize/tasklists/:id.json` | Pojedyncza lista zadań |
| POST | `/organize/tasklists.json` | Utworzenie listy zadań |
| PATCH | `/organize/tasklists/:id.json` | Aktualizacja listy zadań |
| DELETE | `/organize/tasklists/:id.json` | Usunięcie listy zadań |

**Autoryzacja:** `Authorization: Bearer TOKEN` (uprawnienie: **organize**)

## Pola listy zadań

| Pole | Typ | Wymagane | Opis |
|------|-----|----------|------|
| `name` | string | tak | Nazwa listy (np. "Sprint 5") |
| `description` | string | nie | Opis listy (Markdown) |
| `team_id` | integer | nie | ID zespołu |
| `project_id` | integer | nie | ID projektu |
| `responsible_id` | integer | nie | ID osoby odpowiedzialnej |
| `status_id` | integer | nie | ID statusu |
| `client_id` | integer | nie | ID klienta (CRM) |
| `department_id` | integer | nie | ID działu |
| `closed` | boolean | nie | Czy lista zamknięta |
| `date_from` | string | nie | Data rozpoczęcia YYYY-MM-DD |
| `date_to` | string | nie | Data zakończenia YYYY-MM-DD |
| `code` | string | nie | Kod/prefix listy |
| `kind` | string | nie | Typ listy |
| `task_ids` | array | nie | ID zadań do przypisania |
| `previous_tasklist_id` | integer | nie | ID poprzedniej listy |
| `close_previous_tasklist` | boolean | nie | Zamknij poprzednią listę |
| `copy_open_tasks` | boolean | nie | Przenieś otwarte zadania z poprzedniej listy |

## Tworzenie listy zadań

```
POST /organize/tasklists.json
Authorization: Bearer TOKEN
```

```json
{
  "tasklist": {
    "name": "Sprint 5",
    "team_id": 1,
    "project_id": 10,
    "date_from": "2026-03-01",
    "date_to": "2026-03-14",
    "task_ids": [100, 101, 102]
  }
}
```

## Aktualizacja listy

```
PATCH /organize/tasklists/:id.json
```

```json
{
  "tasklist": {
    "closed": true,
    "copy_open_tasks": true,
    "previous_tasklist_id": 5
  }
}
```

## Dodatkowe endpointy

| Metoda | Ścieżka | Opis |
|--------|---------|------|
| GET | `/organize/tasklists/find.json?name=Sprint` | Wyszukiwanie listy po nazwie |

## Błędy (422)

```json
{"name": ["nie może być puste"]}
```