Interrogazione API Jira per Time Tracking con Tempo Plugin
PROBLEMA:
Necessità di estrarre dati di time tracking da Jira quando è installato il plugin Tempo, inclusi worklog entries, tempo speso, e metadati associati per analisi e reportistica.
SOLUZIONE:
# Interrogazione completa di una issue Jira per ottenere dati di time tracking
curl -X GET \
"https://jira-saas-project-name.atlassian.net/rest/api/3/issue/SDLCSBKB-132" \
-H "Authorization: Basic $(echo -n '${JIRA_USERNAME}:${JIRA_TOKEN}' | base64 -w 0)" \
-H "Accept: application/json" \
-H "Content-Type: application/json"
{
"fields": {
"timespent": 120,
"timetracking": {
"timeSpent": "2m",
"timeSpentSeconds": 120
},
"aggregatetimespent": 120,
"worklog": {
"total": 1,
"worklogs": [
{
"author": {
"displayName": "Tempo Timesheets",
"accountType": "app"
},
"timeSpent": "2m",
"timeSpentSeconds": 120,
"started": "2025-07-03T08:00:00.000+0000",
"comment": {
"content": [{"text": "time-tracking"}]
}
}
]
}
}
}
SPIEGAZIONE:
L'API REST v3 di Jira fornisce accesso completo ai dati di time tracking attraverso l'endpoint /rest/api/3/issue/{issueKey}
. Quando il plugin Tempo è installato:
- Autenticazione: Utilizza Basic Auth con username e API token codificati in base64
- Campi Time Tracking:
timespent
: Tempo totale in seconditimetracking.timeSpent
: Formato human-readable (es. "2m")aggregatetimespent
: Include sottotask se presenti- Worklog Entries: Array di entry dettagliate con:
- Autore (può essere il plugin Tempo stesso)
- Timestamp di inizio lavoro
- Durata e commenti
- Metadati di creazione/aggiornamento
Il plugin Tempo si integra nativamente con l'API Jira, creando worklog entries con accountType: "app"
per distinguerle da quelle manuali.
CONTESTO:
Utilizzare quando si necessita di: - Estrarre dati di time tracking per reportistica - Analizzare produttività e allocazione tempo - Integrazione con sistemi di billing o HR - Audit delle attività di sviluppo
Prerequisiti: - Token API Jira valido con permessi di lettura sulle issue - Plugin Tempo installato e configurato - Accesso all'istanza Jira target
DIPENDENZE:
- Jira Cloud/Server con API REST v3
- Plugin Tempo Timesheets
- Tool per richieste HTTP (curl, Postman, ecc.)
- Base64 encoding per autenticazione
COMPLESSITÀ:
- Temporale: O(1) per singola issue
- Spaziale: O(n) dove n è il numero di worklog entries
NOTE AGGIUNTIVE:
- I worklog entries hanno limite di 20 risultati per default, usare paginazione per dataset più grandi
- Il formato timestamp è ISO 8601 in UTC
- L'accountType "app" identifica entry create automaticamente dal plugin Tempo
- Per progetti con molte sottotask, considerare l'uso di
aggregatetimespent
per il totale complessivo - Alcuni campi potrebbero essere null se non sono stati configurati time tracking o stime originali