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.
Navegação Entre Separadores
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
- Começar com Detalhes — nome, descrição, visibilidade
- Configurar Horário de Trabalho — definir horas e dias de trabalho
- Adicionar Membros — convidar a equipa
- Ligar Integrações — vincular repositórios se relevante
- 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
- Configurar Webhooks para eventos necessários
- Gerar tokens API para ferramentas externas
- Documentar endpoints e headers de auth
- 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étrica | Significado |
|---|---|
| Total de Pedidos | Máximo de pedidos permitidos por período |
| Disponíveis | Pedidos restantes no período atual |
| Período | Janela temporal para reset do limite |
Escalões de Limite de Taxa
| Plano | Pedidos/Hora |
|---|---|
| Standard | 1.000 |
| Pro | 5.000 |
| Enterprise | Personalizado |
Resposta de Limite de Taxa
Quando atinge o limite:
- API retorna
429 Too Many Requests - Header
Retry-Afterindica 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:
| Coluna | Conteúdo |
|---|---|
| Método | Método HTTP (GET, POST, PUT, DELETE) |
| Endpoint | Caminho API chamado |
| Hora | Quando 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:
- Botão dispara verificação de autenticação
- Modal exibe credenciais
- 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:
- Gere novas credenciais
- Atualize todas integrações
- 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_SECRETOu use HTTP Basic Auth:
Authorization: Basic base64(API_KEY:API_SECRET)URL Base
Todos pedidos API usam:
https://services.gitscrum.com/v1Formato de Pedido
Headers:
Content-Type: application/json
Accept: application/json
Authorization: Bearer YOUR_API_KEYExemplo 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étodo | Endpoint | Ação |
|---|---|---|
| GET | /tasks | Listar todas tarefas |
| GET | /tasks/{uuid} | Obter tarefa única |
| POST | /tasks | Criar tarefa |
| PUT | /tasks/{uuid} | Atualizar tarefa |
| DELETE | /tasks/{uuid} | Eliminar tarefa |
Sprints
| Método | Endpoint | Ação |
|---|---|---|
| GET | /sprints | Listar sprints |
| GET | /sprints/{uuid} | Obter detalhes do sprint |
| POST | /sprints | Criar sprint |
| PUT | /sprints/{uuid} | Atualizar sprint |
Entradas de Tempo
| Método | Endpoint | Ação |
|---|---|---|
| GET | /time-entries | Listar entradas de tempo |
| POST | /time-entries | Registar tempo |
| PUT | /time-entries/{uuid} | Atualizar entrada |
| DELETE | /time-entries/{uuid} | Remover entrada |
Membros
| Método | Endpoint | Ação |
|---|---|---|
| GET | /members | Listar 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ódigo | Significado |
|---|---|
| 200 | Sucesso |
| 201 | Criado |
| 204 | Sem conteúdo (delete bem-sucedido) |
| 400 | Pedido inválido (erro de validação) |
| 401 | Não autorizado (credenciais inválidas) |
| 403 | Proibido (permissões insuficientes) |
| 404 | Não encontrado |
| 429 | Limite de taxa excedido |
| 500 | Erro de servidor |
Paginação
Endpoints de lista retornam resultados paginados:
Parâmetros de Query
| Parâmetro | Padrão | Descrição |
|---|---|---|
page | 1 | Número da página |
per_page | 25 | Itens por página (máx 100) |
Exemplo
GET /tasks?page=2&per_page=50Filtragem
Muitos endpoints suportam filtragem:
Filtros de Tarefas
| Parâmetro | Exemplo |
|---|---|
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âmetro | Exemplo |
|---|---|
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ção | Papel Necessário |
|---|---|
| Ver configurações API | Manager, Agency Owner |
| Obter credenciais | Manager, Agency Owner |
| Regenerar credenciais | Agency Owner |
| Ver log de pedidos | Manager, 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-Separador | Propósito |
|---|---|
| Alocação | Ver alocação de tempo da equipa e horas faturáveis |
| Taxas | Definir taxas horárias por utilizador |
| Alertas | Configurar notificações de limiar de orçamento |
| Configurações | Taxas 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:
| Coluna | Descrição |
|---|---|
| Membro | Avatar, nome e papel do utilizador |
| Horas Registadas | Tempo total rastreado contra projeto |
| Horas Faturáveis | Porção marcada como faturável |
| % Faturável | Percentagem de tempo que é faturável |
| Custo | Horas × 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
| Coluna | Descrição |
|---|---|
| Membro | Utilizador com taxa personalizada |
| Taxa | Taxa horária para este utilizador |
| Ações | Editar ou remover taxa personalizada |
Adicionar Taxa Personalizada
- Clique botão "Adicionar Taxa"
- Selecione membro de equipa do dropdown
- Introduza taxa horária
- 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
| Tipo | Propósito | Visual |
|---|---|---|
| Aviso | Aproximando limiar | Indicador amarelo |
| Crítico | Limiar excedido | Indicador 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:
- Estado do alerta muda para Aviso ou Crítico
- Notificação envia (email, in-app)
- Alerta aparece no dashboard
- 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:
- Clique "Adicionar Alerta"
- Defina limiar (montante ou percentagem)
- Escolha tipo de alerta (aviso/crítico)
- Configure destinatários de notificação
- 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 × TaxaHoras: 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
- Taxa personalizada do utilizador (se definida)
- Taxa padrão do projeto (se definida)
- 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ção | Papel Necessário |
|---|---|
| Ver alocação | Membro do projeto |
| Ver taxas | Manager, Agency Owner |
| Editar taxas | Manager, Agency Owner |
| Configurar alertas | Manager, Agency Owner |
| Alterar configurações | Manager, 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
- Clique no campo de nome
- Introduza novo nome
- 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:
| Categoria | Casos de Uso |
|---|---|
| Cliente | Trabalho de projeto para clientes externos |
| Interno | Projetos operacionais da empresa |
| Produto | Desenvolvimento de produto próprio |
| Suporte | Suporte a cliente/trabalho de manutenção |
| Outro | Qualquer 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
| Funcionalidade | Descrição |
|---|---|
| Sprints | Timeboxes de sprint e burndown |
| Registo de Tempo | Tracking de tempo em tarefas |
| Wiki | Documentação de projeto |
| User Stories | Funcionalidade de gestão de user stories |
| OKRs | Objectives and Key Results |
| Orçamento | Tracking 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
Carregar Logo
- Clique na área de carregamento ou arraste imagem
- Pré-visualize o resultado recortado
- Ajuste se necessário
- Clique Guardar
Remover Logo
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:
- Localize opção de transferência (se disponível)
- Selecione novo proprietário
- 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:
- Clique Eliminar Projeto
- Leia aviso de confirmação
- Digite nome do projeto exatamente
- 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ção | Visibilidade |
|---|---|
| Privado | Apenas membros atribuídos veem projeto |
| Público | Todos 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
- Localize configuração de visibilidade
- Alterne entre público/privado
- 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ção | Papel Necessário |
|---|---|
| Ver detalhes | Membro do projeto |
| Editar nome/descrição | Manager, Agency Owner |
| Alternar funcionalidades | Manager, Agency Owner |
| Alterar visibilidade | Manager, Agency Owner |
| Arquivar projeto | Manager, Agency Owner |
| Eliminar projeto | Agency 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:
| Categoria | Integrações |
|---|---|
| Comunicação | Slack, Microsoft Teams, Discord |
| Repositórios de Código | GitHub, GitLab, Bitbucket |
| Automação | Zapier, 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
- Clique "Conectar Slack" no painel de integrações
- Autorize GitScrum no popup de OAuth do Slack
- Selecione o canal padrão para notificações
- Configure quais eventos disparam notificações
Eventos Slack
Escolha quais eventos de projeto postam no Slack:
| Evento | Notificação |
|---|---|
| Tarefa criada | Nova tarefa adicionada ao projeto |
| Tarefa concluída | Tarefa movida para done |
| Comentário adicionado | Novo comentário em qualquer tarefa |
| Sprint iniciado | Sprint começou |
| Sprint concluído | Sprint terminou |
| Membro adicionado | Novo 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ídasComandos disponíveis dependem do nível de integração.
Desconectar Slack
- Clique ícone de configurações na integração Slack
- Selecione "Desconectar"
- 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
- Clique "Conectar Microsoft Teams"
- Faça login com conta Microsoft/Office 365
- Selecione equipa e canal
- 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:
- Obtenha URL do conector do canal Teams
- Cole na configuração de integração GitScrum
- Teste conexão
Integração Discord
Para equipas usando Discord como hub de comunicação.
Configurar Discord
- Clique "Conectar Discord"
- Autorize bot GitScrum no seu servidor
- Selecione canal para notificações
- Configure tipos de eventos
Configuração de Webhook Discord
Alternativamente, use webhooks Discord:
- Em Discord: Configurações do Servidor → Integrações → Webhooks
- Criar novo webhook, copiar URL
- Colar no GitScrum → Configurações de Integração Discord
- 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
- Clique "Conectar GitHub"
- Autorize GitScrum App no GitHub
- Selecione repositório(s) para ligar
- Configure preferências de sincronização
Funcionalidades GitHub
| Funcionalidade | Descrição |
|---|---|
| Link de commit | Commits referenciam tarefas via ID |
| Sync de PR | Pull requests aparecem em tarefas |
| Atualizações de estado | Estado de PR atualiza tarefas |
| Verificações de branch | Proteçã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
- Clique "Conectar GitLab"
- Autorize GitScrum no GitLab (cloud ou self-hosted)
- Selecione projeto(s) para ligar
- Configure sincronização
GitLab Self-Hosted
Para instâncias GitLab self-hosted:
- Introduza URL da sua instância GitLab
- Crie Personal Access Token no GitLab
- Configure token no GitScrum
- 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
- Clique "Conectar Bitbucket"
- Autorize via Atlassian/Bitbucket OAuth
- Selecione repositório(s)
- 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
- Crie conta Zapier (se não tiver)
- Procure "GitScrum" nos apps Zapier
- Conecte conta GitScrum
- 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
- Crie conta Make
- Adicione módulo GitScrum
- Conecte via OAuth ou API key
- 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
| Estado | Significado |
|---|---|
| Ativo | Funcionando normalmente |
| Aviso | Alguns problemas detectados |
| Erro | Conexão falhada |
| Desconectado | Integração removida |
Reconectar Integrações
Se uma integração mostra erro:
- Clique na integração
- Selecione "Reconectar" ou "Reautorizar"
- Complete fluxo OAuth novamente
- 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
- Clique ícone de configurações na integração
- Selecione "Remover" ou "Desconectar"
- 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
- Conecte uma integração de cada vez
- Teste minuciosamente antes de adicionar mais
- 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ção | Papel Necessário |
|---|---|
| Ver integrações | Membro do projeto |
| Conectar integração | Manager, Agency Owner |
| Configurar eventos | Manager, Agency Owner |
| Remover integração | Manager, 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ível | Descrição |
|---|---|
| Agency Owner | Acesso total, incluindo eliminar projeto |
| Manager | Acesso administrativo, sem eliminação de projeto |
| Member | Acesso padrão de equipa |
| Viewer | Apenas leitura (disponível em alguns planos) |
| Client | Acesso 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:
| Coluna | Informação |
|---|---|
| Utilizador | Avatar, nome e email |
| Papel | Nível de acesso atual |
| Estado | Ativo, convidado pendente, inativo |
| Adicionado | Data 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:
- Clique "Adicionar Membro"
- Pesquise pelo nome ou email
- Selecione o(s) utilizador(es)
- Escolha papel para atribuir
- Clique Adicionar
O utilizador ganha acesso imediato ao projeto.
Convidar Novo Utilizador
Para pessoas que ainda não estão no workspace:
- Clique "Convidar"
- Introduza endereço de email
- Selecione papel inicial
- Personalize mensagem de convite (opcional)
- 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
- Clique "Adicionar Equipa"
- Selecione equipa do dropdown
- Escolha papel padrão para membros da equipa
- Confirme atribuição
Todos membros da equipa ganham acesso com o papel selecionado.
Membros de Equipa vs Individuais
| Tipo | Comportamento |
|---|---|
| Via Equipa | Acesso através de pertença a equipa |
| Individual | Acesso 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
- Localize membro na lista
- Clique no papel atual
- Selecione novo papel do dropdown
- 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
- Localize membro na lista
- Clique no menu de ações (⋮)
- Selecione "Remover do projeto"
- 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ção | Efeito |
|---|---|
| Remover | Sem acesso, não aparece em atribuições |
| Desativar | Sem 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
- Localize membro
- Clique "Permissões"
- Ajuste toggles individuais
- Guarde
Auditoria de Acesso
Rastreie alterações de acesso ao projeto:
Log de Atividade
| Evento | Registado |
|---|---|
| Membro adicionado | Quem, quando, por quem |
| Membro removido | Quem, quando, por quem |
| Papel alterado | De/para, quando, por quem |
| Convite enviado | Para quem, quando |
| Convite aceite | Quando |
Rever Auditoria
Acesse via:
- Configurações do projeto → Membros → Log de auditoria
- 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ção | Papel Necessário |
|---|---|
| Ver membros | Todos (Member+) |
| Adicionar membros | Manager, Agency Owner |
| Remover membros | Manager, Agency Owner |
| Alterar papéis | Manager, Agency Owner |
| Enviar convites | Manager, Agency Owner |
| Ver auditoria | Manager, Agency Owner |
| Configurar permissões granulares | Agency 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
| Dia | Padrã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
- Localize secção de dias de trabalho
- Toggle liga/desliga por dia
- 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
- Localize campo "Horas por dia"
- Introduza número (ex: 8, 6, 7.5)
- Guarde
Valores Comuns
| Configuração | Contexto |
|---|---|
| 8 horas | Jornada padrão tempo integral |
| 7.5 horas | Conta para pausas |
| 6 horas | Tempo parcial ou jornada reduzida |
| 4 horas | Meio 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 capacidadeFeriados
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
- Clique "Adicionar Feriado"
- Selecione data
- Introduza nome/descrição
- Escolha se recorrente (anual)
- Guarde
Tipos de Feriado
| Tipo | Comportamento |
|---|---|
| Único | Apenas nessa data específica |
| Recorrente | Mesmo dia todo ano |
| Período | Range 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
| Tipo | Configuração |
|---|---|
| Feriado | Configurações de projeto (afeta todos) |
| Férias | Configurações individuais de utilizador |
Feriados de projeto são universais para toda equipa neste projeto.
Editar/Remover Feriados
- Localize feriado na lista
- Clique para editar ou ícone de eliminar
- 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 trabalhoDia de folga excepcional: Folga numa segunda específica
Segunda 20 Março → Marcado como folgaConfigurar Override
- Clique "Adicionar Override"
- Selecione data
- Escolha tipo (trabalho/folga)
- Adicione nota explicativa (opcional)
- Guarde
Precedência
Ordem de precedência para determinar se dia é trabalhado:
- Override específico (mais alto)
- Feriado
- 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 × DisponibilidadeExemplo 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ível | Prioridade |
|---|---|
| Projeto | Mais alta |
| Workspace | Padrão |
| Utilizador | Individual |
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:
- Toggle "Herdar configurações do workspace"
- Projeto usa automaticamente configuração do workspace
- 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:
- Adicione todos feriados conhecidos
- Inclua férias coletivas
- 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ção | Papel Necessário |
|---|---|
| Ver cronograma | Todos (Member+) |
| Editar dias de trabalho | Manager, Agency Owner |
| Editar horas/dia | Manager, Agency Owner |
| Gerir feriados | Manager, Agency Owner |
| Criar overrides | Manager, 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:
- Evento ocorre no GitScrum (ex: tarefa criada)
- GitScrum faz POST para sua URL de webhook
- Seu sistema recebe dados do evento
- 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
- Navegue para Configurações do Projeto → Webhooks
- Clique "Adicionar Webhook"
- Configure:
- URL: Endpoint que receberá eventos
- Eventos: Quais eventos disparar
- Secret: Chave para validação (opcional mas recomendado)
- Salve configuração
Campos de Configuração
| Campo | Descrição | Obrigatório |
|---|---|---|
| Nome | Identificador para o webhook | Sim |
| URL | Endpoint HTTP(S) | Sim |
| Eventos | Lista de eventos para enviar | Sim |
| Secret | Chave para assinatura HMAC | Não |
| Ativo | Toggle liga/desliga | Sim |
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
| Evento | Dispara Quando |
|---|---|
task.created | Nova tarefa criada |
task.updated | Tarefa editada |
task.deleted | Tarefa removida |
task.moved | Tarefa muda de coluna |
task.assigned | Atribuição alterada |
task.completed | Tarefa marcada como completa |
Eventos de Sprint
| Evento | Dispara Quando |
|---|---|
sprint.created | Novo sprint criado |
sprint.started | Sprint iniciado |
sprint.completed | Sprint finalizado |
sprint.updated | Sprint editado |
Eventos de Comentário
| Evento | Dispara Quando |
|---|---|
comment.created | Novo comentário |
comment.updated | Comentário editado |
comment.deleted | Comentário removido |
Eventos de Membro
| Evento | Dispara Quando |
|---|---|
member.added | Membro adicionado ao projeto |
member.removed | Membro removido do projeto |
member.role_changed | Papel de membro alterado |
Eventos de Registo de Tempo
| Evento | Dispara Quando |
|---|---|
time_entry.created | Tempo registado |
time_entry.updated | Entrada de tempo editada |
time_entry.deleted | Entrada 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:
| Header | Descrição |
|---|---|
X-GitScrum-Event | Tipo de evento |
X-GitScrum-Signature | Assinatura HMAC (se secret configurado) |
X-GitScrum-Delivery | ID único da entrega |
X-GitScrum-Timestamp | Timestamp Unix do evento |
Content-Type | application/json |
User-Agent | GitScrum-Webhook/1.0 |
Testando Webhooks
Teste Manual
- Configure webhook apontando para serviço de teste (ex: webhook.site, requestbin)
- Dispare evento no GitScrum (crie tarefa, etc.)
- Verifique request recebido
Botão de Teste
Na configuração do webhook:
- Clique "Testar Webhook"
- GitScrum envia payload de teste
- Verifique resposta
Payload de teste inclui "test": true para identificação.
Reenviar Eventos
No histórico de webhooks:
- Localize entrega específica
- Clique "Reenviar"
- GitScrum tenta entregar novamente
Lógica de Retry
Se entrega falhar, GitScrum tenta novamente:
| Tentativa | Delay |
|---|---|
| 1 | Imediato |
| 2 | 1 minuto |
| 3 | 5 minutos |
| 4 | 30 minutos |
| 5 | 2 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ção | Descrição |
|---|---|
| Evento | Tipo de evento |
| Data | Quando foi disparado |
| Estado | Sucesso/Falha |
| Response Code | Código HTTP retornado |
| Duração | Tempo 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
- Clique no webhook
- Modifique configurações
- 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
- Clique em eliminar
- Confirme
Eliminação é permanente. Histórico de entregas também é removido.
Webhooks vs Polling
| Aspecto | Webhooks | Polling |
|---|---|---|
| Tempo real | Sim | Não (delay entre polls) |
| Eficiência | Alta (só envia quando há evento) | Baixa (consultas constantes) |
| Complexidade | Média (precisa endpoint) | Baixa (só precisa fazer GET) |
| Confiabilidade | Pode perder eventos | Mais 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ção | Papel Necessário |
|---|---|
| Ver webhooks | Manager, Agency Owner |
| Criar webhook | Manager, Agency Owner |
| Editar webhook | Manager, Agency Owner |
| Eliminar webhook | Manager, Agency Owner |
| Ver histórico | Manager, Agency Owner |
Membros regulares não têm acesso a webhooks—apenas managers e acima.