GitScrum / Docs

Controle de Tempo

Inicie, pare e gerencie o controle de tempo em tarefas. Acesse análises, relatórios de equipe e insights de produtividade.

REST API — Todos os endpoints requerem autenticação via Bearer token. Inclua Authorization: Bearer {token} em cada requisição. Os tokens são gerenciados em Configurações do GitScrum → API. Base URL: https://services.gitscrum.com — Todos os caminhos de requisição nesta documentação são relativos a esta URL base.

Registre tempo gasto em tarefas com timers de início/parada ou entradas manuais. Acesse análises, relatórios de equipe e insights de produtividade.


Listar entradas de tempo

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

Retorna entradas de tempo de um projeto. Suporta filtragem por data, usuário e status de faturamento.

Parâmetros de query

ParâmetroTipoDescrição
company_slugstringIdentificador do workspace
project_slugstringIdentificador do projeto

Obter timer ativo

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

Retorna o timer em execução, se houver. Retorna null quando nenhum timer está ativo.

Resposta

{
  "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"
  }
}

Iniciar timer

POST /time-trackings

Inicia um timer na tarefa especificada. Apenas um timer pode estar ativo por vez.

Corpo da requisição

CampoTipoObrigatórioDescrição
company_slugstringSimIdentificador do workspace
project_slugstringSimIdentificador do projeto
task_uuidstringSimTarefa para registrar tempo

Exemplo

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"
  }'

Resposta

{
  "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"
  }
}

Parar timer

PUT /time-trackings/{id}

Para o timer em execução e registra a entrada de tempo.

Parâmetros de caminho

ParâmetroTipoDescrição
idintegerID da entrada de controle de tempo

Corpo da requisição

CampoTipoObrigatórioDescrição
company_slugstringSimIdentificador do workspace
project_slugstringSimIdentificador do projeto

Exemplo

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"
  }'

Resposta

{
  "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"
  }
}

Criar entrada manual

POST /time-trackings

Cria uma entrada de tempo manual com horários de início e término explícitos.

Corpo da requisição

CampoTipoObrigatórioDescrição
company_slugstringSimIdentificador do workspace
project_slugstringSimIdentificador do projeto
task_uuidstringSimUUID da tarefa
started_atdatetimeSimHorário de início (ISO 8601)
ended_atdatetimeSimHorário de término (ISO 8601)
descriptionstringNãoNo que foi trabalhado

Resposta

{
  "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"
  }
}

Excluir entrada de tempo

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

Exclui permanentemente uma entrada de controle de tempo.

Parâmetros de caminho

ParâmetroTipoDescrição
idintegerID da entrada de tempo

Análises de controle de tempo

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

Retorna dados analíticos de controle de tempo incluindo total de horas, médias e tendências.

Exemplo

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

Resposta

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

Relatório de tempo da equipe

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

Retorna dados de controle de tempo no nível da equipe com detalhamento por membro.

Resposta

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

Relatórios de tempo

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

Retorna relatórios de tempo abrangentes com opções de filtragem e agrupamento.


Relatório de produtividade

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

Retorna métricas de produtividade incluindo tempo de foco, trocas de contexto e scores de eficiência.


Linha do tempo

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

Retorna entradas de tempo em uma visualização de linha do tempo, ordenadas cronologicamente.


Referência de campos

CampoTipoDescrição
idintegerID da entrada de tempo
task_uuidstringUUID da tarefa associada
userobjectUsuário que registrou o tempo
started_atdatetimeHorário de início do timer
ended_atdatetimeHorário de término do timer (null se em execução)
duration_minutesintegerDuração total em minutos
descriptionstringDescrição do trabalho
is_manualbooleanSe a entrada foi criada manualmente
created_atdatetimeTimestamp de criação do registro