Passa al contenuto principale

API

Riferimento API​

Semaphore UI fornisce due formati di documentazione API, in modo da poter scegliere quello più adatto al proprio flusso di lavoro:

  • Swagger/OpenAPI — ideale se si preferisce un'esperienza interattiva nel browser.
  • Collezione Postman ufficiale — esplorare e testare tutti gli endpoint in Postman.
  • Documentazione API Swagger integrata — documentazione API interattiva basata su Swagger UI. È accessibile dalla propria istanza.

Tutte le opzioni includono la documentazione completa degli endpoint disponibili, dei parametri e delle risposte di esempio.

Primi passi con l'API​

Per iniziare a utilizzare l'API di Semaphore è necessario generare un token API. Questo token deve essere incluso nell'intestazione della richiesta nel modo seguente:

Authorization: Bearer YOUR_API_TOKEN

Creazione di un token API​

Esistono due modi per creare un token API:

  • Tramite l'interfaccia web
  • Tramite richiesta HTTP

Tramite l'interfaccia web (dalla versione 2.14)​

Aprire il menu dell'account in fondo alla barra laterale e scegliere API Tokens. La pagina elenca i propri token; il collegamento API Reference presente nella pagina apre la Swagger UI integrata nella propria istanza.

Token API

Fare clic su New Token, inserire un nome, scegliere la scadenza del token e copiare il valore mostrato dopo la creazione. Vedere Il proprio account.

Finestra di dialogo per un nuovo token

Tramite richiesta HTTP​

È inoltre possibile autenticarsi e generare un token di sessione tramite una richiesta HTTP diretta.

Accedere a Semaphore (la password deve essere preceduta dai caratteri di escape, ad esempio slashy\\pass invece di slashy\pass):

curl -v -c /tmp/semaphore-cookie -XPOST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{"auth": "YOUR_LOGIN", "password": "YOUR_PASSWORD"}' \
http://localhost:3000/api/auth/login

Generare un nuovo token e ottenerne il valore:

curl -v -b /tmp/semaphore-cookie -XPOST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
http://localhost:3000/api/user/tokens

Il comando dovrebbe restituire un risultato simile al seguente:

{
"id": "YOUR_ACCESS_TOKEN",
"created": "2025-05-21T02:35:12Z",
"expired": false,
"user_id": 3
}

Utilizzo del token per effettuare richieste API​

Una volta ottenuto il token API, includerlo nell'intestazione Authorization per autenticare le proprie richieste.

Avvio di un task​

Utilizzare questo token per avviare un task o per qualsiasi altra operazione:

curl -v -XPOST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
-d '{"template_id": 1}' \
http://localhost:3000/api/project/1/tasks

Scadenza di un token API​

Se il token non è più necessario, è consigliabile farlo scadere per mantenere sicuro il proprio account.

Per revocare manualmente (far scadere) un token API, inviare una richiesta DELETE all'endpoint dei token:

curl -v -XDELETE \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
http://localhost:3000/api/user/tokens/YOUR_ACCESS_TOKEN