Probar gratis

Configuración del Proyecto

La página de configuración del proyecto te permite personalizar todos los aspectos de tu proyecto, desde información básica hasta integraciones avanzadas con herramientas de desarrollo. Cada proyecto puede configurarse de manera independiente para adaptarse a las necesidades específicas del equipo o cliente.

El Problema Que Resuelve

Diferentes proyectos requieren diferentes configuraciones. Un proyecto interno puede necesitar integración con Slack, mientras que un proyecto de cliente requiere seguimiento de presupuesto estricto. La configuración de proyecto permite personalizar cada aspecto sin afectar otros proyectos en el workspace.

Pestañas de Configuración

General

Información básica y configuración fundamental del proyecto:

  • Nombre del proyecto: Identificador visible en toda la plataforma
  • Descripción: Contexto y objetivos del proyecto
  • Estado: Activo, En Pausa o Completado
  • Visibilidad: Público (todos en workspace) o Privado (solo miembros)
  • Logo del proyecto: Imagen identificadora
  • Categoría: Agrupación para organización

Consulta Detalles del Proyecto para información completa.

Miembros

Gestión del equipo del proyecto:

  • Agregar miembros: Invitar personas del workspace al proyecto
  • Remover miembros: Quitar acceso de usuarios
  • Asignar roles: Definir permisos por usuario
  • Invitar nuevos usuarios: Agregar personas al workspace y proyecto
RolCapacidades
PropietarioControl total, puede eliminar proyecto
ManagerGestión de tareas y miembros
DesarrolladorCrear y editar tareas propias
InvitadoSolo lectura

Consulta Miembros del Proyecto para detalles.

Horario de Trabajo

Configura días y horas laborales específicos del proyecto:

  • Días laborables: Selección de lunes a domingo
  • Horas por día: Inicio y fin de jornada
  • Zona horaria: Configuración regional
  • Feriados: Días no laborables específicos del proyecto

Estos valores pueden sobrescribir los valores predeterminados del workspace.

Presupuesto

Control financiero del proyecto (función Pro):

  • Asignación de recursos: Distribución de horas por desarrollador
  • Tasas horarias: Tarifas personalizadas por miembro
  • Alertas de presupuesto: Notificaciones al alcanzar umbrales
  • Configuración general: Límites y bloqueos automáticos

Consulta Configuración de Presupuesto para detalles.

API

Credenciales para integración programática:

  • Tokens de API: Generar y gestionar tokens de acceso
  • Documentación: Referencias de endpoints disponibles
  • Rate limits: Límites de solicitudes por período
  • Webhooks: Configurar notificaciones automáticas

Consulta Configuración de API para documentación técnica.

Webhooks

Notificaciones automáticas a servicios externos:

  • URLs de destino: Direcciones que recibirán notificaciones
  • Eventos a notificar: Selección de acciones que disparan envíos
  • Secreto de firma: Validación de autenticidad
  • Historial de entregas: Registro de envíos y respuestas

Consulta Configuración de Webhooks para configuración.

Integraciones

Conexiones con herramientas externas:

  • Control de versiones: GitHub, GitLab, Bitbucket
  • Comunicación: Slack, Discord, Microsoft Teams
  • Automatización: Zapier, Make (Integromat)
  • Otras herramientas: Conectores personalizados

Consulta Integraciones para guías de conexión.

Acceso a Configuración

  1. Abre el proyecto desde el dashboard
  2. Haz clic en el icono de engranaje en el menú lateral
  3. Selecciona la pestaña deseada de configuración
  4. Realiza cambios y guarda

Permisos de Configuración

RolGeneralMiembrosPresupuestoAPIIntegracionesZona Peligro
Propietario
Manager
Desarrollador

Zona de Peligro

Archivar Proyecto

Mueve el proyecto a archivados:

  • Los datos se preservan pero el proyecto no aparece en listas activas
  • Puede restaurarse posteriormente
  • Útil para proyectos completados o pausados

Eliminar Proyecto

⚠️ Acción permanente e irreversible. Elimina:

  • Todas las tareas y subtareas
  • Historial de actividad
  • Documentos y archivos adjuntos
  • Wiki y discusiones
  • Configuraciones y personalizaciones
  • Datos de tiempo y presupuesto

Antes de eliminar, considera:

  1. Exportar datos necesarios
  2. Notificar a miembros del equipo
  3. Verificar que no hay información crítica
  4. Confirmar que no afecta facturación de clientes

Mejores Prácticas

Al Crear un Proyecto

  1. Configura información básica completa primero
  2. Define visibilidad según necesidades de confidencialidad
  3. Agrega miembros del equipo con roles apropiados
  4. Configura integraciones relevantes
  5. Establece presupuesto si aplica

Mantenimiento Regular

  • Revisa miembros trimestralmente para accesos correctos
  • Actualiza estado del proyecto cuando cambie
  • Verifica que integraciones sigan funcionando
  • Monitorea alertas de presupuesto

Recursos Relacionados

Configuración de API

La pestaña API proporciona credenciales y monitoreo para acceso programático a tu proyecto de GitScrum. Construye integraciones personalizadas, automatiza flujos de trabajo y conecta sistemas externos usando la API REST.

Descripción General de la API

GitScrum proporciona una API REST completa para:

  • Leer datos del proyecto (tareas, sprints, miembros)
  • Crear y actualizar recursos
  • Disparar acciones programáticamente
  • Sincronizar con sistemas externos
  • Construir dashboards personalizados

Sección de Límites de Velocidad

Entendiendo los Límites de Velocidad

Los límites de velocidad previenen el abuso de la API y aseguran acceso justo para todos los usuarios. Los límites aplican por proyecto, por período.

Visualización de Límites de Velocidad

La pestaña API muestra tres métricas clave:

MétricaSignificado
Total de SolicitudesMáximo de solicitudes permitidas por período
DisponiblesSolicitudes restantes en el período actual
PeríodoVentana de tiempo para reinicio del límite

Niveles de Límite de Velocidad

PlanSolicitudes/Hora
Estándar1,000
Pro5,000
EnterprisePersonalizado

Respuesta de Límite de Velocidad

Cuando alcanzas el límite:

  • La API devuelve 429 Too Many Requests
  • El encabezado Retry-After indica tiempo de espera
  • El contador disponible muestra 0

Tiempo de Reinicio

Los límites de velocidad se reinician en una ventana móvil:

  • El período muestra tiempos de inicio y fin
  • El contador se repone gradualmente
  • Reinicio completo al final del período

Estadísticas de Uso

Gráfico de Solicitudes

Una visualización muestra el uso de la API a lo largo del tiempo:

  • Eje X: Tiempo (horas/días)
  • Eje Y: Conteo de solicitudes
  • Ayuda a identificar patrones de uso

Análisis de Uso

Línea consistente: Procesos automatizados normales Picos: Operaciones manuales o trabajos en lote Cerca del límite: Puede necesitar optimizar o actualizar

Tabla de Solicitudes Recientes

Registro de Solicitudes

La tabla muestra llamadas recientes a la API:

ColumnaContenido
MétodoMétodo HTTP (GET, POST, PUT, DELETE)
EndpointRuta de API llamada
TiempoCuándo ocurrió la solicitud

Indicadores de Método

Los métodos se muestran con código de colores:

  • GET: Azul (operaciones de lectura)
  • POST: Verde (operaciones de creación)
  • PUT/PATCH: Amarillo (operaciones de actualización)
  • DELETE: Rojo (operaciones de eliminación)

Propósito del Registro

Usa el registro de solicitudes para:

  • Depurar problemas de integración
  • Identificar uso inesperado de la API
  • Monitorear comportamiento de automatización
  • Auditar acceso a la API

Credenciales de API

Obtener Credenciales

Haz clic en "Obtener Credenciales" para acceder a tu clave y secreto de API:

  1. El botón dispara verificación de autenticación
  2. El modal muestra las credenciales
  3. Copia para usar en tus aplicaciones

Componentes de Credenciales

Clave API: Identificador público para tu integración

  • Seguro de incluir en código (no es verdaderamente secreto)
  • Usado en solicitudes de API para identificación

Secreto API: Token de autenticación privado

  • Nunca compartir ni commitear a repositorios públicos
  • Usado para firmar solicitudes

Seguridad de Credenciales

IMPORTANTE:

  • Almacena secretos en variables de entorno
  • Nunca commitear al control de versiones
  • Rotar si potencialmente expuestos
  • Usar diferentes credenciales para dev/prod

Regenerar Credenciales

Si las credenciales están comprometidas:

  1. Genera nuevas credenciales
  2. Actualiza todas las integraciones
  3. Las credenciales antiguas se invalidan inmediatamente

Advertencia: Regenerar rompe todas las integraciones existentes hasta que se actualicen.

Haciendo Solicitudes de API

Autenticación

Incluye credenciales en los encabezados de la solicitud:

Authorization: Bearer TU_CLAVE_API
X-API-Secret: TU_SECRETO_API

O usa HTTP Basic Auth:

Authorization: Basic base64(CLAVE_API:SECRETO_API)

URL Base

Todas las solicitudes de API usan:

https://services.gitscrum.com/v1

Formato de Solicitud

Encabezados:

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

Ejemplo de solicitud GET:

curl -X GET "https://services.gitscrum.com/v1/projects/SLUG_PROYECTO/tasks" \
  -H "Authorization: Bearer TU_CLAVE_API" \
  -H "X-API-Secret: TU_SECRETO_API"

Ejemplo de solicitud POST:

curl -X POST "https://services.gitscrum.com/v1/projects/SLUG_PROYECTO/tasks" \
  -H "Authorization: Bearer TU_CLAVE_API" \
  -H "X-API-Secret: TU_SECRETO_API" \
  -H "Content-Type: application/json" \
  -d '{"title": "Nueva Tarea", "description": "Creada via API"}'

Endpoints Comunes

Tareas

MétodoEndpointAcción
GET/tasksListar todas las tareas
GET/tasks/{uuid}Obtener tarea individual
POST/tasksCrear tarea
PUT/tasks/{uuid}Actualizar tarea
DELETE/tasks/{uuid}Eliminar tarea

Sprints

MétodoEndpointAcción
GET/sprintsListar sprints
GET/sprints/{uuid}Obtener detalles del sprint
POST/sprintsCrear sprint
PUT/sprints/{uuid}Actualizar sprint

Entradas de Tiempo

MétodoEndpointAcción
GET/time-entriesListar entradas de tiempo
POST/time-entriesRegistrar tiempo
PUT/time-entries/{uuid}Actualizar entrada
DELETE/time-entries/{uuid}Eliminar entrada

Miembros

MétodoEndpointAcción
GET/membersListar miembros del proyecto
GET/members/{uuid}Obtener detalles del miembro

Formato de Respuesta

Respuesta Exitosa

{
    "data": {
        // Datos del recurso
    },
    "meta": {
        "current_page": 1,
        "total_pages": 5,
        "total_count": 47
    }
}

Respuesta de Error

{
    "error": {
        "code": "validation_error",
        "message": "El título es requerido",
        "details": {
            "title": ["Este campo es requerido"]
        }
    }
}

Códigos de Estado HTTP

CódigoSignificado
200Éxito
201Creado
204Sin contenido (eliminación exitosa)
400Solicitud incorrecta (error de validación)
401No autorizado (credenciales inválidas)
403Prohibido (permisos insuficientes)
404No encontrado
429Límite de velocidad excedido
500Error del servidor

Paginación

Los endpoints de lista devuelven resultados paginados:

Parámetros de Consulta

ParámetroPredeterminadoDescripción
page1Número de página
per_page25Elementos por página (máx 100)

Ejemplo

GET /tasks?page=2&per_page=50

Meta de Respuesta

{
    "meta": {
        "current_page": 2,
        "per_page": 50,
        "total_pages": 10,
        "total_count": 487
    }
}

Filtrado

Muchos endpoints soportan filtrado:

Filtros de Tareas

ParámetroEjemplo
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 Tiempo

ParámetroEjemplo
user?user=user-uuid
billable?billable=true
from?from=2024-01-01
to?to=2024-01-31

Webhooks vs. Polling

Cuándo Usar API

  • Leer datos bajo demanda
  • Crear/actualizar recursos
  • Sincronización única de datos
  • Acciones iniciadas por usuario

Cuándo Usar Webhooks

  • Notificaciones en tiempo real
  • Automatización basada en eventos
  • Sincronización continua
  • Actualizaciones de sistemas externos

Solución de Problemas

401 No Autorizado

Causas:

  • Clave API inválida
  • Secreto inválido o faltante
  • Credenciales regeneradas

Soluciones:

  • Verificar que las credenciales sean actuales
  • Revisar formato de encabezados
  • Re-copiar credenciales desde configuración

403 Prohibido

Causas:

  • El rol carece de permiso para la acción
  • El recurso pertenece a proyecto diferente
  • La acción no está permitida para el estado del recurso

Soluciones:

  • Verificar rol de usuario
  • Comprobar que el slug del proyecto coincida
  • Revisar requisitos de la acción

429 Límite de Velocidad

Causas:

  • Demasiadas solicitudes en el período
  • Polling agresivo
  • Integración ineficiente

Soluciones:

  • Esperar el período de reinicio
  • Implementar backoff exponencial
  • Cachear respuestas donde sea posible
  • Considerar webhook para necesidades en tiempo real

Permisos

AcciónRol Requerido
Ver configuración de APIManager, Agency Owner
Obtener credencialesManager, Agency Owner
Regenerar credencialesAgency Owner
Ver registro de solicitudesManager, Agency Owner

Los permisos de API mapean a roles de usuario—la API no puede exceder los permisos del usuario en el proyecto.


La API extiende las capacidades de GitScrum a cualquier sistema o flujo de trabajo que puedas imaginar. Comienza leyendo datos, progresa a crear recursos, y construye integraciones personalizadas que se ajusten perfectamente a las necesidades de tu equipo.

Configuración de Presupuesto

La pestaña Presupuesto transforma los datos de seguimiento de tiempo en insights financieros. Rastrea la asignación de recursos, establece tarifas por hora personalizadas, configura alertas de costos y gestiona la configuración del presupuesto del proyecto en un solo lugar.

Sub-pestañas de Presupuesto

La configuración de presupuesto se organiza en cuatro secciones especializadas:

Sub-pestañaPropósito
AsignaciónVer asignación de tiempo del equipo y horas facturables
TarifasEstablecer tarifas por hora por usuario
AlertasConfigurar notificaciones de umbral de presupuesto
ConfiguraciónTarifas predeterminadas y configuración de presupuesto

Navega entre las sub-pestañas usando la barra lateral dentro de la configuración de Presupuesto.

Sección de Asignación

La vista de Asignación muestra cómo los miembros del equipo están gastando su tiempo en este proyecto.

Tabla de Asignación

Cada fila representa un miembro del equipo con:

ColumnaDescripción
MiembroAvatar, nombre y rol del usuario
Horas RegistradasTiempo total rastreado contra el proyecto
Horas FacturablesPorción marcada como facturable
% FacturablePorcentaje de tiempo que es facturable
CostoHoras × tarifa por hora

Leyendo Datos de Asignación

Alto porcentaje facturable: Miembro del equipo enfocado en trabajo entregable al cliente. El objetivo varía por rol—los desarrolladores típicamente más alto que los gerentes.

Bajo porcentaje facturable: Más tiempo en tareas internas, reuniones o gastos generales. No es inherentemente malo, pero vale la pena monitorear.

Distribución desigual: Un miembro con significativamente más horas puede indicar desequilibrio de carga de trabajo o cuello de botella.

Métricas Clave

La barra de filtro muestra métricas agregadas:

  • Total de miembros del equipo: Número de personas con tiempo registrado
  • Total de horas facturables: Suma entre todos los miembros

Sección de Tarifas

Establece tarifas por hora personalizadas para miembros individuales del equipo. Las tarifas personalizadas anulan la tarifa predeterminada del proyecto.

Tarifa Predeterminada

La tarifa por hora predeterminada del proyecto aplica a cualquier miembro sin tarifa personalizada. Establece esto en la sub-pestaña Configuración.

Tabla de Tarifas Personalizadas

ColumnaDescripción
MiembroUsuario con tarifa personalizada
TarifaTarifa por hora para este usuario
AccionesEditar o eliminar tarifa personalizada

Añadir una Tarifa Personalizada

  1. Haz clic en el botón "Añadir Tarifa"
  2. Selecciona miembro del equipo del dropdown
  3. Ingresa tarifa por hora
  4. Haz clic en Guardar

Casos de uso para tarifas personalizadas:

  • Ingenieros senior con tarifas de facturación más altas
  • Miembros junior del equipo con tarifas reducidas
  • Contratistas con tarifas negociadas
  • Consultores facturados a tarifas premium

Editar Tarifas

Haz clic en el ícono de edición en cualquier fila de tarifa para modificar el monto. Los cambios aplican a cálculos futuros—los costos históricos no se actualizan retroactivamente.

Eliminar Tarifas Personalizadas

Elimina una tarifa personalizada para revertir ese miembro a la tarifa predeterminada. Nuevamente, esto afecta solo cálculos futuros.

Visualización de Tarifas

Las tarifas se muestran en la moneda configurada de tu espacio de trabajo. El formato sigue la configuración regional (ej., $125.00, €125,00).

Sección de Alertas

Las alertas de presupuesto te notifican cuando los costos se acercan o exceden los umbrales. La notificación proactiva previene sorpresas de presupuesto.

Tipos de Alerta

TipoPropósitoVisual
AdvertenciaAcercándose al umbralIndicador amarillo
CríticoUmbral excedidoIndicador rojo

Alertas Configuradas

La lista de alertas muestra todos los umbrales de presupuesto:

  • Nombre/descripción de la alerta
  • Monto o porcentaje del umbral
  • Estado actual (OK, Advertencia, Crítico)
  • Última marca de tiempo disparada
  • Estado de reconocimiento

Comportamiento de Alertas

Cuando se alcanza un umbral:

  1. El estado de la alerta cambia a Advertencia o Crítico
  2. Se envía notificación (correo, en-app)
  3. La alerta aparece en el dashboard
  4. Permanece hasta que se reconoce o la condición se despeja

Reconocer Alertas

Haz clic para reconocer una alerta. Esto:

  • Marca la alerta como vista
  • Detiene notificaciones repetidas (hasta el próximo disparo)
  • Registra quién reconoció y cuándo

El reconocimiento no resuelve el problema subyacente del presupuesto—solo confirma el conocimiento.

Sub-pestaña de Configuración

Configuración central de presupuesto para el proyecto.

Presupuesto del Proyecto

Presupuesto Total: El presupuesto general del proyecto en tu moneda. Este es el número contra el que las alertas comparan.

Establecer un presupuesto habilita:

  • Seguimiento del progreso del presupuesto
  • Alertas basadas en porcentaje
  • Reportes de costo vs. presupuesto

Déjalo en blanco si el proyecto no tiene un presupuesto fijo.

Tarifa por Hora Predeterminada

La tarifa aplicada a miembros del equipo sin tarifas personalizadas. Recomendaciones:

Modelo de agencia: Usa tu tarifa estándar de facturación al cliente Proyectos internos: Usa costo cargado (salario ÷ horas de trabajo + gastos generales) Proyectos de precio fijo: Puede ser menos relevante—rastrea para análisis de costo interno

Configuración de Alertas

Crea y gestiona alertas de presupuesto:

Añadir Alerta:

  1. Haz clic en "Añadir Alerta"
  2. Establece umbral (monto o porcentaje)
  3. Elige tipo de alerta (advertencia/crítico)
  4. Configura destinatarios de notificación
  5. Guardar

Editar Alerta: Haz clic en cualquier alerta para modificar umbral, tipo o destinatarios.

Eliminar Alerta: Elimina alertas que ya no se necesitan.

Facturable por Defecto

Alterna si las nuevas entradas de tiempo son facturables por defecto. Los miembros del equipo pueden anular por entrada, pero esto establece el estado inicial.

Facturable por defecto ACTIVADO: La mayoría del tiempo es facturable al cliente Facturable por defecto DESACTIVADO: La mayoría del tiempo es interno/gastos generales

Guardar Configuración

Haz clic en "Guardar" para persistir los cambios. Los cambios en tarifas y presupuestos afectan los cálculos futuros inmediatamente.

Cálculos de Costo

Entender cómo se calculan los costos ayuda a interpretar los datos correctamente.

Fórmula Básica

Costo = Horas × Tarifa

Horas: De entradas de seguimiento de tiempo Tarifa: Tarifa personalizada si está establecida, de lo contrario tarifa predeterminada

Facturable vs. No Facturable

Solo las horas facturables se consideran en los reportes de facturación. Todas las horas (facturables + no facturables) se consideran en los cálculos de costos.

Precedencia de Tarifas

  1. Tarifa personalizada del usuario (si está establecida)
  2. Tarifa predeterminada del proyecto (si está establecida)
  3. Cero (si no hay tarifa configurada)

Moneda

Todos los valores monetarios usan la moneda configurada del espacio de trabajo. La moneda no puede diferir por proyecto—es a nivel de espacio de trabajo.

Datos Históricos

Los cambios de tarifa no recalculan retroactivamente los costos históricos. El costo al momento de la entrada persiste.

Para actualizar costos históricos después de cambios de tarifa, necesitarías ajustar manualmente las entradas de tiempo.

Permisos

AcciónRol Requerido
Ver asignaciónMiembro del proyecto
Ver tarifasManager, Agency Owner
Editar tarifasManager, Agency Owner
Configurar alertasManager, Agency Owner
Cambiar configuraciónManager, Agency Owner

Los miembros regulares del equipo ven su propia asignación pero no las tarifas del equipo o la configuración de alertas.

Solución de Problemas

Los costos muestran $0: Verifica que la tarifa predeterminada esté establecida y existan entradas de tiempo.

Las alertas no se disparan: Verifica que la alerta esté habilitada y el umbral no haya sido reconocido.

Moneda incorrecta: La moneda es a nivel de espacio de trabajo—contacta al administrador del espacio de trabajo para cambiarla.

Las tarifas no aplican: Las nuevas tarifas aplican solo a entradas futuras. Verifica la marca de tiempo de la entrada vs. la marca de tiempo del cambio de tarifa.

Faltan miembros del equipo en asignación: Los miembros deben haber registrado tiempo para aparecer.


La configuración de presupuesto transforma los datos de tiempo en insights financieros accionables. Configura una vez, monitorea regularmente, y adelántate a los problemas de presupuesto antes de que se conviertan en problemas.

Configuración de Detalles del Proyecto

La pestaña Detalles controla la identidad fundamental y la disponibilidad de funciones de tu proyecto. Aquí es donde configuras cómo se llama tu proyecto, qué hace y qué capacidades de GitScrum utiliza.

Sección de Información Básica

Nombre del Proyecto

El identificador principal para tu proyecto en todo GitScrum. Este nombre aparece en:

  • Navegación de la barra lateral
  • Encabezados de proyecto y breadcrumbs
  • Notificaciones y correos electrónicos
  • Reportes y exportaciones
  • Resultados de búsqueda

Mejores prácticas:

  • Mantenlo conciso (2-4 palabras)
  • Hazlo reconocible para tu equipo
  • Evita nombres genéricos como "Proyecto 1"
  • Considera prefijos para proyectos relacionados (Cliente-Web, Cliente-Mobile)

Límite de caracteres: 255 caracteres máximo

Descripción del Proyecto

Texto explicativo opcional sobre el propósito, alcance o enfoque actual del proyecto. Útil para:

  • Incorporar nuevos miembros del equipo
  • Distinguir entre proyectos similares
  • Documentar la fase u objetivos del proyecto

La descripción se muestra en la vista general del proyecto y en los listados de proyectos.

Categoría

Las categorías organizan proyectos a nivel de espacio de trabajo. Selecciona de las categorías existentes o deja sin categorizar.

Beneficios de las categorías:

  • Filtrar listas de proyectos por categoría
  • Agrupar proyectos relacionados en reportes
  • Organizar el dashboard del espacio de trabajo

Las categorías se gestionan a nivel de espacio de trabajo—aquí seleccionas de las opciones disponibles, no creas nuevas.

Sección de Funciones del Proyecto

Activa o desactiva funciones individuales de GitScrum para este proyecto. Cada toggle controla la visibilidad de esa función en la barra lateral del proyecto y en toda la interfaz.

Funciones Disponibles

FunciónQué Controla
SprintsPlanificación de sprint, tablero de sprint, seguimiento de velocidad, gráficos burndown
Seguimiento de TiempoRegistro de tiempo, hojas de tiempo, reportes de tiempo, horas facturables
Historias de UsuarioÉpicas, historias de usuario, criterios de aceptación, mapeo de historias
WikiBase de conocimiento, páginas de documentación, historial de revisiones
DiscusionesCanales de chat del equipo, conversaciones en hilos, compartir archivos
DocumentosGestor de archivos, integración de almacenamiento en la nube, organización de carpetas

Comportamiento del Toggle de Funciones

Cuando está deshabilitado:

  • La función desaparece de la barra lateral del proyecto
  • Los elementos de menú relacionados se ocultan
  • Los datos existentes permanecen preservados
  • Los enlaces a esa función devuelven errores

Cuando se vuelve a habilitar:

  • La función reaparece inmediatamente
  • Todos los datos históricos se restauran
  • Ningún dato se elimina jamás al deshabilitar

¿Por Qué Deshabilitar Funciones?

No todo proyecto necesita todas las funciones. Un proyecto de documentación podría solo necesitar Wiki y Documentos. Un simple rastreador de tareas podría solo necesitar el tablero Kanban (que siempre está habilitado).

Beneficios de deshabilitar funciones no usadas:

  • Navegación de barra lateral más limpia
  • Reducción de carga cognitiva para el equipo
  • Incorporación más rápida para nuevos miembros
  • Flujo de trabajo enfocado sin distracciones

Estado Predeterminado

Los nuevos proyectos tienen todas las funciones habilitadas por defecto. Ajusta durante la configuración inicial o en cualquier momento durante el ciclo de vida del proyecto.

Sección de Branding

Personaliza la identidad visual de tu proyecto con un logo personalizado.

Subir Logo del Proyecto

Formatos soportados: PNG, JPG, GIF Tamaño recomendado: 256×256 píxeles (cuadrado) Tamaño máximo de archivo: 2MB

Métodos de carga:

  1. Arrastrar y soltar: Arrastra un archivo de imagen al área de carga
  2. Clic para explorar: Haz clic en el área de carga para abrir el selector de archivos

Tu logo subido aparece en:

  • Barra lateral del proyecto (ícono pequeño)
  • Encabezado del proyecto
  • Listas de selección de proyectos
  • Notificaciones (algunos clientes de correo)

Progreso de Carga

Un indicador de progreso se muestra durante la carga. Archivos grandes o conexiones lentas pueden tomar unos segundos.

Haz clic en el botón eliminar/borrar para volver al ícono de proyecto predeterminado (un cuadrado coloreado con las iniciales del proyecto).

  • Usa fondos transparentes: PNG con transparencia se ve más limpio
  • Los íconos simples funcionan mejor: Las imágenes detalladas se vuelven irreconocibles en tamaños pequeños
  • Branding consistente: Coincide con la identidad visual de tu organización
  • Prueba en modo oscuro: Asegura visibilidad en fondos oscuros

Sección Zona de Peligro

Acciones irreversibles que impactan significativamente el proyecto. Estos controles requieren confirmación explícita para prevenir activación accidental.

Eliminar Proyecto

Elimina permanentemente el proyecto y todos los datos asociados:

Lo que se elimina:

  • Todas las tareas (abiertas, cerradas, archivadas)
  • Todos los sprints e historial de sprints
  • Todas las entradas de tiempo
  • Todas las páginas wiki y revisiones
  • Todos los documentos y carpetas
  • Todos los canales de discusión y mensajes
  • Todas las historias de usuario y épicas
  • Toda la configuración del proyecto
  • Todas las configuraciones de integración
  • Toda la configuración de webhooks
  • Todos los registros de acceso a API

Lo que se preserva:

  • Configuración del espacio de trabajo (no afectada)
  • Cuentas de usuario (no afectadas)
  • Otros proyectos (no afectados)
  • Historial de facturación (si el proyecto tenía facturas asociadas)

Confirmación de Eliminación

El diálogo de confirmación requiere escribir el nombre exacto del proyecto:

  1. El diálogo muestra advertencia sobre eliminación permanente
  2. El campo de texto requiere coincidencia exacta del nombre del proyecto
  3. Sensible a mayúsculas: "Mi Proyecto" ≠ "mi proyecto"
  4. El botón eliminar solo se habilita cuando el nombre coincide

Quién Puede Eliminar

Solo usuarios con rol de Agency Owner pueden eliminar proyectos. Los Managers y miembros regulares ven la Zona de Peligro pero no pueden activar eliminar.

Antes de Eliminar

Considera alternativas:

  • Archivar: Ocultar proyecto de listas activas mientras preservas datos
  • Exportar: Descargar datos del proyecto antes de eliminar
  • Transferir: Pasar a otro propietario del espacio de trabajo

Verificar con stakeholders:

  • Confirmar con stakeholders del proyecto
  • Asegurar que no hay datos críticos que necesiten preservación
  • Verificar si alguna integración depende de este proyecto

Después de Eliminar

  • El proyecto desaparece inmediatamente de todas las vistas
  • Los miembros pierden acceso instantáneamente
  • Cualquier reporte programado para este proyecto falla
  • Los webhooks dejan de disparar
  • Las llamadas a API devuelven 404

Recuperación: La eliminación no puede deshacerse. No hay papelera ni mecanismo de restauración. Los datos se eliminan permanentemente de los servidores de GitScrum.

Guardar Cambios

Botón Guardar

El encabezado contiene un botón Guardar que se activa cuando se detectan cambios:

Estados del botón:

  • Guardar: Cambios detectados, listo para guardar
  • Guardando...: Guardado en progreso (con spinner)
  • Guardado: Guardado exitosamente (se muestra brevemente antes de reiniciarse)

Detección Automática

El formulario rastrea cambios automáticamente:

  • Campos de texto modificados
  • Funciones alternadas
  • Logo subido/eliminado

Navegar fuera con cambios sin guardar muestra un diálogo de confirmación.

Errores de Guardado

Si el guardado falla:

  • Se muestra mensaje de error
  • Los cambios permanecen en el formulario
  • Reintentar guardar después de verificar conexión de red

Causas comunes:

  • Desconexión de red
  • Sesión expirada (re-login requerido)
  • Cambios de permisos (rol modificado por admin)

Validación de Formulario

Validación del Nombre del Proyecto

  • Requerido: No puede estar vacío
  • Único: Debe ser único dentro del espacio de trabajo
  • Longitud: Máximo 255 caracteres
  • Caracteres: Cualquier carácter Unicode permitido

Validación de Descripción

  • Opcional: Puede estar vacío
  • Longitud: Máximo 1000 caracteres
  • Formato: Solo texto plano (sin markdown)

Atajos de Teclado

AtajoAcción
Cmd/Ctrl + SGuardar cambios
TabMover al siguiente campo
Shift + TabMover al campo anterior
EscCancelar y volver al proyecto

Estados de Carga

Carga inicial:

  • Spinner se muestra mientras se obtienen datos del proyecto
  • El formulario aparece una vez que los datos cargan
  • Estado de error se muestra si la carga falla con opción de reintentar

Carga de logo:

  • Barra de progreso durante la carga
  • Spinner durante el procesamiento
  • Estado de éxito parpadea brevemente

Operación de guardado:

  • El botón muestra spinner
  • El formulario permanece interactivo (pero guardar deshabilitado)
  • Feedback de éxito/error al completar

Estados de Error

Error de Carga

Si los datos del proyecto fallan al cargar:

  • Se muestra ícono de error y mensaje
  • El botón "Reintentar" intenta recargar
  • Verificar red y permisos si persiste

Error de Guardado

Si los cambios fallan al guardar:

  • Notificación toast muestra error
  • Los cambios se preservan en el formulario
  • El botón "Guardar" permanece activo para reintentar

Error de Carga

Si la carga del logo falla:

  • Mensaje de error debajo del área de carga
  • El logo anterior permanece (si había)
  • Intentar tamaño de archivo más pequeño o formato diferente

Los Detalles del Proyecto establecen la base de la identidad y capacidades de tu proyecto. Configura cuidadosamente en la creación del proyecto, luego ajusta a medida que tu proyecto evoluciona.

Configuración de Integraciones

La pestaña Integraciones conecta GitScrum con las herramientas que tu equipo ya usa. Envía notificaciones a plataformas de chat, vincula sistemas de control de versiones y automatiza flujos de trabajo a través de servicios de terceros.

Categorías de Integraciones

Las integraciones de GitScrum se dividen en dos grupos:

Integraciones Nativas

Construidas directamente en GitScrum con funcionalidad profunda:

  • Slack: Mensajería de equipo
  • Microsoft Teams: Comunicación empresarial
  • Discord: Chat enfocado en comunidad
  • GitHub: Control de versiones (Pro)
  • GitLab: Control de versiones (Pro)
  • Bitbucket: Control de versiones (Pro)

Integraciones Externas

Conectar a través de plataformas de terceros:

  • Zapier: Conexiones con más de 5,000 apps
  • Make (Integromat): Automatización avanzada de flujos de trabajo

Interfaz de Integraciones

Diseño de Barra Lateral

La barra lateral izquierda lista todas las integraciones disponibles:

  • Ícono y nombre de la integración
  • Indicador de estado de conexión
  • Insignia Pro para funciones premium

Haz clic en cualquier integración para ver su panel de configuración a la derecha.

Indicadores de Estado

IndicadorSignificado
Punto verdeConectado y activo
Sin indicadorNo configurado
Punto naranjaNecesita atención
Punto rojoError/desconectado

Conteo de Activos

El encabezado muestra el total de integraciones activas, dando visibilidad rápida de qué tan conectado está tu proyecto.

Integraciones de Comunicación

Slack

Conecta Slack para recibir notificaciones del proyecto en los canales de tu espacio de trabajo.

Proceso de Configuración:

  1. Haz clic en Slack en la barra lateral
  2. Haz clic en "Conectar a Slack"
  3. Autoriza GitScrum en el flujo OAuth de Slack
  4. Selecciona el espacio de trabajo a conectar
  5. Elige el canal de notificaciones predeterminado
  6. Guarda la configuración

Opciones de Configuración:

  • Canal: Qué canal de Slack recibe las notificaciones
  • Eventos: Selecciona qué eventos disparan notificaciones
  • Formato: Formato de mensaje rico o simple

Eventos de Notificación:

  • Tarea creada, actualizada, completada
  • Sprint iniciado, completado
  • Miembro del equipo añadido/eliminado
  • Comentarios y menciones
  • Entradas de tiempo registradas

Probando: Haz clic en "Enviar Mensaje de Prueba" para verificar que la conexión funciona. Una notificación de ejemplo aparece en tu canal configurado.

Desconectar: Haz clic en "Desconectar" para eliminar la integración de Slack. Las notificaciones se detienen inmediatamente. Los mensajes históricos en Slack permanecen.

Microsoft Teams

La integración de Teams refleja la funcionalidad de Slack para entornos Microsoft 365.

Proceso de Configuración:

  1. Haz clic en Microsoft Teams en la barra lateral
  2. Haz clic en "Conectar a Teams"
  3. Inicia sesión con cuenta de Microsoft
  4. Otorga permisos a GitScrum
  5. Selecciona equipo y canal
  6. Configura preferencias de notificación

Opción de Webhook: Alternativamente, usa un webhook entrante:

  1. Crea webhook entrante en Teams
  2. Copia la URL del webhook
  3. Pega la URL en la configuración de GitScrum
  4. Selecciona eventos a enviar

Eventos y formato coinciden con las capacidades de Slack.

Discord

Conecta Discord para notificaciones de comunidad o equipo.

Proceso de Configuración:

  1. Haz clic en Discord en la barra lateral
  2. Elige método de conexión:
  • OAuth (recomendado)
  • URL de Webhook (más simple)
  1. Para OAuth: Autoriza y selecciona servidor/canal
  2. Para Webhook: Pega la URL de webhook de Discord
  3. Configura eventos

Opciones específicas de Discord:

  • Embeds ricos con detalles de tareas
  • Menciones de @rol para eventos críticos
  • Nombre y avatar de bot personalizados

Nota: Los webhooks de Discord no soportan todas las opciones de formato que OAuth proporciona.

Integraciones de Control de Versiones (Pro)

Vincula repositorios Git para conectar commits, ramas y pull requests con tareas de GitScrum.

GitHub

Requisitos:

  • Suscripción Pro
  • Cuenta de GitHub con acceso al repositorio
  • Repositorios de organización o personales

Proceso de Configuración:

  1. Haz clic en GitHub en la barra lateral
  2. Haz clic en "Conectar Cuenta de GitHub"
  3. Autentica via OAuth de GitHub
  4. Otorga permisos de acceso al repositorio
  5. Selecciona repositorios a vincular

Configuración:

  • Repositorios: Elige qué repos conectar a este proyecto
  • Auto-vinculación: Habilita parsing inteligente de mensajes de commit
  • Estado de Pull Request: Muestra estado de PR en tareas

Vinculación de Commits: Incluye identificadores de tareas en mensajes de commit:

git commit -m "Añadir validación de login [GS-123]"

GitScrum vincula automáticamente el commit a la tarea GS-123.

Identificadores soportados:

  • [GS-123] o GS-123
  • #123 (si está configurado)
  • UUID de tarea (para integraciones de API)

Integración de Pull Request:

  • La creación de PR notifica en tareas vinculadas
  • El estado de PR se muestra en la vista de tarea
  • El merge cierra tareas vinculadas (si está configurado)

GitLab

Funcionalidad idéntica a GitHub para usuarios de GitLab.

Proceso de Configuración:

  1. Haz clic en GitLab en la barra lateral
  2. Haz clic en "Conectar Cuenta de GitLab"
  3. Autentica via OAuth de GitLab
  4. Selecciona proyectos/repositorios
  5. Configura preferencias de vinculación

GitLab auto-hospedado: Los usuarios Enterprise pueden conectar instancias de GitLab auto-hospedadas:

  1. Ingresa la URL de la instancia de GitLab
  2. Crea token de acceso personal
  3. Configura permisos
  4. Completa la conexión

Bitbucket

Los usuarios de Atlassian pueden conectar repositorios de Bitbucket.

Proceso de Configuración:

  1. Haz clic en Bitbucket en la barra lateral
  2. Autentica via OAuth de Bitbucket
  3. Selecciona repositorios
  4. Configura vinculación de commits

Específico de Bitbucket:

  • Soporta tanto Cloud como Server
  • Funciona con Bitbucket Pipelines
  • Se integra con migraciones de Jira

Plataformas de Integración Externa

Zapier

Conecta GitScrum a más de 5,000 apps a través de la plataforma de automatización de Zapier.

Lo que Zapier habilita:

  • Crear tareas desde envíos de formularios
  • Sincronizar con sistemas CRM
  • Notificar via SMS o correo
  • Actualizar hojas de cálculo desde datos de tareas
  • Disparar acciones en cualquier app soportada por Zapier

Empezando:

  1. Haz clic en Zapier en la barra lateral
  2. Abre la página de integración de GitScrum en Zapier
  3. Crea cuenta o inicia sesión
  4. Construye "Zaps" conectando GitScrum a otras apps

Zaps Populares:

  • Gmail → GitScrum: Correo crea tarea
  • Google Sheets → GitScrum: Fila crea tarea
  • GitScrum → Google Calendar: Fecha límite de tarea crea evento
  • Typeform → GitScrum: Envío de formulario crea tarea

Autenticación: Zapier conecta via API de GitScrum. Ingresarás credenciales de API al configurar el Zap.

Make (Integromat)

Automatización más avanzada con constructor visual de flujos de trabajo.

Lo que Make habilita:

  • Escenarios complejos de múltiples pasos
  • Lógica condicional y ramificación
  • Transformación de datos entre apps
  • Flujos de trabajo programados y disparados

Empezando:

  1. Haz clic en Make en la barra lateral
  2. Abre la página del módulo de GitScrum en Make
  3. Crea escenarios conectando GitScrum

Make vs. Zapier:

  • Make: Más potente, curva de aprendizaje más pronunciada
  • Zapier: Más simple, más caro a escala

Referencia de Eventos

Eventos de Tareas

EventoSe Dispara Cuando
task.createdNueva tarea creada
task.updatedCampos de tarea modificados
task.deletedTarea eliminada
task.assignedAsignatario cambiado
task.movedEstado/columna cambiado
task.completedTarea marcada como hecha

Eventos de Sprint

EventoSe Dispara Cuando
sprint.createdNuevo sprint creado
sprint.startedSprint activado
sprint.completedSprint finalizado
sprint.deletedSprint eliminado

Eventos de Entrada de Tiempo

EventoSe Dispara Cuando
time_entry.loggedNueva entrada de tiempo
time_entry.updatedEntrada modificada
time_entry.deletedEntrada eliminada

Eventos de Proyecto

EventoSe Dispara Cuando
project.updatedConfiguración cambiada
project.member_addedNuevo miembro
project.member_removedMiembro eliminado

Solución de Problemas

Slack No Conecta

Errores de OAuth:

  • Asegúrate de tener permiso de admin del espacio de trabajo de Slack
  • Verifica que el navegador permita popups para el flujo OAuth
  • Intenta desconectar y reconectar

Mensajes no aparecen:

  • Verifica que el canal correcto esté seleccionado
  • Revisa permisos de la app de Slack
  • Envía mensaje de prueba para confirmar

Canal incorrecto:

  • Edita la integración y cambia el canal
  • Nota: Cambiar el canal no mueve mensajes históricos

GitHub No Vincula Commits

Commits no aparecen:

  • Verifica que el repositorio esté conectado
  • Revisa que el mensaje de commit incluya ID de tarea
  • Asegura que el pusher tenga cuenta de GitScrum vinculada

Tarea vinculada incorrecta:

  • El formato del ID de tarea importa: [GS-123] no GS 123
  • ¿Múltiples IDs? La primera coincidencia gana

Permiso denegado:

  • Re-autoriza la conexión de GitHub
  • Verifica configuración de visibilidad del repositorio
  • Verifica permisos de la organización

Integración Desconectada

Causas de desconexión automática:

  • Token expirado (re-autenticar)
  • Permisos revocados en servicio externo
  • Contraseña cambiada en cuenta externa

Solución: Desconecta y luego reconecta la integración para refrescar tokens.

Permisos

AcciónRol Requerido
Ver integracionesMiembro del proyecto
Conectar/desconectarManager, Agency Owner
Configurar ajustesManager, Agency Owner
Acceder control de versionesSuscripción Pro + Manager

Funciones Pro

Las integraciones de GitHub, GitLab y Bitbucket requieren una suscripción Pro. El panel de integración muestra una insignia "PRO" junto a estas opciones.

Lo que Pro añade:

  • Integración completa de control de versiones
  • Vinculación de commits y PR
  • Sincronización de repositorios
  • Seguimiento de estado de ramas

Los usuarios sin Pro ven las opciones pero no pueden completar la configuración.


Las integraciones conectan GitScrum a tu flujo de trabajo existente. Comienza con notificaciones de comunicación, añade control de versiones si usas Git, y explora plataformas de automatización para flujos de trabajo avanzados.

Configuración de Miembros

La pestaña Miembros controla quién tiene acceso a tu proyecto. Asigna equipos completos o añade miembros individuales para asegurar que las personas correctas puedan colaborar mientras se mantiene el control de acceso.

Modelo de Acceso

GitScrum usa un modelo de acceso por capas:

  1. Membresía del espacio de trabajo: El usuario debe pertenecer al espacio de trabajo
  2. Asignación de equipo o individual: El usuario obtiene acceso al proyecto via equipo o asignación directa
  3. Permisos de rol: El rol del usuario en el espacio de trabajo determina las capacidades

El acceso al proyecto no anula los roles del espacio de trabajo—los permisos vienen de la asignación de rol a nivel de espacio de trabajo.

Interfaz de Miembros

Barra de Filtro

El encabezado muestra:

  • Título de la vista actual
  • Conteo de asignaciones de equipo
  • Conteo de miembros individuales
  • Campo de búsqueda para filtrar

Búsqueda

Escribe para filtrar por:

  • Nombre del equipo
  • Nombre del miembro
  • Dirección de correo

Los resultados se actualizan en tiempo real mientras escribes.

Botón Añadir Miembros

Haz clic para abrir el diálogo de asignación de miembros/equipos. Disponible para Agency Owners y Managers con los permisos apropiados.

Sección de Asignaciones de Equipo

Sección Expandible

Haz clic en el encabezado "Asignaciones de Equipo" para expandir/colapsar. Muestra el conteo en paréntesis.

Tabla de Equipos

Cuando se expande, una tabla muestra los equipos asignados:

ColumnaContenido
EquipoÍcono del equipo, nombre
MiembrosConteo de miembros del equipo
AsignadoFecha en que el equipo se añadió al proyecto
AccionesOpción de eliminar (para usuarios autorizados)

Expansión de Fila de Equipo

Haz clic en una fila de equipo para expandir y ver los miembros individuales dentro de ese equipo:

  • Avatar y nombre del miembro
  • Correo del miembro
  • Rol dentro del equipo
  • Fecha de incorporación

Asignar Equipos

  1. Haz clic en "Añadir Miembros"
  2. Selecciona la pestaña "Equipos"
  3. Elige el/los equipo(s) a añadir
  4. Confirma la asignación

Todos los miembros del equipo obtienen acceso al proyecto inmediatamente.

Comportamiento de Acceso por Equipo

Cuando un equipo es asignado:

  • Miembros actuales: Obtienen acceso inmediato
  • Adiciones futuras: Automáticamente obtienen acceso cuando se añaden al equipo
  • Miembros eliminados: Pierden acceso cuando se eliminan del equipo

Esto hace que la asignación de equipo sea auto-mantenible.

Eliminar Asignación de Equipo

Haz clic en el botón eliminar en una fila de equipo:

  1. Aparece diálogo de confirmación
  2. Confirma para eliminar
  3. Todos los miembros del equipo pierden acceso inmediatamente

Nota: Los miembros con asignación individual retienen acceso incluso si su equipo es eliminado.

Sección de Miembros Individuales

Sección Expandible

Haz clic en el encabezado "Miembros Individuales" para expandir/colapsar. Muestra el conteo en paréntesis.

Tabla de Miembros

Las asignaciones individuales muestran:

ColumnaContenido
MiembroAvatar, nombre, correo
RolRol del espacio de trabajo (mostrado)
AsignadoCuándo se añadió al proyecto
AccionesOpción de eliminar

Añadir Miembros Individuales

  1. Haz clic en "Añadir Miembros"
  2. Selecciona la pestaña "Miembros"
  3. Busca o explora los miembros disponibles
  4. Selecciona el/los miembro(s) a añadir
  5. Confirma

Individual vs. Asignación de Equipo

Cuándo usar individual:

  • Colaborador temporal del proyecto
  • Colaborador multifuncional
  • Casos especiales de acceso

Cuándo usar equipo:

  • Equipo permanente del proyecto
  • Acceso basado en rol (todos los desarrolladores)
  • Acceso auto-mantenible

Eliminar Miembros Individuales

Haz clic en el botón eliminar en la fila del miembro:

  1. Diálogo de confirmación
  2. Confirma la eliminación
  3. El miembro pierde acceso inmediatamente

Excepción: Si el equipo del miembro también está asignado, retiene acceso a través de la membresía del equipo.

Diálogo de Añadir Miembros

Interfaz de dos pestañas:

  • Equipos: Equipos disponibles para asignar
  • Miembros: Miembros individuales del espacio de trabajo

Pestaña de Equipos

Muestra equipos del espacio de trabajo no asignados aún:

  • Nombre y color del equipo
  • Conteo de miembros
  • Capacidad de selección múltiple

Pestaña de Miembros

Muestra miembros del espacio de trabajo no asignados individualmente:

  • Buscar por nombre o correo
  • Visualización de avatar y nombre
  • Indicador de rol
  • Capacidad de selección múltiple

Selección Masiva

Selecciona múltiples equipos o miembros antes de confirmar. Útil cuando se configuran nuevos proyectos o grandes cambios de acceso.

Requisitos de Permisos

Quién Puede Ver

Todos los miembros del proyecto pueden ver:

  • Asignaciones de equipos
  • Lista de miembros individuales
  • Su propio tipo de acceso

Quién Puede Gestionar

AcciónRol Requerido
Añadir equiposAgency Owner
Eliminar equiposAgency Owner
Añadir individualesManager, Agency Owner
Eliminar individualesManager, Agency Owner (excepto a sí mismo)

Los Managers pueden añadir individuales pero típicamente no pueden gestionar asignaciones de equipos.

Auto-Eliminación

Los usuarios no pueden eliminarse a sí mismos de un proyecto. Esto previene bloqueo accidental. Solicita a otro usuario autorizado que elimine tu acceso si es necesario.

Implicaciones de Acceso

Qué Proporciona el Acceso

Los miembros del proyecto pueden:

  • Ver el proyecto en la barra lateral
  • Acceder a funciones habilitadas (Kanban, Wiki, etc.)
  • Ver tareas y datos del proyecto
  • Interactuar según los permisos del rol

Qué No Proporciona el Acceso

  • Permisos elevados más allá del rol del espacio de trabajo
  • Acceso a otros proyectos (asignación separada)
  • Capacidades administrativas (a menos que el rol lo permita)

Capacidades por Rol

Acceso + Rol determina los permisos reales:

RolCapacidades
Agency OwnerControl total
ManagerGestionar contenido, algunas configuraciones
DeveloperInteracción completa con tareas
ClientVista limitada, comentarios

Estados de Carga

Carga Inicial

Se muestra spinner mientras se obtienen:

  • Asignaciones de equipos
  • Miembros individuales
  • Detalles de miembros del equipo

Expansión de Equipo

Al expandir un equipo, puede ocurrir carga adicional para obtener los miembros del equipo.

Operaciones de Guardado

Añadir o eliminar muestra carga en línea. Las operaciones se completan antes de que la UI se actualice.

Escenarios Comunes

Configurar Nuevo Proyecto

  1. Añadir equipo central del proyecto
  2. Añadir stakeholders individuales
  3. Verificar que todos los miembros esperados aparezcan

Cambios de Miembros del Equipo

Nueva contratación se une a equipo existente:

  • Automáticamente obtiene acceso a los proyectos del equipo
  • No se necesita acción

Contratación de contratista:

  • Añadir individualmente a proyectos específicos
  • Eliminar cuando termine el contrato

Cambio de Fase del Proyecto

Transición a mantenimiento:

  • Eliminar equipo de desarrollo
  • Añadir equipo de soporte
  • Mantener individuos clave

Auditoría de Acceso

Revisar periódicamente:

  • ¿Todos los equipos asignados aún necesitan acceso?
  • ¿Las asignaciones individuales aún son relevantes?
  • ¿Alguien falta que debería tener acceso?

Solución de Problemas

El Miembro No Puede Acceder al Proyecto

Verificar:

  1. El miembro existe en el espacio de trabajo
  2. El miembro está asignado (equipo o individual)
  3. El rol del miembro permite acceso al proyecto
  4. El proyecto está activo (no archivado)

La Asignación de Equipo No Muestra Miembros

Posibles causas:

  • El equipo en sí está vacío
  • La carga aún está en progreso
  • Los permisos impiden ver detalles del equipo

No Puedo Añadir Ciertos Miembros

Posibles causas:

  • Ya está asignado (individualmente o via equipo)
  • El usuario no está en el espacio de trabajo
  • Permisos insuficientes para añadir

Miembro Eliminado Aún Tiene Acceso

Verificar:

  • ¿Está asignado via un equipo que no fue eliminado?
  • ¿La eliminación se guardó exitosamente?
  • ¿Han actualizado su sesión?

Mejores Prácticas

Usar Equipos Cuando Sea Posible

Beneficios:

  • Acceso auto-mantenible
  • Auditoría más fácil
  • Organización basada en roles
  • Consistente entre proyectos

Individual para Excepciones

Usar para:

  • Colaboraciones puntuales
  • Colaboradores entre equipos
  • Acceso temporal

Auditorías Regulares

Revisión mensual:

  • Eliminar acceso para miembros que se fueron
  • Añadir acceso para nuevos miembros del equipo
  • Verificar que las asignaciones de equipo sean actuales

Documentar Decisiones de Acceso

Rastrear:

  • Por qué se asignaron los equipos
  • Razones de acceso individual especial
  • Cambios de acceso y fechas

Acceso API

Gestionar miembros programáticamente:

GET /projects/{slug}/members
POST /projects/{slug}/members
DELETE /projects/{slug}/members/{uuid}

GET /projects/{slug}/teams
POST /projects/{slug}/teams
DELETE /projects/{slug}/teams/{uuid}

Útil para aprovisionamiento automatizado de acceso.


La configuración de miembros asegura que las personas correctas tengan acceso para colaborar en tu proyecto. Usa equipos para acceso sistemático, individuales para excepciones, y audita regularmente para mantener el acceso alineado con la realidad.

Configuración de Horario de Trabajo

La pestaña Horario de Trabajo define cuándo se trabaja en este proyecto. Configura días laborales, horas diarias y festivos para asegurar que los cálculos de capacidad, planificación de sprints y seguimiento de tiempo reflejen la realidad.

Jerarquía del Horario

GitScrum usa una jerarquía para horarios de trabajo:

  1. Predeterminado del espacio de trabajo: Aplica a todos los proyectos a menos que se anule
  2. Anulación del proyecto: Este proyecto usa horario personalizado

El toggle "Anular horario del espacio de trabajo" controla cuál aplica.

Anular Horario del Espacio de Trabajo

Cuando Está Deshabilitado (Predeterminado)

El proyecto usa la configuración de horario a nivel de espacio de trabajo. Un cuadro informativo muestra:

  • Días laborales actuales del espacio de trabajo
  • Horas por día de la configuración del espacio de trabajo

Cualquier cambio de horario requiere acceso de administrador del espacio de trabajo.

Cuando Está Habilitado

El proyecto usa su propio horario personalizado. Aparecen opciones de configuración completas:

  • Cuadrícula de días laborales
  • Control deslizante de horas por día
  • Festivos específicos del proyecto

Configuración de Días Laborales

Cuadrícula de Selección de Días

Siete botones representan cada día de la semana:

DíaAbreviatura
LunesLun
MartesMar
MiércolesMié
JuevesJue
ViernesVie
SábadoSáb
DomingoDom

Seleccionar Días Laborales

Haz clic en un día para alternar:

  • Activo (resaltado): Día de trabajo
  • Inactivo (atenuado): Día no laboral

La mayoría de organizaciones usa Lunes-Viernes. Algunos escenarios requieren configuraciones diferentes:

  • Cobertura de fin de semana: Incluir Sáb/Dom
  • Observancia religiosa: Excluir días específicos
  • Horario comprimido: Cuatro días de 10 horas

Conteo de Días Laborales

Debajo de la cuadrícula, un resumen muestra: "X días laborales por semana"

Esto afecta:

  • Cálculos de capacidad semanal
  • Conteos de días de sprint
  • Pronóstico de disponibilidad de recursos

Horas Por Día

Establecer Horas Diarias

Un control deslizante o campo controla las horas trabajadas por día:

  • Rango: 1-24 horas (rango práctico: 4-12)
  • Predeterminado: 8 horas
  • Incrementos: 0.5 horas

Capacidad Semanal

La configuración muestra la capacidad semanal calculada:

Horas por día × Días laborales = Capacidad semanal
8 horas × 5 días = 40 horas/semana

Impacto en la Planificación

Las horas por día afectan:

  • Capacidad del sprint: Total de horas disponibles
  • Conversión esfuerzo-a-horas: Ratio de story points a horas
  • Expectativas de seguimiento de tiempo: Qué cuenta como un "día completo"
  • Cálculos de burndown: Progreso diario esperado

Festivos del Proyecto

Lista de Festivos

Ver y gestionar festivos específicos del proyecto que excluyen días del tiempo de trabajo.

Añadir Festivos

  1. Haz clic en "Añadir Festivo"
  2. Selecciona fecha del selector de fechas
  3. Haz clic en "Añadir" para confirmar

Los festivos aparecen en lista cronológica:

  • Fecha mostrada en formato regional
  • Botón eliminar para quitar

Eliminar Festivos

Haz clic en el ícono eliminar junto a cualquier festivo. Se elimina inmediatamente.

Impacto de los Festivos

Los festivos afectan:

  • Planificación de sprint: Día excluido de la duración del sprint
  • Cálculos de capacidad: Horas disponibles reducidas
  • Vistas de calendario: Día marcado como no laboral
  • Cálculos de fechas límite: Cuentan los festivos

Festivos Comunes a Añadir

Considera añadir:

  • Festivos nacionales/públicos
  • Días de cierre de la empresa
  • Eventos fuera de oficina del equipo
  • Descansos extendidos (temporada de fiestas)

Gestión Masiva de Festivos

Para muchos festivos, considera:

  1. Gestionar a nivel de espacio de trabajo (aplica a todos los proyectos)
  2. Usar nivel de proyecto solo para cierres específicos del proyecto

Guardar Cambios

Botón Guardar

Haz clic en "Guardar" en el encabezado para persistir los cambios. El botón muestra:

  • Guardar Cambios: Cambios detectados
  • Guardando...: Guardado en progreso
  • El guardado exitoso retorna al estado normal

Cuándo Guardar

Los cambios requieren guardado explícito:

  • Días laborales modificados
  • Horas por día cambiadas
  • Festivos añadidos o eliminados
  • Configuración de anulación alternada

Navegar fuera con cambios sin guardar muestra confirmación.

Indicador de Origen del Horario

El encabezado muestra el origen actual del horario:

  • "Usando horario del espacio de trabajo": El proyecto hereda configuración del espacio de trabajo
  • "Usando horario del proyecto": La anulación está activa

Esto ayuda a identificar rápidamente qué configuración aplica.

Visualización de Impacto

Vista Previa de Capacidad

Al planificar sprints, el horario afecta:

Ejemplo de cálculo:

  • Días laborales: Lun-Vie (5 días)
  • Horas por día: 8 horas
  • Duración del sprint: 2 semanas
  • Festivos en el sprint: 1 día
Días disponibles: (5 días × 2 semanas) - 1 festivo = 9 días
Capacidad total: 9 días × 8 horas = 72 horas

Contexto de Seguimiento de Tiempo

El horario afecta cómo se muestra el tiempo registrado:

  • Los totales diarios se comparan contra horas por día
  • Los totales semanales se comparan contra capacidad semanal
  • Las horas extra se calculan cuando se excede el horario

Configuraciones Comunes

Semana Laboral Estándar

Días: Lun, Mar, Mié, Jue, Vie
Horas: 8 por día
Capacidad semanal: 40 horas

Semana Laboral Comprimida

Días: Lun, Mar, Mié, Jue
Horas: 10 por día
Capacidad semanal: 40 horas

Semana de Seis Días

Días: Lun, Mar, Mié, Jue, Vie, Sáb
Horas: 7 por día
Capacidad semanal: 42 horas

Proyecto de Medio Tiempo

Días: Lun, Mar, Mié
Horas: 6 por día
Capacidad semanal: 18 horas

Mejores Prácticas

Precisión Sobre Optimismo

Establece horas realistas: Si el equipo realmente trabaja 6 horas productivas, no pongas 8.

Incluye festivos temprano: Añade festivos conocidos al inicio del proyecto.

Revisa periódicamente: Ajusta conforme los patrones del equipo cambien.

Consistencia

Coincidir con la realidad: El horario debe reflejar cómo realmente sucede el trabajo.

Conocimiento del equipo: Asegura que el equipo conozca el horario configurado.

Actualizar prontamente: Ajusta cuando las circunstancias cambien.

Anular Sabiamente

Usar valores predeterminados del espacio de trabajo cuando los proyectos siguen el horario estándar.

Anular solo cuando sea necesario:

  • Cliente en diferente zona horaria/región
  • Proyecto con requisitos únicos
  • Horario temporal diferente

Permisos

AcciónRol Requerido
Ver horarioMiembro del proyecto
Editar horarioManager, Agency Owner
Añadir/eliminar festivosManager, Agency Owner
Alternar anulaciónManager, Agency Owner

Los miembros regulares ven el horario pero no pueden modificarlo.

Solución de Problemas

Cálculos de Capacidad Incorrectos

Verificar:

  • Días laborales correctamente establecidos
  • Horas por día precisas
  • Festivos correctamente ingresados
  • Toggle de anulación en el estado esperado

El Horario No Aplica

Si usas horario del espacio de trabajo:

  • Verifica que la anulación esté deshabilitada
  • Revisa configuración del espacio de trabajo para valores correctos

Si usas horario del proyecto:

  • Confirma que la anulación esté habilitada
  • Guarda después de hacer cambios

Los Festivos No Se Excluyen

  • Verifica que el festivo esté en formato de fecha correcto
  • Comprueba que el festivo caiga dentro del período relevante
  • Asegura que el festivo fue guardado (no solo añadido)

Discrepancia en Capacidad del Sprint

La capacidad del sprint combina:

  • Configuración del horario de trabajo
  • Disponibilidad de miembros del equipo
  • Tiempo libre individual

Los tres factores influyen en la capacidad final. Verifica cada uno si los números parecen incorrectos.

Notas Técnicas

Manejo de Zona Horaria

Los festivos y días laborales usan la zona horaria del proyecto. Asegura que la zona horaria del proyecto esté correctamente configurada para manejo preciso de fechas.

Formato de Fecha

Las fechas de festivos se muestran en el formato de tu región. El sistema almacena fechas en formato ISO (AAAA-MM-DD) independientemente de la visualización.

Acceso API

El horario de trabajo es accesible via API:

GET /projects/{slug}/settings/schedule
PUT /projects/{slug}/settings/schedule

Útil para gestión programática del horario.


El Horario de Trabajo asegura que las funciones de planificación y seguimiento de GitScrum reflejen cómo tu equipo realmente trabaja. Configura con precisión, mantén diligentemente, y tu planificación de capacidad permanecerá fundamentada en la realidad.

Configuración de Webhooks

Los webhooks envían solicitudes HTTP POST a tus endpoints cuando ocurren eventos en GitScrum. Construye integraciones personalizadas, dispara flujos de trabajo externos y mantén sistemas externos sincronizados con la actividad del proyecto.

Fundamentos de Webhooks

Qué Hacen los Webhooks

Cuando ocurre un evento configurado:

  1. GitScrum detecta el evento
  2. Construye un payload JSON con los datos del evento
  3. Envía HTTP POST a la URL de tu endpoint
  4. Registra la respuesta para depuración

Casos de Uso

  • Notificaciones personalizadas: Enviar a sistemas de chat propietarios
  • Sincronización de datos: Actualizar bases de datos externas
  • Disparadores de flujos de trabajo: Iniciar pipelines CI/CD
  • Registro de auditoría: Grabación externa de eventos
  • Integraciones de terceros: Conectar servicios no soportados

Interfaz de Webhooks

Diseño de Tabla

Los webhooks se organizan por categoría de evento en una tabla expandible:

ColumnaPropósito
EstadoIndicador activo (tiene URL) o inactivo
EventoNombre legible del evento
RecursoIdentificador técnico del evento
EndpointURL que recibe el webhook
AccionesOpciones de probar y configurar

Categorías de Eventos

Haz clic en los encabezados de categoría para expandir/colapsar:

Tareas: Eventos del ciclo de vida de tareas Sprints: Eventos de gestión de sprints Entradas de Tiempo: Eventos de seguimiento de tiempo Proyectos: Eventos de configuración del proyecto

Visualización de Estadísticas

El encabezado muestra métricas de webhooks:

  • Total de webhooks configurados
  • Conteo de webhooks activos

Configurar Webhooks

Añadir un Endpoint

  1. Encuentra el tipo de evento que quieres monitorear
  2. Ingresa la URL de tu endpoint en el campo de entrada
  3. Presiona Enter o haz clic fuera para guardar

Requisitos de URL:

  • Debe ser una URL HTTP o HTTPS válida
  • Debe ser públicamente accesible (o dentro de tu red)
  • Debe retornar estado 2xx para confirmar recepción

Formato de Endpoint

https://tu-dominio.com/webhooks/gitscrum
https://api.tuservicio.com/hooks/incoming
https://hooks.slack.com/services/T00/B00/xxx (para Slack)

Validación de URL

Las URLs inválidas muestran un estado de error:

  • Borde rojo en el campo
  • Aparece mensaje de validación
  • Guardado bloqueado hasta corregir

Eliminar un Endpoint

Limpia el campo de URL y guarda. El webhook se desactiva inmediatamente.

Referencia de Eventos

Eventos de Tareas

RecursoSe Dispara Cuando
task.createdNueva tarea creada en el proyecto
task.updatedCualquier campo de tarea modificado
task.deletedTarea eliminada permanentemente
task.assignedCampo de asignatario cambiado
task.movedTarea movida a diferente estado/columna
task.completedTarea marcada como hecha
task.commentedNuevo comentario en tarea
task.attachment_addedArchivo adjuntado a tarea

Eventos de Sprints

RecursoSe Dispara Cuando
sprint.createdNuevo sprint creado
sprint.updatedDetalles del sprint modificados
sprint.startedSprint activado
sprint.completedSprint finalizado/cerrado
sprint.deletedSprint eliminado
sprint.task_addedTarea añadida al sprint
sprint.task_removedTarea eliminada del sprint

Eventos de Entradas de Tiempo

RecursoSe Dispara Cuando
time_entry.createdNuevo tiempo registrado
time_entry.updatedEntrada de tiempo modificada
time_entry.deletedEntrada de tiempo eliminada

Eventos de Proyecto

RecursoSe Dispara Cuando
project.updatedConfiguración del proyecto cambiada
project.member_addedNuevo miembro añadido
project.member_removedAcceso de miembro revocado

Estructura del Payload

Todos los webhooks envían payloads JSON con estructura consistente:

{
  "event": "task.created",
  "timestamp": "2024-01-15T14:30:00Z",
  "project": {
    "uuid": "proj-uuid-123",
    "name": "Nombre del Proyecto",
    "slug": "nombre-del-proyecto"
  },
  "data": {
    // Datos específicos del evento
  },
  "triggered_by": {
    "uuid": "user-uuid-456",
    "name": "Juan Pérez",
    "email": "juan@ejemplo.com"
  }
}

Ejemplo de Payload de Tarea

{
  "event": "task.created",
  "timestamp": "2024-01-15T14:30:00Z",
  "project": {
    "uuid": "proj-abc123",
    "name": "Desarrollo Web",
    "slug": "desarrollo-web"
  },
  "data": {
    "uuid": "task-xyz789",
    "title": "Implementar autenticación de usuarios",
    "description": "Añadir login y registro",
    "status": {
      "name": "Por Hacer",
      "slug": "por-hacer"
    },
    "priority": "high",
    "assignee": {
      "uuid": "user-456",
      "name": "María García"
    },
    "due_date": "2024-01-20",
    "effort": 5,
    "labels": ["feature", "seguridad"]
  },
  "triggered_by": {
    "uuid": "user-123",
    "name": "Juan Pérez"
  }
}

Ejemplo de Payload de Sprint

{
  "event": "sprint.started",
  "timestamp": "2024-01-15T09:00:00Z",
  "project": {
    "uuid": "proj-abc123",
    "name": "Desarrollo Web"
  },
  "data": {
    "uuid": "sprint-def456",
    "name": "Sprint 5",
    "goal": "Completar módulo de autenticación",
    "start_date": "2024-01-15",
    "end_date": "2024-01-29",
    "task_count": 12,
    "total_effort": 45
  },
  "triggered_by": {
    "uuid": "user-123",
    "name": "Juan Pérez"
  }
}

Probar Webhooks

Botón de Prueba

Cada webhook configurado tiene un botón de prueba. Haz clic para enviar un payload de ejemplo:

  1. GitScrum envía payload de prueba a tu endpoint
  2. La respuesta se muestra en línea:
  • Éxito (2xx): Confirmación verde
  • Falla: Mensaje de error con código de estado

Payload de Prueba

Los payloads de prueba se identifican claramente como pruebas:

{
  "event": "webhook.test",
  "timestamp": "2024-01-15T14:30:00Z",
  "test": true,
  "message": "Este es un webhook de prueba de GitScrum"
}

Probar Todos

El botón "Probar Todos" en el encabezado envía payloads de prueba a todos los webhooks configurados simultáneamente. Útil para verificar toda la configuración de webhooks a la vez.

Manejo de Respuestas

Respuesta Esperada

Tu endpoint debe retornar:

  • Estado 2xx: Webhook recibido exitosamente
  • Tiempo de respuesta: Menos de 30 segundos

Timeout

GitScrum agota el tiempo después de 30 segundos. Los procesos de larga duración deben:

  1. Retornar 202 Accepted inmediatamente
  2. Procesar asincrónicamente

Lógica de Reintentos

Los webhooks fallidos reintentan automáticamente:

  • 1er reintento: 1 minuto después de la falla
  • 2do reintento: 5 minutos después del 1er reintento
  • 3er reintento: 30 minutos después del 2do reintento
  • Reintento final: 2 horas después del 3er reintento

Después de que todos los reintentos fallen, el webhook se registra como fallido.

Códigos de Estado

CódigoComportamiento de GitScrum
200-299Éxito, sin reintento
301-399Sigue redirección una vez
400-499Falla, sin reintento (error del cliente)
500-599Falla, reintentará
TimeoutFalla, reintentará

Seguridad

Seguridad del Endpoint

HTTPS recomendado: Siempre usa endpoints HTTPS en producción.

Lista blanca de IPs: Los webhooks de GitScrum originan de rangos de IP documentados. Contacta soporte para la lista actual.

Verificación de firma: Próxima función—firmará payloads para verificación.

Asegurar Tu Endpoint

  1. Tokens secretos: Añade parámetro de consulta o encabezado para verificación

`` https://tusitio.com/webhooks?token=secreto123 ``

  1. Restricción de IP: Solo aceptar de IPs de GitScrum
  1. Limitación de velocidad: Proteger contra ataques de repetición
  1. Validación de entrada: Siempre validar la estructura del payload

Integraciones Comunes

Webhook Entrante de Slack

  1. Crea Webhook Entrante en Slack
  2. Copia la URL del webhook
  3. Pega como endpoint para los eventos deseados

Nota: La integración nativa de Slack proporciona formato más rico.

Webhook de Discord

  1. Crea webhook en configuración del canal de Discord
  2. Usa la URL del webhook directamente
  3. Discord acepta payloads JSON estándar

Servidor Personalizado

Ejemplo de endpoint en Node.js:

app.post('/webhooks/gitscrum', (req, res) => {
  const { event, data } = req.body;
  
  // Procesar según tipo de evento
  switch(event) {
    case 'task.created':
      manejarNuevaTarea(data);
      break;
    case 'sprint.completed':
      manejarSprintCompleto(data);
      break;
  }
  
  res.status(200).send('OK');
});

Solución de Problemas

Los Webhooks No Se Disparan

Lista de verificación:

  1. ¿La URL del endpoint está guardada (no vacía)?
  2. ¿La URL es alcanzable desde internet público?
  3. ¿El endpoint retorna estado 2xx?
  4. Revisar logs del servidor del endpoint

Datos Incorrectos Recibidos

Verificar:

  • Tipo de evento correcto configurado
  • Estructura del payload coincide con lo esperado
  • Sin middleware transformando la solicitud

Eventos Duplicados

Posibles causas:

  • Reintento después de timeout (pero el endpoint procesó)
  • Múltiples webhooks para el mismo tipo de evento

Solución: Implementar idempotencia usando UUID del evento o timestamp.

Conexión Rechazada

Causas comunes:

  • Firewall bloqueando IPs de GitScrum
  • Endpoint no escuchando en el puerto especificado
  • Problemas de certificado SSL (para HTTPS)

Depuración:

  1. Probar endpoint desde fuente externa
  2. Revisar reglas del firewall
  3. Verificar validez del certificado SSL

Mejores Prácticas

Diseño del Endpoint

Retornar rápidamente: Confirmar recepción, procesar async Manejar fallas graciosamente: No fallar por payloads malformados Registrar todo: Ayuda en depuración y auditoría

Selección de Eventos

Ser específico: Solo suscribirse a eventos que necesitas Evitar redundancia: task.completed incluye info de task.updated Considerar volumen: Proyectos de alta actividad generan muchos eventos

Mantenimiento

Monitorear salud del endpoint: Alertar sobre fallas Probar después de cambios: Re-verificar después de actualizaciones del endpoint Documentar integraciones: Registrar por qué existe cada webhook

Permisos

AcciónRol Requerido
Ver webhooksManager, Agency Owner
Configurar endpointsManager, Agency Owner
Probar webhooksManager, Agency Owner

Los miembros regulares del proyecto no pueden acceder a la configuración de webhooks.

Límites de Velocidad

Los webhooks comparten los límites de velocidad de API del proyecto:

  • Estándar: 1000 solicitudes/hora
  • Pro: 5000 solicitudes/hora

Los eventos de alto volumen pueden alcanzar límites. Considera agrupar o eventos selectivos.


Los webhooks extienden el alcance de GitScrum a cualquier sistema que pueda recibir solicitudes HTTP. Configura cuidadosamente, prueba exhaustivamente, y construye las integraciones personalizadas que tu flujo de trabajo requiere.