Saltar a contenido

Flujo de revisión y roles

Cada solicitud de liberación avanza por cuatro etapas. El seguimiento muestra el porcentaje y el siguiente paso sin recargar la página.

Etapa % Quién Dónde
Revisión preliminar 25 → 40 SCM responsable Mi bandeja SCM → «1. Revisión SCM»
Checklist SCM 40 → 60 SCM responsable «2. Checklist»: cada cambio deja evidencia y al cerrar se genera el paquete
Peer Review 60 → 80 Revisor asignado Mi bandeja Peer Review → «3. Peer Review» (ve el reporte de evidencias)
VoBo final 80 → 100 SCM responsable Mi bandeja SCM → «4. VoBo» (el documento incluye el paquete de evidencias)
sequenceDiagram
    actor SCM
    participant Portal
    actor Revisor
    SCM->>Portal: Aprueba la revisión preliminar
    SCM->>Portal: Completa el checklist (evidencia + paquete)
    SCM->>Portal: Envía a Peer Review con el correo del revisor
    Revisor->>Portal: Abre la solicitud desde su bandeja
    Revisor->>Portal: Revisa el reporte de evidencias e inicia
    Revisor->>Portal: Aprueba, observa o rechaza
    SCM->>Portal: Genera el VoBo final (100 %)

Separación de funciones

El portal se ejecuta con la cuenta de quien lo abre, y cada regla se valida en el servidor, no solo en la interfaz:

  • Solo el revisor asignado puede iniciar, aprobar, observar o rechazar el Peer Review, y debe ser distinto del SCM responsable.
  • Solo el SCM responsable genera el VoBo. Se valida antes de crear el documento, así que un intento no autorizado no deja archivos sueltos.
  • La bandeja del revisor usa siempre la cuenta de la sesión: nadie puede pedir la bandeja de otro enviando un correo distinto desde el navegador.
  • El revisor puede abrir la solicitud que se le asignó, pero esta no aparece en la bandeja SCM.
  • Los roles (SCM, PEER, DEV, admin/lead) se leen de una pestaña de configuración de la Sheet.

Lecciones del desarrollo

google.script.run no transporta fechas

Una respuesta del servidor que contiene un objeto Date llega al navegador como null. El síntoma fue que todas las solicitudes mostraban el mismo porcentaje y el flujo "no avanzaba" hasta recargar. Ahora todas las respuestas pasan por una serialización que convierte las fechas a texto, y el arnés local reproduce esa regla para detectarlo antes de desplegar.

Columnas equivalentes en la hoja

La plantilla conserva nombres de columna viejos y nuevos para el mismo dato. El mapeo leía la primera columna existente aunque estuviera vacía. Ahora lee el primer valor no vacío y escribe en todas las equivalentes.

Probar el flujo completo, no las piezas

Revisión, checklist, Peer Review y VoBo pasaban cada uno por separado, pero el recorrido completo tenía ocho fallos encadenados (estados fuera de catálogo, bloqueos que se activaban de más, una función inexistente en el VoBo). La prueba de CI recorre ahora el flujo de punta a punta, simulando las dos cuentas.