Testar grátis

Configurações do Projeto: O Seu Hub de Configuração

Configurações do Projeto é onde configuração acontece. Cada opção que molda como o seu projeto funciona vive aqui—desde detalhes básicos até integrações de API. Pense nisto como o painel de controlo para o comportamento do projeto.

Aceder às Configurações

Encontre Configurações do Projeto na barra lateral de navegação do projeto. Tipicamente aparece perto do fundo dos itens de navegação do projeto, frequentemente representado por um ícone de engrenagem. Apenas membros do projeto com permissões apropriadas podem aceder a esta secção.

Visão Geral dos Separadores

Configurações do Projeto organiza-se em múltiplos separadores, cada um focado em áreas específicas de configuração:

Separador Detalhes

A informação core que identifica o seu projeto.

O que vai configurar:

  • Nome do projeto e descrição
  • Visibilidade do projeto (público/privado)
  • Identificador/slug do projeto
  • Categorização do projeto
  • Informação arquivada/estado

Quando usar:

  • Configuração inicial do projeto
  • Renomear ou rebranding de projetos
  • Ajustar definições de visibilidade
  • Atualizar descrições do projeto

Ver Detalhes do Projeto para opções completas de configuração.

Separador Orçamento

Restrições financeiras e alocação de recursos.

O que vai configurar:

  • Custo total do projeto ou orçamento
  • Definições de rastreio de orçamento
  • Alertas e limiares de orçamento
  • Alocação de recursos

Quando usar:

  • Configurar contenção de custos do projeto
  • Monitorizar despesas do projeto
  • Definir limites de gastos
  • Planear alocação de recursos

Ver Orçamento do Projeto para configuração detalhada de orçamento.

Separador Integrações

Conexões com serviços externos que melhoram a capacidade do projeto.

O que vai configurar:

  • Integração com GitHub (ligação de repositório, sincronização)
  • Integração com GitLab (sincronização de merge requests)
  • Integração com Bitbucket
  • Outras conexões com serviços de terceiros

Quando usar:

  • Ligar repositórios de código a projetos
  • Sincronizar issues ou tarefas com ferramentas externas
  • Configurar deploys automatizados
  • Ligar ferramentas de colaboração

Ver Integrações do Projeto para opções de conexão.

Separador Webhooks

Notificações automatizadas para sistemas externos quando eventos acontecem.

O que vai configurar:

  • URLs de endpoint de webhook
  • Eventos que acionam webhooks
  • Headers de autenticação
  • Formatos de payload

Quando usar:

  • Acionar builds externos na conclusão de tarefa
  • Notificar Slack/Discord sobre atualizações do projeto
  • Sincronizar com sistemas personalizados
  • Integrar com pipelines CI/CD

Ver Webhooks do Projeto para configuração de endpoints.

Separador API

Acesso direto à API para integrações personalizadas e automação.

O que vai configurar:

  • Tokens de API e chaves
  • Scopes de permissão de acesso
  • Limites de rate
  • Documentação de endpoints

Quando usar:

  • Construir integrações personalizadas
  • Automatizar tarefas repetitivas
  • Extrair dados do projeto programaticamente
  • Criar dashboards externos

Ver API do Projeto para detalhes de acesso à API.

Separador Horário de Trabalho

Calendário de horas de trabalho que afeta cálculos e planeamento.

O que vai configurar:

  • Horas de trabalho diárias
  • Dias de trabalho por semana
  • Feriados e exceções
  • Definições de fuso horário

Quando usar:

  • Configurar cadências de sprint
  • Calcular estimativas de duração de tarefas
  • Planear em torno de férias da equipa
  • Ajustar para equipas globais

Ver Horário de Trabalho do Projeto para configuração de calendário.

Separador Membros

Acesso da equipa e gestão de permissões.

O que vai configurar:

  • Membership do projeto (adicionar/remover)
  • Atribuições de papel (admin, membro, visualizador)
  • Níveis de permissão
  • Acesso de convidado

Quando usar:

  • Onboarding de novos membros da equipa
  • Ajustar níveis de permissão
  • Remover antigos colaboradores
  • Configurar acesso de cliente

Ver Membros do Projeto para gestão de equipa.

Separadores exibem-se horizontalmente no topo da área de configurações. Clicar em qualquer separador muda imediatamente o painel de conteúdo abaixo. O separador atual destaca-se visualmente.

Alguns padrões de navegação:

  • Mudanças de separador preservam trabalho não guardado dentro do mesmo separador
  • Navegar para fora de configurações pode solicitar guardar
  • Deep links podem abrir separadores específicos diretamente

Requisitos de Permissão

Nem todos veem todas as configurações:

Proprietários do Projeto / Admins:

  • Acesso completo a todos os separadores
  • Podem modificar qualquer configuração
  • Podem eliminar o projeto

Membros da Equipa:

  • Podem ver a maioria das configurações
  • Podem modificar configurações limitadas (depende do papel)
  • Sem acesso a operações destrutivas

Visualizadores / Convidados:

  • Acesso apenas leitura se tiverem
  • Podem não ver separadores sensíveis (API, Webhooks)

Separadores específicos podem ocultar-se completamente para utilizadores sem as permissões necessárias.

Fluxos Comuns de Configuração

Configuração de Novo Projeto

  1. Começar com Detalhes — nome, descrição, visibilidade
  2. Configurar Horário de Trabalho — definir horas e dias de trabalho
  3. Adicionar Membros — convidar a equipa
  4. Ligar Integrações — vincular repositórios se relevante
  5. Configurar Orçamento — definir restrições se aplicável

Manutenção Contínua

  • Membros: Atualizar à medida que composição da equipa muda
  • Integrações: Verificar estado de conexão periodicamente
  • Orçamento: Monitorizar contra configurações
  • Webhooks: Verificar entregas e erros

Configuração de Automação

  1. Configurar Webhooks para eventos necessários
  2. Gerar tokens API para ferramentas externas
  3. Documentar endpoints e headers de auth
  4. Testar integrações antes de produção

Guardar Mudanças

A maioria das alterações de configurações requer ação explícita de guardar:

  • Procure botões "Guardar", "Atualizar" ou "Aplicar"
  • Algumas definições aplicam-se imediatamente (toggles)
  • Monitore mensagens de confirmação
  • Navegação pode avisar sobre mudanças não guardadas

Considerações de Segurança

Várias configurações impactam segurança do projeto:

Tokens de API: Trate como passwords. Regenere se comprometidos.

Secrets de Webhooks: Use para verificar entregas de webhook.

Permissões de Membros: Princípio do mínimo privilégio—dê apenas acesso necessário.

Integrações: Reveja que permissões serviços conectados requerem.

Resolução de Problemas

Separador não aparece: Verifique o seu nível de permissão. Alguns separadores requerem acesso admin.

Mudanças não guardam: Procure erros de validação. Campos obrigatórios podem estar em falta.

Integração falhada: Verifique credenciais de serviço externo. Tokens podem ter expirado.

Webhook não entrega: Verifique acessibilidade do URL do endpoint. Reveja logs de entrega.


Configurações do Projeto centraliza toda configuração de projeto. Quer esteja a ajustar membership da equipa, a configurar automação ou a gerir orçamentos, tudo vive aqui. Tome tempo para explorar cada separador — saber onde tudo está torna a administração de projeto muito mais suave.

Configurações de API

O separador API fornece credenciais e monitorização para acesso programático ao seu projeto GitScrum. Construa integrações personalizadas, automatize workflows e conecte sistemas externos usando a REST API.

Visão Geral da API

GitScrum fornece uma REST API abrangente para:

  • Ler dados de projeto (tarefas, sprints, membros)
  • Criar e atualizar recursos
  • Disparar ações programaticamente
  • Sincronizar com sistemas externos
  • Construir dashboards personalizados

Secção de Limites de Taxa

Entender Limites de Taxa

Limites de taxa previnem abuso da API e garantem acesso justo para todos utilizadores. Limites aplicam por projeto, por período.

Exibição de Limite de Taxa

O separador API mostra três métricas chave:

MétricaSignificado
Total de PedidosMáximo de pedidos permitidos por período
DisponíveisPedidos restantes no período atual
PeríodoJanela temporal para reset do limite

Escalões de Limite de Taxa

PlanoPedidos/Hora
Standard1.000
Pro5.000
EnterprisePersonalizado

Resposta de Limite de Taxa

Quando atinge o limite:

  • API retorna 429 Too Many Requests
  • Header Retry-After indica tempo de espera
  • Contador disponível mostra 0

Timing de Reset

Limites de taxa resetam numa janela deslizante:

  • Período mostra horas de início e fim
  • Contador repõe gradualmente
  • Reset completo no fim do período

Estatísticas de Uso

Gráfico de Pedidos

Uma visualização mostra uso da API ao longo do tempo:

  • Eixo X: Tempo (horas/dias)
  • Eixo Y: Contagem de pedidos
  • Ajuda a identificar padrões de uso

Análise de Uso

Linha consistente: Processos automatizados normais Picos: Operações manuais ou jobs batch Perto do limite: Pode precisar otimizar ou atualizar

Tabela de Pedidos Recentes

Log de Pedidos

A tabela mostra chamadas API recentes:

ColunaConteúdo
MétodoMétodo HTTP (GET, POST, PUT, DELETE)
EndpointCaminho API chamado
HoraQuando pedido ocorreu

Indicadores de Método

Métodos exibem com codificação de cor:

  • GET: Azul (operações de leitura)
  • POST: Verde (operações de criação)
  • PUT/PATCH: Amarelo (operações de atualização)
  • DELETE: Vermelho (operações de remoção)

Propósito do Log

Use o log de pedidos para:

  • Debugar problemas de integração
  • Identificar uso inesperado da API
  • Monitorizar comportamento de automação
  • Auditar acesso à API

Credenciais API

Obter Credenciais

Clique "Obter Credenciais" para aceder à sua API key e secret:

  1. Botão dispara verificação de autenticação
  2. Modal exibe credenciais
  3. Copie para usar nas suas aplicações

Componentes de Credencial

API Key: Identificador público para a sua integração

  • Seguro incluir em código (não é verdadeiramente secreto)
  • Usado em pedidos API para identificação

API Secret: Token de autenticação privado

  • Nunca partilhe ou faça commit para repositórios públicos
  • Usado para assinar pedidos

Segurança de Credenciais

IMPORTANTE:

  • Armazene secrets em variáveis de ambiente
  • Nunca faça commit para controlo de versão
  • Rode se potencialmente exposto
  • Use credenciais diferentes para dev/prod

Regenerar Credenciais

Se credenciais estiverem comprometidas:

  1. Gere novas credenciais
  2. Atualize todas integrações
  3. Credenciais antigas invalidam imediatamente

Aviso: Regenerar quebra todas integrações existentes até serem atualizadas.

Fazer Pedidos API

Autenticação

Inclua credenciais nos headers do pedido:

Authorization: Bearer YOUR_API_KEY
X-API-Secret: YOUR_API_SECRET

Ou use HTTP Basic Auth:

Authorization: Basic base64(API_KEY:API_SECRET)

URL Base

Todos pedidos API usam:

https://services.gitscrum.com/v1

Formato de Pedido

Headers:

Content-Type: application/json
Accept: application/json
Authorization: Bearer YOUR_API_KEY

Exemplo de pedido GET:

curl -X GET "https://services.gitscrum.com/v1/projects/PROJECT_SLUG/tasks" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "X-API-Secret: YOUR_API_SECRET"

Exemplo de pedido POST:

curl -X POST "https://services.gitscrum.com/v1/projects/PROJECT_SLUG/tasks" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "X-API-Secret: YOUR_API_SECRET" \
  -H "Content-Type: application/json" \
  -d '{"title": "Nova Tarefa", "description": "Criada via API"}'

Endpoints Comuns

Tarefas

MétodoEndpointAção
GET/tasksListar todas tarefas
GET/tasks/{uuid}Obter tarefa única
POST/tasksCriar tarefa
PUT/tasks/{uuid}Atualizar tarefa
DELETE/tasks/{uuid}Eliminar tarefa

Sprints

MétodoEndpointAção
GET/sprintsListar sprints
GET/sprints/{uuid}Obter detalhes do sprint
POST/sprintsCriar sprint
PUT/sprints/{uuid}Atualizar sprint

Entradas de Tempo

MétodoEndpointAção
GET/time-entriesListar entradas de tempo
POST/time-entriesRegistar tempo
PUT/time-entries/{uuid}Atualizar entrada
DELETE/time-entries/{uuid}Remover entrada

Membros

MétodoEndpointAção
GET/membersListar membros do projeto
GET/members/{uuid}Obter detalhes do membro

Formato de Resposta

Resposta de Sucesso

{
    "data": {
        // Dados do recurso
    },
    "meta": {
        "current_page": 1,
        "total_pages": 5,
        "total_count": 47
    }
}

Resposta de Erro

{
    "error": {
        "code": "validation_error",
        "message": "Título é obrigatório",
        "details": {
            "title": ["Este campo é obrigatório"]
        }
    }
}

Códigos de Estado HTTP

CódigoSignificado
200Sucesso
201Criado
204Sem conteúdo (delete bem-sucedido)
400Pedido inválido (erro de validação)
401Não autorizado (credenciais inválidas)
403Proibido (permissões insuficientes)
404Não encontrado
429Limite de taxa excedido
500Erro de servidor

Paginação

Endpoints de lista retornam resultados paginados:

Parâmetros de Query

ParâmetroPadrãoDescrição
page1Número da página
per_page25Itens por página (máx 100)

Exemplo

GET /tasks?page=2&per_page=50

Filtragem

Muitos endpoints suportam filtragem:

Filtros de Tarefas

ParâmetroExemplo
status?status=in-progress
assignee?assignee=user-uuid
label?label=bug
sprint?sprint=sprint-uuid
created_after?created_after=2024-01-01

Filtros de Entradas de Tempo

ParâmetroExemplo
user?user=user-uuid
billable?billable=true
from?from=2024-01-01
to?to=2024-01-31

Webhooks vs. Polling

Quando Usar API

  • Ler dados a pedido
  • Criar/atualizar recursos
  • Sincronização única de dados
  • Ações iniciadas pelo utilizador

Quando Usar Webhooks

  • Notificações em tempo real
  • Automação baseada em eventos
  • Sincronização contínua
  • Atualizações de sistemas externos

Resolução de Problemas

401 Não Autorizado

Causas:

  • API key inválida
  • Secret inválido ou em falta
  • Credenciais regeneradas

Soluções:

  • Verifique que credenciais estão atuais
  • Verifique formato do header
  • Re-copie credenciais das configurações

403 Proibido

Causas:

  • Papel não tem permissão para ação
  • Recurso pertence a projeto diferente
  • Ação não permitida para estado do recurso

Soluções:

  • Verifique papel do utilizador
  • Verifique que slug do projeto corresponde
  • Reveja requisitos da ação

429 Rate Limited

Causas:

  • Demasiados pedidos no período
  • Polling agressivo
  • Integração ineficiente

Soluções:

  • Aguarde período de reset
  • Implemente exponential backoff
  • Cache respostas onde possível
  • Considere webhook para necessidades em tempo real

500 Erro de Servidor

Causas:

  • Problema interno do GitScrum
  • Indisponibilidade temporária

Soluções:

  • Retry após breve delay
  • Verifique página de status do GitScrum
  • Contacte suporte se persistir

Melhores Práticas

Uso Eficiente da API

Cache de respostas: Armazene dados que não mudam frequentemente Operações batch: Combine pedidos relacionados Use webhooks: Para necessidades em tempo real ao invés de polling Respeite limites de taxa: Construa lógica de backoff

Segurança

Variáveis de ambiente: Nunca hardcode credenciais Princípio do menor privilégio: Peça apenas permissões necessárias Audite acesso: Reveja logs da API regularmente Rode secrets: Regenere credenciais periodicamente

Tratamento de Erros

Espere falhas: Redes falham, serviços dão timeout Implemente retry: Com exponential backoff Registe erros: Para debugging e monitorização Degradação graceful: Lide com indisponibilidade

Permissões

AçãoPapel Necessário
Ver configurações APIManager, Agency Owner
Obter credenciaisManager, Agency Owner
Regenerar credenciaisAgency Owner
Ver log de pedidosManager, Agency Owner

Permissões da API mapeiam para papéis de utilizador—API não pode exceder permissões de projeto do utilizador.

Configurações de Orçamento

O separador Orçamento transforma dados de registo de tempo em insights financeiros. Rastreie alocação de recursos, defina taxas horárias personalizadas, configure alertas de custo e gerencie configurações de orçamento do projeto tudo num lugar.

Sub-Separadores de Orçamento

Configurações de orçamento organizam em quatro secções especializadas:

Sub-SeparadorPropósito
AlocaçãoVer alocação de tempo da equipa e horas faturáveis
TaxasDefinir taxas horárias por utilizador
AlertasConfigurar notificações de limiar de orçamento
ConfiguraçõesTaxas padrão e configuração de orçamento

Navegue entre sub-separadores usando a barra lateral dentro das configurações de Orçamento.

Secção de Alocação

A vista Alocação mostra como membros de equipa estão a gastar o seu tempo neste projeto.

Tabela de Alocação

Cada linha representa um membro de equipa com:

ColunaDescrição
MembroAvatar, nome e papel do utilizador
Horas RegistadasTempo total rastreado contra projeto
Horas FaturáveisPorção marcada como faturável
% FaturávelPercentagem de tempo que é faturável
CustoHoras × taxa horária

Ler Dados de Alocação

Alta percentagem faturável: Membro de equipa focado em trabalho entregável ao cliente. Meta varia por papel—developers tipicamente maior que managers.

Baixa percentagem faturável: Mais tempo em tarefas internas, reuniões ou overhead. Não é inerentemente mau, mas vale monitorizar.

Distribuição desigual: Um membro com significativamente mais horas pode indicar desequilíbrio de carga ou gargalo.

Filtragem e Ordenação

Vista padrão mostra todos membros com tempo registado. Dados refletem histórico completo do projeto a menos que filtrado.

Atualizar Dados

Clique no botão atualizar para puxar últimas entradas de tempo. Útil se membros de equipa estão ativamente a registar tempo.

Métricas Chave

A barra de filtros mostra métricas agregadas:

  • Total de membros de equipa: Número de pessoas com tempo registado
  • Total horas faturáveis: Soma entre todos membros

Secção de Taxas

Defina taxas horárias personalizadas para membros de equipa individuais. Taxas personalizadas sobrepõem a taxa padrão do projeto.

Taxa Padrão

A taxa horária padrão do projeto aplica a qualquer membro sem taxa personalizada. Defina isto no sub-separador Configurações.

Tabela de Taxas Personalizadas

ColunaDescrição
MembroUtilizador com taxa personalizada
TaxaTaxa horária para este utilizador
AçõesEditar ou remover taxa personalizada

Adicionar Taxa Personalizada

  1. Clique botão "Adicionar Taxa"
  2. Selecione membro de equipa do dropdown
  3. Introduza taxa horária
  4. Clique Guardar

Casos de uso para taxas personalizadas:

  • Engenheiros sénior com taxas de faturação mais altas
  • Membros juniores da equipa com taxas reduzidas
  • Contractors com taxas negociadas
  • Consultores faturados a taxas premium

Editar Taxas

Clique no ícone editar em qualquer linha de taxa para modificar o montante. Alterações aplicam a cálculos futuros—custos históricos não atualizam retroativamente.

Remover Taxas Personalizadas

Elimine uma taxa personalizada para reverter esse membro para a taxa padrão. Novamente, isto afeta apenas cálculos futuros.

Exibição de Taxa

Taxas exibem na moeda configurada do workspace. Formato segue configurações locais (ex: €125,00, $125.00).

Secção de Alertas

Alertas de orçamento notificam quando custos aproximam ou excedem limiares. Notificação proativa previne surpresas de orçamento.

Tipos de Alerta

TipoPropósitoVisual
AvisoAproximando limiarIndicador amarelo
CríticoLimiar excedidoIndicador vermelho

Alertas Configurados

A lista de alertas mostra todos limiares de orçamento:

  • Nome/descrição do alerta
  • Montante ou percentagem de limiar
  • Estado atual (OK, Aviso, Crítico)
  • Último timestamp de disparo
  • Estado de reconhecimento

Comportamento de Alerta

Quando um limiar é atingido:

  1. Estado do alerta muda para Aviso ou Crítico
  2. Notificação envia (email, in-app)
  3. Alerta aparece no dashboard
  4. Permanece até reconhecer ou condição limpar

Reconhecer Alertas

Clique para reconhecer um alerta. Isto:

  • Marca o alerta como visto
  • Para notificações repetidas (até próximo disparo)
  • Regista quem reconheceu e quando

Reconhecimento não resolve o problema de orçamento subjacente—apenas confirma consciência.

Configuração de Alerta

Crie alertas no sub-separador Configurações. Limiares comuns de alerta:

  • 75% do orçamento consumido (aviso)
  • 90% do orçamento consumido (crítico)
  • 100% do orçamento excedido (crítico)

Sub-Separador Configurações

Configuração core de orçamento para o projeto.

Orçamento do Projeto

Orçamento Total: O orçamento global do projeto na sua moeda. Este é o número contra o qual alertas comparam.

Definir um orçamento ativa:

  • Tracking de progresso de orçamento
  • Alertas baseados em percentagem
  • Relatórios de custo vs orçamento

Deixe em branco se o projeto não tem orçamento fixo.

Taxa Horária Padrão

A taxa aplicada a membros de equipa sem taxas personalizadas. Recomendações:

Modelo de agência: Use a sua taxa standard de faturação ao cliente Projetos internos: Use custo carregado (salário ÷ horas de trabalho + overhead) Projetos de preço fixo: Pode ser menos relevante—rastreie para análise de custo interno

Configuração de Alertas

Crie e gerencie alertas de orçamento:

Adicionar Alerta:

  1. Clique "Adicionar Alerta"
  2. Defina limiar (montante ou percentagem)
  3. Escolha tipo de alerta (aviso/crítico)
  4. Configure destinatários de notificação
  5. Guarde

Editar Alerta: Clique em qualquer alerta para modificar limiar, tipo ou destinatários.

Eliminar Alerta: Remova alertas que já não são necessários.

Faturável por Padrão

Alterne se novas entradas de tempo default para faturável. Membros de equipa podem sobrepor por entrada, mas isto define o estado inicial.

Faturável por padrão ON: A maioria do tempo é faturável ao cliente Faturável por padrão OFF: A maioria do tempo é interno/overhead

Guardar Configurações

Clique "Guardar" para persistir alterações. Alterações a taxas e orçamentos afetam cálculos futuros imediatamente.

Cálculos de Custo

Entender como custos calculam ajuda a interpretar os dados corretamente.

Fórmula Básica

Custo = Horas × Taxa

Horas: De entradas de registo de tempo Taxa: Taxa personalizada se definida, caso contrário taxa padrão

Faturável vs Não-Faturável

Apenas horas faturáveis entram em relatórios de faturação. Todas horas (faturáveis + não-faturáveis) entram em cálculos de custo.

Precedência de Taxa

  1. Taxa personalizada do utilizador (se definida)
  2. Taxa padrão do projeto (se definida)
  3. Zero (se nenhuma taxa configurada)

Moeda

Todos valores monetários usam a moeda configurada do workspace. Moeda não pode diferir por projeto—é a nível do workspace.

Dados Históricos

Alterações de taxa não recalculam retroativamente custos históricos. O custo no momento da entrada persiste.

Para atualizar custos históricos após alterações de taxa, precisaria ajustar manualmente entradas de tempo.

Relatórios e Análise

Dados de orçamento alimentam o sistema de reporting do GitScrum:

Relatórios Disponíveis

Custo por Membro de Equipa: Quem está a consumir orçamento Custo por Tarefa: Que tarefas são dispendiosas Custo ao Longo do Tempo: Tendências de taxa de burn Faturável vs Não-Faturável: Análise de utilização

Exportar Dados

Exporte dados de orçamento para CSV ou Excel para análise externa ou faturação de cliente.

Integração com Faturação

Se usar faturação GitScrum, dados de orçamento podem auto-preencher:

  • Entradas de tempo → itens de linha
  • Taxas → precificação
  • Projeto → agrupamento de fatura

Melhores Práticas

Planeamento de Orçamento

Defina orçamentos realistas: Inclua buffer para mudanças de scope e trabalho inesperado.

Reveja mensalmente: Não espere por alertas—verifique proativamente estado do orçamento.

Comunique com stakeholders: Partilhe estado do orçamento em atualizações de projeto.

Gestão de Taxas

Documente lógica de taxas: Note porquê taxas diferem entre membros de equipa.

Reveja anualmente: Taxas devem refletir custos atuais e realidades de faturação.

Considere custos carregados: Para projetos internos, inclua overhead nos cálculos.

Estratégia de Alertas

Múltiplos limiares: Use aviso em 75%, crítico em 90%.

Destinatários certos: Alerte pessoas que podem tomar ação.

Não ignore alertas: Reconhecido não é o mesmo que resolvido.

Disciplina de Registo de Tempo

Precisão de orçamento depende de precisão de registo de tempo:

  • Registe tempo diariamente
  • Use flags de faturável corretos
  • Associe tempo com tarefas corretas

Permissões

AçãoPapel Necessário
Ver alocaçãoMembro do projeto
Ver taxasManager, Agency Owner
Editar taxasManager, Agency Owner
Configurar alertasManager, Agency Owner
Alterar configuraçõesManager, Agency Owner

Membros regulares de equipa veem a sua própria alocação mas não taxas de equipa ou configuração de alertas.

Configurações de Detalhes do Projeto

O separador Detalhes é onde gere a identidade core do projeto—nome, descrição, categoria, branding e toggles de funcionalidades. Também contém a zona de perigo para ações destrutivas como eliminar o projeto.

Informação Básica

Nome do Projeto

O identificador do projeto através do GitScrum. Aparece em:

  • Seletores de projeto
  • URLs e links partilháveis
  • Notificações e emails
  • Relatórios e exportações

Melhores práticas para nomes:

  • Descritivo mas conciso (ex: "Portal de Cliente" não "O Novo Projeto de Redesign do Portal de Cliente")
  • Identificador único dentro do workspace
  • Evite caracteres especiais que podem causar problemas de URL

Editar Nome do Projeto

  1. Clique no campo de nome
  2. Introduza novo nome
  3. Clique Guardar

Alterações de nome atualizam em todo o lado imediatamente. Links partilhados permanecerão funcionais—são baseados em ID, não nome.

Descrição do Projeto

Campo de texto livre para contexto adicional. Use para:

  • Explique propósito do projeto
  • Links para recursos externos
  • Notas de equipa e contexto
  • Convenções de nomenclatura de cliente

A descrição aparece no dashboard do projeto e detalhes do workspace.

Dica: Mantenha descrições atualizadas conforme scope evolui. Informação desatualizada é pior do que sem informação.

Categoria

Atribua o projeto a uma categoria para organização:

CategoriaCasos de Uso
ClienteTrabalho de projeto para clientes externos
InternoProjetos operacionais da empresa
ProdutoDesenvolvimento de produto próprio
SuporteSuporte a cliente/trabalho de manutenção
OutroQualquer coisa que não se encaixe acima

A categoria permite filtrar projetos em vistas de workspace.

Toggles de Funcionalidades

Ative ou desative módulos específicos por projeto. Útil para simplificar interface quando funcionalidades não são necessárias.

Funcionalidades Disponíveis

FuncionalidadeDescrição
SprintsTimeboxes de sprint e burndown
Registo de TempoTracking de tempo em tarefas
WikiDocumentação de projeto
User StoriesFuncionalidade de gestão de user stories
OKRsObjectives and Key Results
OrçamentoTracking financeiro e custos

Ligar Funcionalidades

Funcionalidades ligadas aparecem em:

  • Navegação do projeto
  • Paleta de comandos
  • Ferramentas de criação rápida
  • Opções de relatórios

Desligar Funcionalidades

Funcionalidades desligadas:

  • Escondem da navegação
  • Param notificações relacionadas
  • Preservam dados existentes (não elimina)
  • Podem ser religadas a qualquer momento

Nota importante: Desligar uma funcionalidade não elimina dados. Se desligar Registo de Tempo, entradas existentes permanecem. Religue para as ver novamente.

Casos de Uso de Funcionalidades

Projeto simples de tarefa: Desligue Sprints, Wiki, OKRs, Orçamento. Apenas mantenha core do Kanban.

Projeto ágil completo: Todas funcionalidades ligadas.

Projeto de documentação: Ligue Wiki, desligue Sprints e Registo de Tempo.

Projeto de preço fixo: Desligue Orçamento (tracking de custo menos relevante).

Branding do Projeto

Logo do Projeto

Carregue logo ou ícone personalizado para identificar projeto visualmente.

Especificações:

  • Formatos: PNG, JPG, SVG
  • Tamanho recomendado: 200×200px mínimo
  • Tamanho máximo do arquivo: 2MB

O logo aparece em:

  • Dropdown de seletor de projeto
  • Cabeçalho de dashboard do projeto
  • Notificações (algumas)
  • Relatórios exportados
  1. Clique na área de carregamento ou arraste imagem
  2. Pré-visualize o resultado recortado
  3. Ajuste se necessário
  4. Clique Guardar

Eliminar o logo reverte para o ícone padrão. Clique no X ou opção remover perto da pré-visualização do logo.

Propriedade do Projeto

Esta secção mostra propriedade atual do projeto.

Proprietário Atual

Exibe utilizador ou equipa que possui o projeto. Proprietário tem:

  • Acesso administrativo total
  • Capacidade de eliminar projeto
  • Controlo sobre permissões de membros
  • Autoridade de gestão de faturação

Transferir Propriedade

Nota: Transferência de propriedade pode estar restrita baseado no seu papel no workspace.

Para transferir:

  1. Localize opção de transferência (se disponível)
  2. Selecione novo proprietário
  3. Confirme transferência

A transferência é imediata. Antigos proprietários perdem privilégios administrativos a menos que especificamente designados.

Zona de Perigo

Ações destrutivas vivem aqui, visualmente separadas para prevenir cliques acidentais.

Arquivar Projeto

Arquivar esconde projeto de vistas ativas sem eliminar dados.

Projetos arquivados:

  • Não aparecem em listagem de projetos por padrão
  • Podem ser restaurados a qualquer momento
  • Preservam todo histórico e dados
  • Não contam contra limites de projeto (alguns planos)

Quando arquivar:

  • Projeto completo mas pode referenciar mais tarde
  • Projeto pausado temporariamente
  • Mantendo histórico para auditoria

Restaurar Projeto Arquivado

Projetos arquivados aparecem com filtro "Mostrar Arquivados". Clique restaurar para trazer de volta para vistas ativas.

Eliminar Projeto

A eliminação é permanente e irreversível. Remove:

  • Todas tarefas e subtarefas
  • Toda documentação wiki
  • Todos registos de tempo
  • Todo histórico de atividade
  • Todas integrações e webhooks
  • Todas permissões de membros

Antes de eliminar, considere:

  • Precisa de alguma informação arquivada?
  • Dados podem ser exportados primeiro?
  • Tem backups se necessário?

Confirmação de Eliminação

Para prevenir eliminação acidental:

  1. Clique Eliminar Projeto
  2. Leia aviso de confirmação
  3. Digite nome do projeto exatamente
  4. Clique confirmação final

O requisito de digitação do nome garante ação deliberada—erros são impossíveis de desfazer.

Período de Recuperação

Após eliminação, pode haver um breve período de recuperação (verifique com suporte). Não conte com isso—trate eliminação como final.

Visibilidade do Projeto

Controle quem pode ver e aceder ao projeto.

Projeto Público vs Privado

ConfiguraçãoVisibilidade
PrivadoApenas membros atribuídos veem projeto
PúblicoTodos membros do workspace veem projeto

Públicos não significa internet pública—significa membros do workspace.

Quando Usar Cada

Privado: Informação sensível de cliente, trabalho RH, projetos financeiros

Público: Projetos de empresa, ferramentas partilhadas, bases de conhecimento

Alterar Visibilidade

  1. Localize configuração de visibilidade
  2. Alterne entre público/privado
  3. Guarde alterações

A alteração tem efeito imediatamente. Mudar para privado revoga acesso para não-membros instantaneamente.

Configurações Avançadas

Fuso Horário do Projeto

Se diferente do padrão do workspace, defina fuso horário específico do projeto para:

  • Timestamps de relatórios
  • Cálculos de cronograma
  • Limites de sprint

Tipicamente use o fuso horário do workspace a menos que projeto sirva região específica.

Data de Início do Projeto

Data base para:

  • Cronogramas de projeto
  • Relatórios de progresso
  • Cálculos de duração

Deixe em branco se não aplicável ou defina data de início real do projeto.

Data Alvo de Término

Data de término prevista para:

  • Tracking de deadline
  • Cálculos de cronograma
  • Dashboards de status do projeto

Atualize conforme scope muda para manter precisão.

Auditoria de Configurações

A maioria das alterações de configurações são rastreadas no log de atividade do projeto:

  • Alterações de nome
  • Alterações de visibilidade
  • Alterações de propriedade
  • Toggles de funcionalidades

Administradores podem rever quem alterou o quê e quando.

Melhores Práticas

Higiene de Detalhes do Projeto

Reveja trimestralmente: Detalhes ainda são precisos?

Arquive projetos mortos: Não deixe projetos mortos entulhar vistas.

Use descrições: Contexto futuro economiza tempo.

Estratégia de Funcionalidades

Comece simples: Ative apenas o que precisa inicialmente.

Expanda conforme necessário: Ligue funcionalidades quando se tornarem relevantes.

Treine a equipa: Garanta que equipa sabe o que cada funcionalidade faz.

Cuidados com Zona de Perigo

Verifique duas vezes: Especialmente para eliminações.

Exporte primeiro: Faça downloads antes de ações destrutivas.

Comunique: Deixe equipa saber antes de ações importantes.

Permissões

AçãoPapel Necessário
Ver detalhesMembro do projeto
Editar nome/descriçãoManager, Agency Owner
Alternar funcionalidadesManager, Agency Owner
Alterar visibilidadeManager, Agency Owner
Arquivar projetoManager, Agency Owner
Eliminar projetoAgency Owner

Apenas Agency Owners podem permanentemente eliminar projetos. Managers podem arquivar mas não eliminar.

Resolução de Problemas

Nome Não Guarda

  • Verifique se nome já existe no workspace
  • Verifique se há caracteres especiais não permitidos
  • Confirme que tem permissões de edição

Funcionalidades Não Aparecem

  • Funcionalidade pode estar desligada em configurações
  • Nível de plano pode não incluir funcionalidade
  • Atualize navegador/limpe cache

Eliminação Falha

  • Pode haver integrações ativas que requerem desconexão primeiro
  • Verifique se tem papel de Agency Owner
  • Contate suporte se o problema persistir

Integrações de Projeto

Conecte o seu projeto GitScrum com as ferramentas que a sua equipa já usa. Integrações sincronizam dados, automatizam workflows e mantêm todos informados sem alternar entre apps.

Integrações Disponíveis

O GitScrum integra com ferramentas populares de desenvolvimento, comunicação e automação:

CategoriaIntegrações
ComunicaçãoSlack, Microsoft Teams, Discord
Repositórios de CódigoGitHub, GitLab, Bitbucket
AutomaçãoZapier, Make (anteriormente Integromat)

Disponibilidade varia por plano—algumas integrações requerem Pro ou superior.

Integração Slack

Receba notificações de projeto diretamente nos canais Slack da sua equipa.

Configurar Slack

  1. Clique "Conectar Slack" no painel de integrações
  2. Autorize GitScrum no popup de OAuth do Slack
  3. Selecione o canal padrão para notificações
  4. Configure quais eventos disparam notificações

Eventos Slack

Escolha quais eventos de projeto postam no Slack:

EventoNotificação
Tarefa criadaNova tarefa adicionada ao projeto
Tarefa concluídaTarefa movida para done
Comentário adicionadoNovo comentário em qualquer tarefa
Sprint iniciadoSprint começou
Sprint concluídoSprint terminou
Membro adicionadoNovo membro de equipa entrou

Ative apenas eventos relevantes—muito ruído leva a ignorar notificações.

Múltiplos Canais

Configure canais diferentes para tipos diferentes de notificação:

  • #projeto-geral → todas atualizações
  • #projeto-urgente → apenas tarefas de alta prioridade
  • #projeto-deploy → apenas eventos de integração

Comandos Slash

Uma vez conectado, comandos slash Slack podem estar disponíveis:

/gitscrum status → Estado atual do projeto
/gitscrum tasks → Minhas tarefas atribuídas

Comandos disponíveis dependem do nível de integração.

Desconectar Slack

  1. Clique ícone de configurações na integração Slack
  2. Selecione "Desconectar"
  3. Confirme remoção

Desconectar para notificações mas não elimina histórico de mensagens no Slack.

Integração Microsoft Teams

Notificações de projeto em canais Teams para organizações centradas em Microsoft.

Configurar Teams

  1. Clique "Conectar Microsoft Teams"
  2. Faça login com conta Microsoft/Office 365
  3. Selecione equipa e canal
  4. Configure eventos de notificação

Eventos Teams

Similar ao Slack—selecione quais atividades de projeto notificam:

  • Atualizações de tarefa
  • Eventos de sprint
  • Atividade de comentários
  • Alterações de membros

Cartões Adaptivos

Notificações Teams usam Cartões Adaptivos para formatação rica:

  • Detalhes da tarefa inline
  • Links de ação rápida
  • Atribuição e prioridade exibidas
  • Links diretos para GitScrum

Conectores Teams

Se a sua organização usa Conectores Teams, configure via webhook em vez de OAuth:

  1. Obtenha URL do conector do canal Teams
  2. Cole na configuração de integração GitScrum
  3. Teste conexão

Integração Discord

Para equipas usando Discord como hub de comunicação.

Configurar Discord

  1. Clique "Conectar Discord"
  2. Autorize bot GitScrum no seu servidor
  3. Selecione canal para notificações
  4. Configure tipos de eventos

Configuração de Webhook Discord

Alternativamente, use webhooks Discord:

  1. Em Discord: Configurações do Servidor → Integrações → Webhooks
  2. Criar novo webhook, copiar URL
  3. Colar no GitScrum → Configurações de Integração Discord
  4. Testar conexão

Embeds Discord

Notificações usam embeds Discord formatados:

  • Branding colorido
  • Campos de tarefa organizados
  • Imagens de thumbnail
  • Links de ação

Integrações de Repositórios de Código

Conecte o seu código ao seu projeto. Integrações Git sincronizam commits, branches e pull requests.

Nota: Integrações GitHub, GitLab e Bitbucket tipicamente requerem plano Pro ou superior.

Integração GitHub

Conectar GitHub

  1. Clique "Conectar GitHub"
  2. Autorize GitScrum App no GitHub
  3. Selecione repositório(s) para ligar
  4. Configure preferências de sincronização

Funcionalidades GitHub

FuncionalidadeDescrição
Link de commitCommits referenciam tarefas via ID
Sync de PRPull requests aparecem em tarefas
Atualizações de estadoEstado de PR atualiza tarefas
Verificações de branchProteção de branch baseada em estado de tarefa

Linking de Commit

Inclua IDs de tarefa em mensagens de commit para auto-linking:

git commit -m "Adiciona autenticação de utilizador GS-123"

GS-123 automaticamente liga ao cartão de tarefa no GitScrum.

Sincronização de Pull Request

Pull requests mencionando IDs de tarefa:

  • Aparecem na timeline da tarefa
  • Atualizam estado baseado em merge de PR
  • Mostram estado de CI/CD

Integração GitLab

Conectar GitLab

  1. Clique "Conectar GitLab"
  2. Autorize GitScrum no GitLab (cloud ou self-hosted)
  3. Selecione projeto(s) para ligar
  4. Configure sincronização

GitLab Self-Hosted

Para instâncias GitLab self-hosted:

  1. Introduza URL da sua instância GitLab
  2. Crie Personal Access Token no GitLab
  3. Configure token no GitScrum
  4. Teste conexão

Funcionalidades GitLab

Similar ao GitHub:

  • Linking de commit via IDs de tarefa
  • Sync de Merge Request
  • Atualizações de pipeline
  • Tracking de issues

Integração Bitbucket

Conectar Bitbucket

  1. Clique "Conectar Bitbucket"
  2. Autorize via Atlassian/Bitbucket OAuth
  3. Selecione repositório(s)
  4. Configure preferências de sync

Funcionalidades Bitbucket

  • Linking de commit
  • Sync de Pull Request
  • Atualizações de pipeline
  • Integração com Jira (se usando ambos)

Integrações de Automação

Conecte GitScrum ao seu stack de automação para workflows personalizados.

Integração Zapier

Zapier conecta GitScrum a 5000+ apps via triggers e actions.

Triggers Disponíveis

Eventos GitScrum que podem iniciar Zaps:

  • Nova tarefa criada
  • Tarefa atualizada
  • Tarefa concluída
  • Comentário adicionado
  • Sprint iniciado/terminado

Actions Disponíveis

Coisas que Zapier pode fazer no GitScrum:

  • Criar tarefa
  • Atualizar tarefa
  • Adicionar comentário
  • Mover tarefa para coluna

Exemplos de Zaps

Email → Tarefa: Emails para endereço específico criam tarefas Form → Tarefa: Submissions Google Form tornam-se tarefas Tarefa → Planilha: Tarefas concluídas logam para Google Sheets Calendário → Tarefa: Eventos de calendário criam tarefas

Configurar Zapier

  1. Crie conta Zapier (se não tiver)
  2. Procure "GitScrum" nos apps Zapier
  3. Conecte conta GitScrum
  4. Construa seus Zaps

Integração Make (Integromat)

Make oferece automação visual com funcionalidades avançadas.

Módulos Make

  • Trigger: Observar novos/atualizados itens
  • Action: Criar/atualizar/eliminar itens
  • Search: Encontrar itens existentes
  • Iterator: Processar múltiplos itens

Cenários Make

Construa workflows complexos:

  • Routing condicional baseado em dados de tarefa
  • Agregação de múltiplas fontes
  • Tratamento de erros e retries
  • Agendamento e delays

Configurar Make

  1. Crie conta Make
  2. Adicione módulo GitScrum
  3. Conecte via OAuth ou API key
  4. Construa cenários

Gerir Integrações

Ver Conexões

O painel de integrações mostra todas integrações conectadas:

  • Estado da conexão (ativo/inativo)
  • Última sincronização timestamp
  • Contagem de erros

Estado de Saúde da Integração

EstadoSignificado
AtivoFuncionando normalmente
AvisoAlguns problemas detectados
ErroConexão falhada
DesconectadoIntegração removida

Reconectar Integrações

Se uma integração mostra erro:

  1. Clique na integração
  2. Selecione "Reconectar" ou "Reautorizar"
  3. Complete fluxo OAuth novamente
  4. Teste conexão

Causas comuns de falha:

  • Token de acesso expirado
  • Permissões alteradas no serviço de terceiros
  • API do serviço indisponível temporariamente

Remover Integrações

  1. Clique ícone de configurações na integração
  2. Selecione "Remover" ou "Desconectar"
  3. Confirme remoção

Remover uma integração:

  • Para sincronização de dados
  • Remove configuração armazenada
  • Pode deixar alguns dados históricos
  • Não afeta serviço de terceiros diretamente

Melhores Práticas

Comece Pequeno

  1. Conecte uma integração de cada vez
  2. Teste minuciosamente antes de adicionar mais
  3. Monitore por uma semana antes de expandir

Gerencie Ruído

Muito: Equipa ignora notificações Pouco: Equipa perde atualizações importantes

Encontre equilíbrio:

  • Notificações de alta prioridade em tempo real
  • Resumos de baixa prioridade (diário/semanal)
  • Filtragem específica por canal

Segurança

  • Revise permissões de integração regularmente
  • Remova integrações não utilizadas
  • Use escopo mínimo necessário
  • Audite acesso de integração

Documentação

  • Documente quais integrações estão ativas
  • Registre quem configurou e porquê
  • Mantenha lista de webhooks/tokens

Resolução de Problemas

Integração Não Conecta

  • Verifique se popup não foi bloqueado
  • Tente navegador diferente
  • Verifique permissões no serviço de terceiros
  • Contate suporte se problema persistir

Notificações Não Chegam

  • Verifique se eventos corretos estão selecionados
  • Confirme canal/grupo configurado corretamente
  • Teste conexão manualmente
  • Verifique logs de erro na integração

Sync Atrasado

  • Algumas sincronizações não são em tempo real
  • Verifique status do serviço de terceiros
  • Reconecte se problema persistir

Duplicados

  • Verifique configuração de eventos
  • Pode haver múltiplos webhooks configurados
  • Revise integrações de automação (Zapier/Make)

Permissões

AçãoPapel Necessário
Ver integraçõesMembro do projeto
Conectar integraçãoManager, Agency Owner
Configurar eventosManager, Agency Owner
Remover integraçãoManager, Agency Owner

Membros podem usar funcionalidades de integração (como linking de commits) mas não podem configurar conexões.

Gestão de Membros do Projeto

O separador Membros é onde controla quem pode aceder ao projeto e o que podem fazer. Adicione membros de equipa, atribua papéis e gerencie níveis de permissão.

Modelo de Acesso

O GitScrum usa um modelo de acesso baseado em permissões:

NívelDescrição
Agency OwnerAcesso total, incluindo eliminar projeto
ManagerAcesso administrativo, sem eliminação de projeto
MemberAcesso padrão de equipa
ViewerApenas leitura (disponível em alguns planos)
ClientAcesso externo limitado

Permissões são aditivas—níveis mais altos incluem todas permissões de níveis inferiores.

Vista de Membros

A lista de membros mostra todos com acesso ao projeto:

ColunaInformação
UtilizadorAvatar, nome e email
PapelNível de acesso atual
EstadoAtivo, convidado pendente, inativo
AdicionadoData de entrada no projeto
Última AtividadeÚltima ação no projeto

Ordenação e Filtros

  • Ordenar por nome, papel ou data
  • Filtrar por papel ou estado
  • Pesquisar por nome ou email

Adicionar Membros

De Membros do Workspace

Se o utilizador já é membro do workspace:

  1. Clique "Adicionar Membro"
  2. Pesquise pelo nome ou email
  3. Selecione o(s) utilizador(es)
  4. Escolha papel para atribuir
  5. Clique Adicionar

O utilizador ganha acesso imediato ao projeto.

Convidar Novo Utilizador

Para pessoas que ainda não estão no workspace:

  1. Clique "Convidar"
  2. Introduza endereço de email
  3. Selecione papel inicial
  4. Personalize mensagem de convite (opcional)
  5. Enviar convite

O utilizador recebe email com link para criar conta e aceder ao projeto.

Convites Pendentes

Convites enviados mas não aceites aparecem com estado "Pendente":

  • Reenviar convite se expirou
  • Cancelar convite se já não necessário
  • Ver quando convite foi enviado

Expiração: Convites tipicamente expiram após 7 dias. Reenvie se necessário.

Atribuição de Equipas

Para projetos maiores, atribua equipas inteiras em vez de indivíduos.

Atribuir Equipa

  1. Clique "Adicionar Equipa"
  2. Selecione equipa do dropdown
  3. Escolha papel padrão para membros da equipa
  4. Confirme atribuição

Todos membros da equipa ganham acesso com o papel selecionado.

Membros de Equipa vs Individuais

TipoComportamento
Via EquipaAcesso através de pertença a equipa
IndividualAcesso direto ao projeto

Um utilizador pode ter acesso por ambos—permissão mais alta prevalece.

Remover Equipa

Remover uma equipa remove acesso para todos membros que não têm acesso individual separado.

Gestão de Papéis

Alterar Papel

  1. Localize membro na lista
  2. Clique no papel atual
  3. Selecione novo papel do dropdown
  4. Confirme alteração

Alteração é imediata—permissões atualizam instantaneamente.

Papéis Detalhados

Agency Owner:

  • Todas permissões de Manager
  • Eliminar projeto
  • Transferir propriedade
  • Gestão de faturação

Manager:

  • Todas permissões de Member
  • Configurações do projeto
  • Gestão de membros
  • Configuração de integrações
  • Exportação de dados

Member:

  • Ver todo conteúdo do projeto
  • Criar e editar tarefas
  • Comentar e colaborar
  • Registar tempo
  • Participar em sprints

Viewer:

  • Ver tarefas e progresso
  • Ver documentação wiki
  • Ver dashboards
  • Não pode editar nada

Client:

  • Vista limitada configurável
  • Tipicamente apenas tarefas específicas
  • Sem acesso a dados internos

Múltiplos Papéis

Utilizadores podem ter papéis diferentes em projetos diferentes dentro do mesmo workspace.

Remover Membros

Remover Individual

  1. Localize membro na lista
  2. Clique no menu de ações (⋮)
  3. Selecione "Remover do projeto"
  4. Confirme remoção

O utilizador perde acesso imediato mas permanece no workspace.

Impacto da Remoção

Quando membro é removido:

  • Perde acesso ao projeto
  • Tarefas atribuídas permanecem atribuídas
  • Comentários e histórico preservados
  • Registo de tempo permanece

Reatribuir tarefas: Considere reatribuir tarefas antes de remover membro.

Desativar vs Remover

AçãoEfeito
RemoverSem acesso, não aparece em atribuições
DesativarSem acesso, aparece como inativo

Desativar preserva associação para referência histórica.

Permissões Granulares

Alguns planos oferecem controlo granular além de papéis:

Permissões de Funcionalidade

Controle acesso a funcionalidades específicas:

  • Registo de tempo: pode/não pode registar
  • Wiki: pode/não pode editar
  • Sprints: pode/não pode gerir
  • Relatórios: pode/não pode exportar

Permissões de Dados

Controle visibilidade de dados:

  • Ver taxas horárias
  • Ver orçamento
  • Ver informação de outros membros
  • Aceder relatórios financeiros

Configurar Permissões Granulares

  1. Localize membro
  2. Clique "Permissões"
  3. Ajuste toggles individuais
  4. Guarde

Auditoria de Acesso

Rastreie alterações de acesso ao projeto:

Log de Atividade

EventoRegistado
Membro adicionadoQuem, quando, por quem
Membro removidoQuem, quando, por quem
Papel alteradoDe/para, quando, por quem
Convite enviadoPara quem, quando
Convite aceiteQuando

Rever Auditoria

Acesse via:

  1. Configurações do projeto → Membros → Log de auditoria
  2. Ou via log de atividade geral do projeto

Melhores Práticas

Princípio do Menor Privilégio

Conceda apenas permissões necessárias:

  • Comece com papel Member
  • Eleve apenas quando necessário
  • Revise papéis periodicamente

Organização por Equipas

Para projetos maiores:

  • Use equipas para grupos funcionais
  • Atribuições individuais para exceções
  • Documente razão de papéis elevados

Higiene de Membros

Regularmente:

  • Remova membros inativos
  • Revise convites pendentes
  • Atualize papéis conforme responsabilidades mudam

Onboarding

Quando adicionar novos membros:

  • Defina papel apropriado desde início
  • Comunique expectativas de acesso
  • Aponte para documentação relevante

Offboarding

Quando membros saem:

  • Reatribua tarefas primeiro
  • Remova acesso prontamente
  • Documente transferência de conhecimento

Resolução de Problemas

Membro Não Consegue Aceder

Verifique:

  • Convite foi aceite?
  • Papel tem permissão necessária?
  • Projeto é privado e membro está incluído?
  • Conta está ativa no workspace?

Não Consigo Adicionar Membros

Possíveis causas:

  • Limite de utilizadores do plano atingido
  • Não tem permissão (precisa ser Manager+)
  • Utilizador já é membro
  • Email inválido

Permissões Não Funcionam

  • Alterações são imediatas—refrescar página
  • Verifique se há conflito de permissões (equipa vs individual)
  • Papel mais alto sempre prevalece

Convite Não Chega

  • Verifique pasta de spam
  • Confirme email correto
  • Reenvie convite
  • Verifique com administrador de email corporativo

Permissões para Gestão de Membros

AçãoPapel Necessário
Ver membrosTodos (Member+)
Adicionar membrosManager, Agency Owner
Remover membrosManager, Agency Owner
Alterar papéisManager, Agency Owner
Enviar convitesManager, Agency Owner
Ver auditoriaManager, Agency Owner
Configurar permissões granularesAgency Owner

Managers não podem promover outros a Manager ou Agency Owner—apenas Agency Owners podem.

Configurações de Cronograma do Projeto

O separador Cronograma configura quando o trabalho acontece. Defina dias de trabalho, horas por dia, feriados e override de cronograma. Estas configurações alimentam cálculos de capacidade, planeamento de sprint e previsões de cronograma.

Por Que Cronograma Importa

Configuração precisa de cronograma permite:

  • Cálculos de capacidade de sprint: Quantas horas a equipa pode trabalhar
  • Cronogramas realistas: Datas baseadas em tempo real de trabalho
  • Tracking de utilização: Comparar trabalho real vs disponível
  • Previsões de prazo: Estimativas precisas de conclusão

Cronograma padrão assume semana de trabalho de 5 dias, 8 horas/dia. Ajuste para corresponder à realidade da sua equipa.

Dias de Trabalho

Selecione quais dias são dias de trabalho para este projeto.

Configuração Padrão

DiaPadrão
Segunda✓ Dia de trabalho
Terça✓ Dia de trabalho
Quarta✓ Dia de trabalho
Quinta✓ Dia de trabalho
Sexta✓ Dia de trabalho
Sábado✗ Folga
Domingo✗ Folga

Personalizar Dias de Trabalho

  1. Localize secção de dias de trabalho
  2. Toggle liga/desliga por dia
  3. Guarde alterações

Casos de uso comuns:

  • Semana de 4 dias: Desmarque sexta-feira
  • Equipa do Médio Oriente: Trabalha domingo-quinta, folga sexta-sábado
  • Suporte 7 dias: Todos dias marcados como trabalho

Impacto nas Funcionalidades

Dias de trabalho afetam:

  • Duração de sprint em dias de trabalho
  • Velocidade de burndown
  • Cálculos de capacidade
  • Previsões de datas

Dias de folga são excluídos de cálculos de cronograma.

Horas por Dia

Defina quantas horas constituem um dia de trabalho completo.

Configuração

  1. Localize campo "Horas por dia"
  2. Introduza número (ex: 8, 6, 7.5)
  3. Guarde

Valores Comuns

ConfiguraçãoContexto
8 horasJornada padrão tempo integral
7.5 horasConta para pausas
6 horasTempo parcial ou jornada reduzida
4 horasMeio período

Impacto nos Cálculos

Horas por dia determinam:

  • Horas de capacidade de sprint = dias × horas/dia × membros
  • Percentagem de utilização de tempo
  • Conversão de estimativas de story points para horas

Exemplo: Sprint de 2 semanas, 5 membros, 8 horas/dia:

10 dias de trabalho × 8 horas × 5 membros = 400 horas de capacidade

Feriados

Configure feriados e dias não trabalhados específicos. Feriados são excluídos de cálculos mesmo que caiam em dia de trabalho.

Adicionar Feriado

  1. Clique "Adicionar Feriado"
  2. Selecione data
  3. Introduza nome/descrição
  4. Escolha se recorrente (anual)
  5. Guarde

Tipos de Feriado

TipoComportamento
ÚnicoApenas nessa data específica
RecorrenteMesmo dia todo ano
PeríodoRange de datas (ex: férias coletivas)

Feriados Comuns para Configurar

Portugal:

  • 1 Janeiro - Ano Novo
  • 25 Abril - Dia da Liberdade
  • 1 Maio - Dia do Trabalhador
  • 10 Junho - Dia de Portugal
  • 15 Agosto - Assunção de Nossa Senhora
  • 5 Outubro - Implantação da República
  • 1 Novembro - Todos os Santos
  • 1 Dezembro - Restauração da Independência
  • 8 Dezembro - Imaculada Conceição
  • 25 Dezembro - Natal

Móveis:

  • Sexta-feira Santa
  • Páscoa
  • Corpo de Deus
  • Carnaval (algumas empresas)

Feriados vs Férias Individuais

TipoConfiguração
FeriadoConfigurações de projeto (afeta todos)
FériasConfigurações individuais de utilizador

Feriados de projeto são universais para toda equipa neste projeto.

Editar/Remover Feriados

  1. Localize feriado na lista
  2. Clique para editar ou ícone de eliminar
  3. Confirme alterações

Alterações afetam cálculos futuros imediatamente.

Override de Cronograma

Para situações que não seguem padrão regular, use overrides.

Tipos de Override

Dia de trabalho excepcional: Trabalhar num sábado específico

Sábado 15 Março → Marcado como dia de trabalho

Dia de folga excepcional: Folga numa segunda específica

Segunda 20 Março → Marcado como folga

Configurar Override

  1. Clique "Adicionar Override"
  2. Selecione data
  3. Escolha tipo (trabalho/folga)
  4. Adicione nota explicativa (opcional)
  5. Guarde

Precedência

Ordem de precedência para determinar se dia é trabalhado:

  1. Override específico (mais alto)
  2. Feriado
  3. Configuração de dia de trabalho (mais baixo)

Override sempre ganha sobre configurações padrão.

Fusos Horários

Fuso Horário do Projeto

Defina fuso horário usado para:

  • Timestamps de relatórios
  • Limites de sprint (início/fim)
  • Cálculos de datas

Recomendação: Use fuso horário da maioria da equipa ou do cliente.

Equipas Distribuídas

Para equipas em múltiplos fusos:

  • Escolha fuso de referência
  • Documente para equipa
  • Considere impacto em reuniões de sprint

Capacidade e Planeamento

Como Capacidade Calcula

Capacidade = Dias de trabalho no período × Horas por dia × Membros × Disponibilidade

Exemplo prático:

  • Sprint: 10 dias úteis
  • Horas/dia: 8
  • Membros: 4
  • Feriados no período: 1 dia
  • Capacidade base: (10-1) × 8 × 4 = 288 horas

Ajustes de Disponibilidade

Capacidade real pode ser menor devido a:

  • Férias individuais
  • Tempo parcial
  • Reuniões e overhead
  • Trabalho em outros projetos

Regra prática: Capacidade efetiva ~70-80% do teórico.

Integração com Sprints

Configurações de cronograma integram diretamente com sprints:

Duração de Sprint

Ao criar sprint, duração calcula em dias de trabalho:

  • Sprint de "2 semanas" = 10 dias de trabalho (não 14 dias calendário)
  • Feriados no período são excluídos automaticamente

Burndown

Gráfico de burndown usa dias de trabalho no eixo X. Fins de semana e feriados não aparecem—linha deve descer consistentemente.

Velocity

Cálculos de velocity consideram capacidade real baseada em cronograma configurado.

Configurações Herdadas

Hierarquia de Configurações

NívelPrioridade
ProjetoMais alta
WorkspacePadrão
UtilizadorIndividual

Configuração de projeto sobrepõe padrão do workspace.

Herdar do Workspace

Opção para usar configurações do workspace em vez de personalizadas:

  1. Toggle "Herdar configurações do workspace"
  2. Projeto usa automaticamente configuração do workspace
  3. Alterações no workspace refletem no projeto

Útil para consistência entre projetos.

Melhores Práticas

Precisão é Chave

Configure cronograma para refletir realidade:

  • Se equipa realmente trabalha 7 horas/dia, configure 7
  • Se sextas são meio-dia, ajuste horas
  • Atualize quando padrões mudam

Antecipe Feriados

No início de cada trimestre:

  1. Adicione todos feriados conhecidos
  2. Inclua férias coletivas
  3. Considere eventos da empresa

Comunique Alterações

Quando alterar cronograma:

  • Informe equipa
  • Explique impacto em sprints ativos
  • Documente razão da alteração

Revise Periodicamente

Trimestralmente:

  • Cronograma ainda reflete realidade?
  • Feriados estão atualizados?
  • Horas/dia são precisas?

Resolução de Problemas

Capacidade Parece Errada

Verifique:

  • Dias de trabalho configurados corretamente
  • Horas por dia precisas
  • Feriados no período considerados
  • Membros da equipa contados corretamente

Sprint Muito Longo/Curto

Se duração de sprint não corresponde a expectativas:

  • Verifique configuração de dias de trabalho
  • Confirme feriados no período
  • Verifique se há overrides

Burndown Irregular

Padrão de burndown estranho pode indicar:

  • Fins de semana incluídos erroneamente
  • Feriados não configurados
  • Horas/dia inconsistente

Datas de Deadline Incorretas

Previsões de deadline dependem de:

  • Dias de trabalho corretos
  • Feriados configurados
  • Horas/dia precisas

Permissões

AçãoPapel Necessário
Ver cronogramaTodos (Member+)
Editar dias de trabalhoManager, Agency Owner
Editar horas/diaManager, Agency Owner
Gerir feriadosManager, Agency Owner
Criar overridesManager, Agency Owner

Membros podem ver configurações mas não alterar.

Webhooks do Projeto

Webhooks permitem que o GitScrum envie notificações HTTP em tempo real para seus sistemas quando eventos ocorrem. Em vez de polling da API, receba push notifications instantâneas sobre criação de tarefas, atualizações de sprint, comentários e mais.

O Que São Webhooks

Webhooks são callbacks HTTP—quando algo acontece no GitScrum, enviamos um HTTP POST para a URL que você especificar.

Fluxo:

  1. Evento ocorre no GitScrum (ex: tarefa criada)
  2. GitScrum faz POST para sua URL de webhook
  3. Seu sistema recebe dados do evento
  4. Seu sistema processa conforme necessário

Use cases comuns:

  • Sincronizar dados com sistema externo
  • Disparar pipelines CI/CD
  • Atualizar dashboards em tempo real
  • Enviar notificações personalizadas
  • Integrar com ferramentas internas

Configurar Webhooks

Criar Webhook

  1. Navegue para Configurações do Projeto → Webhooks
  2. Clique "Adicionar Webhook"
  3. Configure:
  • URL: Endpoint que receberá eventos
  • Eventos: Quais eventos disparar
  • Secret: Chave para validação (opcional mas recomendado)
  1. Salve configuração

Campos de Configuração

CampoDescriçãoObrigatório
NomeIdentificador para o webhookSim
URLEndpoint HTTP(S)Sim
EventosLista de eventos para enviarSim
SecretChave para assinatura HMACNão
AtivoToggle liga/desligaSim

Requisitos de URL

  • Deve ser HTTPS (HTTP aceito apenas para localhost/desenvolvimento)
  • Deve responder com 2xx em menos de 30 segundos
  • Deve aceitar POST requests
  • Deve aceitar Content-Type: application/json

Eventos Disponíveis

Eventos de Tarefa

EventoDispara Quando
task.createdNova tarefa criada
task.updatedTarefa editada
task.deletedTarefa removida
task.movedTarefa muda de coluna
task.assignedAtribuição alterada
task.completedTarefa marcada como completa

Eventos de Sprint

EventoDispara Quando
sprint.createdNovo sprint criado
sprint.startedSprint iniciado
sprint.completedSprint finalizado
sprint.updatedSprint editado

Eventos de Comentário

EventoDispara Quando
comment.createdNovo comentário
comment.updatedComentário editado
comment.deletedComentário removido

Eventos de Membro

EventoDispara Quando
member.addedMembro adicionado ao projeto
member.removedMembro removido do projeto
member.role_changedPapel de membro alterado

Eventos de Registo de Tempo

EventoDispara Quando
time_entry.createdTempo registado
time_entry.updatedEntrada de tempo editada
time_entry.deletedEntrada de tempo removida

Todos Eventos

Selecione "Todos eventos" para receber notificações de qualquer evento. Use com cuidado—pode gerar muito tráfego.

Estrutura do Payload

Formato Geral

{
  "event": "task.created",
  "timestamp": "2024-01-15T10:30:00Z",
  "project": {
    "id": "proj_abc123",
    "name": "Meu Projeto"
  },
  "data": {
    // Dados específicos do evento
  }
}

Exemplo: task.created

{
  "event": "task.created",
  "timestamp": "2024-01-15T10:30:00Z",
  "project": {
    "id": "proj_abc123",
    "name": "Portal de Cliente"
  },
  "data": {
    "task": {
      "id": "task_xyz789",
      "title": "Implementar login OAuth",
      "description": "Adicionar suporte a Google e GitHub OAuth",
      "status": "todo",
      "priority": "high",
      "assignee": {
        "id": "user_123",
        "name": "João Silva"
      },
      "created_by": {
        "id": "user_456",
        "name": "Maria Santos"
      },
      "created_at": "2024-01-15T10:30:00Z"
    }
  }
}

Exemplo: task.moved

{
  "event": "task.moved",
  "timestamp": "2024-01-15T14:22:00Z",
  "project": {
    "id": "proj_abc123",
    "name": "Portal de Cliente"
  },
  "data": {
    "task": {
      "id": "task_xyz789",
      "title": "Implementar login OAuth"
    },
    "from_column": {
      "id": "col_001",
      "name": "To Do"
    },
    "to_column": {
      "id": "col_002",
      "name": "In Progress"
    },
    "moved_by": {
      "id": "user_123",
      "name": "João Silva"
    }
  }
}

Segurança de Webhooks

Verificação de Assinatura

Se configurar um secret, GitScrum inclui assinatura HMAC-SHA256 no header:

X-GitScrum-Signature: sha256=abc123...

Verificar Assinatura (Exemplo PHP)

$payload = file_get_contents('php://input');
$signature = $_SERVER['HTTP_X_GITSCRUM_SIGNATURE'];
$secret = 'seu_secret_aqui';

$expected = 'sha256=' . hash_hmac('sha256', $payload, $secret);

if (!hash_equals($expected, $signature)) {
    http_response_code(401);
    die('Assinatura inválida');
}

Verificar Assinatura (Node.js)

const crypto = require('crypto');

function verifySignature(payload, signature, secret) {
  const expected = 'sha256=' + crypto
    .createHmac('sha256', secret)
    .update(payload)
    .digest('hex');
  
  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(expected)
  );
}

Melhores Práticas de Segurança

  • Sempre use HTTPS em produção
  • Sempre configure secret e valide assinaturas
  • Valide payload antes de processar
  • Use allowlist de IPs se possível
  • Não exponha secrets em logs ou erros

Headers de Webhook

Cada request inclui headers informativos:

HeaderDescrição
X-GitScrum-EventTipo de evento
X-GitScrum-SignatureAssinatura HMAC (se secret configurado)
X-GitScrum-DeliveryID único da entrega
X-GitScrum-TimestampTimestamp Unix do evento
Content-Typeapplication/json
User-AgentGitScrum-Webhook/1.0

Testando Webhooks

Teste Manual

  1. Configure webhook apontando para serviço de teste (ex: webhook.site, requestbin)
  2. Dispare evento no GitScrum (crie tarefa, etc.)
  3. Verifique request recebido

Botão de Teste

Na configuração do webhook:

  1. Clique "Testar Webhook"
  2. GitScrum envia payload de teste
  3. Verifique resposta

Payload de teste inclui "test": true para identificação.

Reenviar Eventos

No histórico de webhooks:

  1. Localize entrega específica
  2. Clique "Reenviar"
  3. GitScrum tenta entregar novamente

Lógica de Retry

Se entrega falhar, GitScrum tenta novamente:

TentativaDelay
1Imediato
21 minuto
35 minutos
430 minutos
52 horas

Após 5 falhas, entrega é marcada como falhada.

O Que Conta Como Falha

  • Timeout (>30 segundos)
  • Response code não 2xx
  • Erro de conexão
  • Certificado SSL inválido

O Que Conta Como Sucesso

  • Response code 200-299
  • Resposta em <30 segundos
  • Conexão estabelecida com sucesso

Histórico de Entregas

Visualize histórico de webhooks enviados:

InformaçãoDescrição
EventoTipo de evento
DataQuando foi disparado
EstadoSucesso/Falha
Response CodeCódigo HTTP retornado
DuraçãoTempo de resposta

Filtros de Histórico

  • Por tipo de evento
  • Por estado (sucesso/falha)
  • Por data

Detalhes de Entrega

Clique em entrega para ver:

  • Payload enviado
  • Headers enviados
  • Response recebido
  • Timeline de tentativas

Gerenciamento de Webhooks

Listar Webhooks

A página mostra todos webhooks configurados:

  • Nome e URL
  • Eventos configurados
  • Estado (ativo/inativo)
  • Última entrega

Editar Webhook

  1. Clique no webhook
  2. Modifique configurações
  3. Salve

Alterações aplicam apenas a eventos futuros.

Pausar Webhook

Toggle "Ativo" para pausar entregas sem eliminar configuração. Eventos durante pausa são perdidos.

Eliminar Webhook

  1. Clique em eliminar
  2. Confirme

Eliminação é permanente. Histórico de entregas também é removido.

Webhooks vs Polling

AspectoWebhooksPolling
Tempo realSimNão (delay entre polls)
EficiênciaAlta (só envia quando há evento)Baixa (consultas constantes)
ComplexidadeMédia (precisa endpoint)Baixa (só precisa fazer GET)
ConfiabilidadePode perder eventosMais confiável

Recomendação: Use webhooks para reações em tempo real, polling para sincronização garantida.

Melhores Práticas

Design de Endpoint

  • Responda rápido: Processe em background, responda 200 imediatamente
  • Idempotência: Use delivery ID para evitar processar duplicados
  • Logging: Log todos webhooks recebidos para debug

Escalabilidade

  • Use filas para processar webhooks (RabbitMQ, SQS, etc.)
  • Não bloqueie resposta com processamento longo
  • Considere rate limiting no seu lado

Monitoramento

  • Monitore taxa de falha
  • Alerte em falhas consecutivas
  • Revise logs regularmente

Resolução de Problemas

Webhook Não Recebido

Verifique:

  • URL correta e acessível
  • Firewall permite conexões de GitScrum
  • SSL válido (se HTTPS)
  • Webhook está ativo
  • Evento está selecionado

Assinatura Inválida

  • Secret configurado corretamente em ambos lados?
  • Payload não foi modificado?
  • Encoding consistente (UTF-8)?

Timeouts Frequentes

  • Endpoint responde em <30 segundos?
  • Processamento em background implementado?
  • Infraestrutura suporta carga?

Eventos Duplicados

  • Use delivery ID para deduplicação
  • Implemente processamento idempotente
  • Pode haver retries após falhas temporárias

Permissões

AçãoPapel Necessário
Ver webhooksManager, Agency Owner
Criar webhookManager, Agency Owner
Editar webhookManager, Agency Owner
Eliminar webhookManager, Agency Owner
Ver históricoManager, Agency Owner

Membros regulares não têm acesso a webhooks—apenas managers e acima.