Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Feedback Crítico sobre la Experiencia del Desarrollador: clasp, Autenticación y Apps Script #1079

@rluqui

Description

@rluqui

A la atención de los equipos de Google Apps Script y Google Cloud,

Escribo para compartir un feedback detallado sobre las serias dificultades encontradas al intentar configurar un flujo de trabajo de desarrollo profesional (CI/CD) para un proyecto de Google Apps Script utilizando clasp y GitHub Actions. El proceso, que debería ser sencillo para un desarrollador, tomó más de una semana de depuración intensiva debido a múltiples problemas críticos en las herramientas y la documentación.

El objetivo era simple: gestionar el código de un proyecto de Apps Script en un repositorio de GitHub y automatizar el despliegue con GitHub Actions. Sin embargo, el camino estuvo bloqueado por los siguientes problemas fundamentales:

Autenticación Rota en la Versión Estable de clasp: La versión estable recomendada (@latest, que resuelve a 2.4.2) falla al ejecutar clasp login con un error 400: invalid_request. Esto sugiere que el cliente OAuth 2.0 incorporado está desactualizado o ha sido desactivado. Este es el primer y más grande obstáculo, ya que impide que cualquier nuevo usuario pueda empezar a usar la herramienta.

Gestión de Paquetes npm Defectuosa: Al intentar actualizar clasp, npm insistentemente instala una versión alfa antigua y no funcional (3.0.6-alpha), ignorando la etiqueta @latest e incluso fallando al intentar instalar versiones numéricas específicas. Esto requirió una limpieza forzada de la caché y la instalación de una versión por número exacto, pasos que no son intuitivos para la mayoría de los usuarios.

Bugs Internos en clasp: Incluso al intentar solucionar el problema de autenticación mediante credenciales personalizadas (--creds), la herramienta falla con errores internos de JavaScript (TypeError: Cannot read properties of undefined), haciendo que esta vía de solución también sea inútil.

Workaround Excesivamente Complejo y No Documentado: La única solución funcional fue abandonar por completo los métodos de autenticación de clasp y configurar manualmente la Federación de Identidades para Cargas de Trabajo (Workload Identity Federation). Este proceso requirió un conocimiento profundo de Google Cloud, incluyendo Cuentas de Servicio, políticas de IAM, la CLI de gcloud y la configuración de políticas de organización que bloqueaban la creación de claves. Este nivel de complejidad es desproporcionado para la tarea y no está documentado en ninguna parte de la guía oficial de clasp.

En resumen, la experiencia actual para un desarrollador que intenta seguir las mejores prácticas es extremadamente frustrante y da la impresión de que la herramienta clasp ha sido abandonada. Es prácticamente imposible para un no-experto en Google Cloud configurar un flujo de trabajo funcional.

Recomiendo encarecidamente que el equipo revise el estado de clasp, actualice sus mecanismos de autenticación, corrija su publicación en npm y documente un camino claro y moderno para la automatización CI/CD.

Gracias por su tiempo y consideración.

Atentamente,
Un desarrollador de la comunidad.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions