GitScrum / Docs

Suivi du Temps

Démarrez, arrêtez et gérez le suivi du temps sur les tâches. Accédez aux analyses, rapports d'équipe et insights de productivité.

REST API — Tous les endpoints nécessitent une authentification par Bearer token. Incluez Authorization: Bearer {token} dans chaque requête. Les tokens sont gérés dans Paramètres GitScrum → API. Base URL: https://services.gitscrum.com — Tous les chemins de requête dans cette documentation sont relatifs à cette URL de base.

Suivez le temps passé sur les tâches avec des minuteries start/stop ou des entrées manuelles. Accédez aux analyses, rapports d'équipe et insights de productivité.


Lister les entrées de temps

GET /time-trackings?company_slug={slug}&project_slug={slug}

Retourne les entrées de temps d'un projet. Supporte le filtrage par date, utilisateur et statut de facturation.

Paramètres de requête

ParamètreTypeDescription
company_slugstringIdentifiant du workspace
project_slugstringIdentifiant du projet

Obtenir la minuterie active

GET /time-trackings/active?company_slug={slug}&project_slug={slug}

Retourne la minuterie en cours d'exécution, le cas échéant. Retourne null lorsqu'aucune minuterie n'est active.

Réponse

{
  "data": {
    "id": 1234,
    "task_uuid": "abc-def-123",
    "user": {
      "username": "johndoe",
      "name": "John Doe"
    },
    "started_at": "2026-02-07T09:00:00Z",
    "ended_at": null,
    "duration_minutes": null,
    "description": "Working on auth module",
    "is_manual": false,
    "created_at": "2026-02-07T09:00:00Z"
  }
}

Démarrer la minuterie

POST /time-trackings

Démarre une minuterie sur la tâche spécifiée. Une seule minuterie peut être active à la fois.

Corps de la requête

ChampTypeRequisDescription
company_slugstringOuiIdentifiant du workspace
project_slugstringOuiIdentifiant du projet
task_uuidstringOuiTâche sur laquelle suivre le temps

Exemple

curl -X POST https://services.gitscrum.com/time-trackings \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "company_slug": "acme",
    "project_slug": "web-app",
    "task_uuid": "abc-def-123"
  }'

Réponse

{
  "data": {
    "id": 1234,
    "task_uuid": "abc-def-123",
    "started_at": "2026-02-07T09:00:00Z",
    "ended_at": null,
    "duration_minutes": null,
    "is_manual": false,
    "created_at": "2026-02-07T09:00:00Z"
  }
}

Arrêter la minuterie

PUT /time-trackings/{id}

Arrête la minuterie en cours et enregistre l'entrée de temps.

Paramètres de chemin

ParamètreTypeDescription
idintegerID de l'entrée de suivi du temps

Corps de la requête

ChampTypeRequisDescription
company_slugstringOuiIdentifiant du workspace
project_slugstringOuiIdentifiant du projet

Exemple

curl -X PUT https://services.gitscrum.com/time-trackings/1234 \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "company_slug": "acme",
    "project_slug": "web-app"
  }'

Réponse

{
  "data": {
    "id": 1234,
    "task_uuid": "abc-def-123",
    "started_at": "2026-02-07T09:00:00Z",
    "ended_at": "2026-02-07T10:30:00Z",
    "duration_minutes": 90,
    "is_manual": false,
    "created_at": "2026-02-07T09:00:00Z"
  }
}

Créer une entrée manuelle

POST /time-trackings

Crée une entrée de temps manuelle avec des heures de début et de fin explicites.

Corps de la requête

ChampTypeRequisDescription
company_slugstringOuiIdentifiant du workspace
project_slugstringOuiIdentifiant du projet
task_uuidstringOuiUUID de la tâche
started_atdatetimeOuiHeure de début (ISO 8601)
ended_atdatetimeOuiHeure de fin (ISO 8601)
descriptionstringNonDescription du travail effectué

Réponse

{
  "data": {
    "id": 1235,
    "task_uuid": "abc-def-123",
    "started_at": "2026-02-06T14:00:00Z",
    "ended_at": "2026-02-06T16:30:00Z",
    "duration_minutes": 150,
    "description": "Code review for PR #42",
    "is_manual": true,
    "created_at": "2026-02-07T09:15:00Z"
  }
}

Supprimer une entrée de temps

DELETE /time-trackings/{id}?company_slug={slug}&project_slug={slug}

Supprime définitivement une entrée de suivi du temps.

Paramètres de chemin

ParamètreTypeDescription
idintegerID de l'entrée de temps

Analyses du suivi du temps

GET /time-trackings/analytics?company_slug={slug}&project_slug={slug}

Retourne les données d'analyse du suivi du temps incluant le total des heures, les moyennes et les tendances.

Exemple

curl https://services.gitscrum.com/time-trackings/analytics?company_slug=acme&project_slug=web-app \
  -H "Authorization: Bearer {token}"

Réponse

{
  "data": {
    "total_hours": 245.5,
    "average_daily_hours": 6.2,
    "top_contributors": [],
    "by_task_type": [],
    "trend": []
  }
}

Rapport temps d'équipe

GET /time-trackings/team?company_slug={slug}&project_slug={slug}

Retourne les données de suivi du temps au niveau de l'équipe avec des détails par membre.

Réponse

{
  "data": {
    "team_members": [
      {
        "username": "johndoe",
        "total_hours": 38.5,
        "tasks_tracked": 12
      }
    ]
  }
}

Rapports de temps

GET /time-trackings/reports?company_slug={slug}&project_slug={slug}

Retourne des rapports de temps complets avec options de filtrage et de regroupement.


Rapport de productivité

GET /time-trackings/productivity?company_slug={slug}&project_slug={slug}

Retourne les métriques de productivité incluant le temps de concentration, les changements de contexte et les scores d'efficacité.


Chronologie

GET /time-trackings/timeline?company_slug={slug}&project_slug={slug}

Retourne les entrées de temps dans une vue chronologique, ordonnées chronologiquement.


Référence des champs

ChampTypeDescription
idintegerID de l'entrée de temps
task_uuidstringUUID de la tâche associée
userobjectUtilisateur ayant suivi le temps
started_atdatetimeHeure de début de la minuterie
ended_atdatetimeHeure de fin de la minuterie (null si en cours)
duration_minutesintegerDurée totale en minutes
descriptionstringDescription du travail
is_manualbooleanSi l'entrée a été créée manuellement
created_atdatetimeHorodatage de création de l'enregistrement