ForgeTodomator
pl

Todomator

Tworzenie zgłoszeń z innych systemów przez API Todomatora

Todomator · todomator@1.7 todomatorapitokenticketsintegration

Todomator udostępnia swoje akcje przez jeden endpoint API: POST /api/ z treścią JSON { "schema": "<name>", "data": { ... } } (trasy API Total.js; zobacz przepis trasy API). Adres /api/ pochodzi z wiersza $api pliku config.

Uwierzytelnianie tokenem

Poza sesją zalogowanej osoby API akceptuje token: wyślij go w nagłówku x-token lub w parametrze zapytania token. Jeśli jest równy ustawieniu token (zobacz ustawienia), żądanie jest wykonywane jako wbudowany użytkownik o nazwie Bot, administrator z uprawnieniem bot; każdy inny token jest odrzucany. Użyj długiego losowego tokenu, trzymaj go na swoim serwerze i wysyłaj tylko przez HTTPS.

Tworzenie zgłoszenia

Wywołanie nazywa się tickets_create. Wymagane jest tylko name; reszta jest opcjonalna:

PoleUwagi
nametytuł
folder lub folderidfolder, według nazwy (Todomator go wyszukuje) lub id; zgłoszenie przejmuje flagę rozliczalności folderu
usersosoby do przypisania, według nazwy lub e-maila; nieznana osoba to błąd (User "..." not found)
watcheridosoby, które je śledzą, według id (w przeciwieństwie do users schemat tej wersji nie przyjmuje ich według nazwy)
statusidpending (domyślnie), open, review, postponed, note lub closed
markdown, htmltreść
tags, ispriority, isbillable, ispublictagi i flagi
date, deadline, workeddzień, termin i już przepracowane minuty
attachmentslista { name, data }, gdzie data to plik w Base64
reference, source, attrsdowolne pola do powiązania zgłoszenia z Twoim systemem
callbackadres, który otrzymuje zgłoszenie
{
	"schema": "tickets_create",
	"data": {
		"name": "The invoice page fails with a 500",
		"folder": "Customer support",
		"users": ["jane@example.com"],
		"markdown": "Reported by the contact form.\n\nSteps: open the invoice and click *Print*.",
		"tags": ["bug"],
		"source": "website",
		"reference": "form-2041"
	}
}

Odpowiedzią jest id nowego zgłoszenia. Przypisane osoby są powiadamiane, a otwarte sesje osób, które mogą je zobaczyć, są odświeżane.

Callback

Gdy callback jest ustawiony, Todomator wysyła POST na ten adres z danymi zgłoszenia, gdy zgłoszenie jest tworzone, aktualizowane lub klonowane oraz gdy dodawany jest komentarz (przy tworzeniu i aktualizacji wysyła też listę podanych pól, keys). Twój system może go użyć do odzwierciedlania statusu zgłoszenia.

Inne wywołania

Ten sam endpoint obsługuje pozostałe akcje, z nazwami z controllers/api.js: tickets (lista), tickets_detail/{id}, tickets_update/{id}, tickets_clone/{id}, tickets_remove/{id}, logwork_create, folders, tags i inne. Oficjalna dokumentacja API jest pod adresem docs.totaljs.com/todomator.