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. IncluaAuthorization: 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âmetro | Tipo | Descrição |
|---|---|---|
company_slug | string | Identificador do workspace |
project_slug | string | Identificador 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-trackingsInicia um timer na tarefa especificada. Apenas um timer pode estar ativo por vez.
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
company_slug | string | Sim | Identificador do workspace |
project_slug | string | Sim | Identificador do projeto |
task_uuid | string | Sim | Tarefa 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âmetro | Tipo | Descrição |
|---|---|---|
id | integer | ID da entrada de controle de tempo |
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
company_slug | string | Sim | Identificador do workspace |
project_slug | string | Sim | Identificador 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-trackingsCria uma entrada de tempo manual com horários de início e término explícitos.
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
company_slug | string | Sim | Identificador do workspace |
project_slug | string | Sim | Identificador do projeto |
task_uuid | string | Sim | UUID da tarefa |
started_at | datetime | Sim | Horário de início (ISO 8601) |
ended_at | datetime | Sim | Horário de término (ISO 8601) |
description | string | Não | No 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âmetro | Tipo | Descrição |
|---|---|---|
id | integer | ID 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
| Campo | Tipo | Descrição |
|---|---|---|
id | integer | ID da entrada de tempo |
task_uuid | string | UUID da tarefa associada |
user | object | Usuário que registrou o tempo |
started_at | datetime | Horário de início do timer |
ended_at | datetime | Horário de término do timer (null se em execução) |
duration_minutes | integer | Duração total em minutos |
description | string | Descrição do trabalho |
is_manual | boolean | Se a entrada foi criada manualmente |
created_at | datetime | Timestamp de criação do registro |