Skip to content

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:

  1. Autenticazione: Utilizza Basic Auth con username e API token codificati in base64
  2. Campi Time Tracking:
  3. timespent: Tempo totale in secondi
  4. timetracking.timeSpent: Formato human-readable (es. "2m")
  5. aggregatetimespent: Include sottotask se presenti
  6. Worklog Entries: Array di entry dettagliate con:
  7. Autore (può essere il plugin Tempo stesso)
  8. Timestamp di inizio lavoro
  9. Durata e commenti
  10. 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