Google Apps Script proporciona funciones que ayudan a los equipos a compilar y mantener secuencias de comandos, complementos de Google Workspace y apps web en conjunto. En esta guía, se aborda la colaboración activa en un proyecto por parte de varios desarrolladores. Si deseas compartir código para que otros lo incluyan en sus propios proyectos, consulta la guía de bibliotecas en su lugar.
Conceptos básicos de la colaboración
Para colaborar en un proyecto, tú y tus colaboradores deben tener acceso de editor al archivo del proyecto de Apps Script (y a su contenedor, si es una secuencia de comandos vinculada). Esto permite que todos los miembros de tu equipo vean y realicen cambios en el código de Apps Script. Los editores también pueden crear versiones de código nuevas, publicar complementos y, además, implementar secuencias de comandos como apps web o como ejecutables para la API de Apps Script.
Planifica con anticipación cómo manejarás la edición, la revisión, el control de versiones y (si corresponde) la implementación y publicación de tu proyecto, complemento o app web. Por lo general, los proyectos independientes son los más fáciles de colaborar, ya que aparecen directamente en Google Drive y son el tipo de proyecto recomendado para el desarrollo de complementos y apps web development.
Un problema común en la colaboración ocurre cuando el propietario de un proyecto de secuencia de comandos abandona el equipo sin transferir la propiedad del proyecto a otra persona del equipo. Esto puede impedir que mantengas o actualices el proyecto. Si colocas tu proyecto de secuencia de comandos en una unidad compartida, se evita este problema, ya que los archivos de una unidad compartida no tienen propietarios específicos.
Siempre comparte la propiedad de los proyectos de secuencias de comandos. Si alguien abandona tu organización y se quita su cuenta, se pierde el acceso a las secuencias de comandos sin otros propietarios. Comparte tu secuencia de comandos en Drive o muévela a una unidad compartida.
Colabora con la herramienta de línea de comandos de clasp
clasp te permite sincronizar proyectos entre script.google.com y tu sistema de archivos local. Esto te permite optimizar y automatizar el desarrollo de código si tú y tus colaboradores usan software de administración de control de código fuente, como git.
Para obtener más detalles, consulta la guía de la interfaz de línea de comandos
con clasp guide.
Colabora con unidades compartidas
Las unidades compartidas solo están disponibles para los clientes de Google Workspace Business y Google Workspace Enterprise.
Las unidades compartidas proporcionan un espacio compartido en Drive donde los grupos de usuarios de Drive pueden colaborar de manera más eficaz. Los archivos colocados en una unidad compartida son propiedad del grupo en su totalidad, en lugar de personas individuales. Esto significa que, cuando un colaborador abandona el grupo, no se lleva la propiedad ni el control de los archivos.
Las unidades compartidas también te permiten mover archivos entre dominios: una unidad compartida en un dominio puede tener colaboradores de otro dominio que pueden mover archivos de ese dominio a la unidad compartida. Esto proporciona un medio para que un equipo desarrolle complementos, apps web o cualquier otro código para clientes en diferentes dominios.
Cuando usas unidades compartidas para colaborar en proyectos de Apps Script, sucede lo siguiente:
- Los colaboradores con acceso de editor a una unidad compartida pueden crear o mover archivos nuevos a la unidad compartida. Como editores de secuencias de comandos, pueden ver y editar proyectos de secuencias de comandos, ejecutar código de secuencias de comandos, crear versiones nuevas de secuencias de comandos y publicar complementos.
- Para implementar secuencias de comandos como apps web o ejecutables para la API de Apps Script, la cuenta que crea la implementación debe pertenecer al mismo dominio que la unidad compartida en la que reside la secuencia de comandos.
- Las unidades compartidas te permiten compartir archivos específicos dentro de la unidad compartida con otras personas fuera del grupo y actualizar sus permisos de edición y visualización en esos archivos como cualquier otro archivo de Drive. Sin embargo, si un usuario forma parte del equipo al que pertenece la unidad compartida, no puedes reducir su acceso a archivos específicos. Por ejemplo, si un usuario tiene acceso de edición a una unidad compartida, no puedes cambiarlo a acceso de solo lectura para un archivo específico dentro de la unidad compartida.
- Los colaboradores con acceso completo a una unidad compartida también pueden borrar archivos y proyectos de Apps Script, y mover archivos fuera de la unidad compartida.
- Todas las secuencias de comandos vinculadas a contenedores usan las mismas listas de acceso de lector y editor definidas para el archivo contenedor. Por ejemplo, si tienes acceso de edición a una Hoja de cálculo de Google, también tienes acceso de edición a cualquier código de proyecto de Apps Script adjunto. Si colocas un archivo contenedor de este tipo en una unidad compartida, se otorga a los colaboradores de la unidad compartida el mismo acceso al código de la secuencia de comandos que tienen para el contenedor.
- Cuando un proyecto de secuencia de comandos reside en una unidad compartida, es posible que se restrinja el acceso a su proyecto de Google Cloud. Consulta la sección Proyectos de Google Cloud y unidades compartidas de la guía para obtener más detalles.
- Las apps web implementadas en un dominio dejan de funcionar si su propiedad cambia a una unidad compartida o a una cuenta en un dominio diferente. Para corregir esto, vuelve a mover la secuencia de comandos a su dominio original.
- Del mismo modo, los proyectos de secuencias de comandos que se implementan como un ejecutable de la API de Apps Script dejan de funcionar cuando la API los llama si se mueven a través de una unidad compartida de un dominio a otro. Para corregir esto, vuelve a mover la secuencia de comandos a su dominio original.
Colabora con una carpeta compartida
Ten cuidado si creas o mueves un proyecto de Apps Script a una carpeta compartida. Asegúrate de que la carpeta solo se comparta con personas de confianza.
Si no puedes colaborar con una unidad compartida, usa una carpeta compartida. Cuando creas o mueves un proyecto de Apps Script a una carpeta de Drive a la que pueden acceder otras personas, heredan el mismo acceso al proyecto de Apps Script que tienen para la carpeta. Por ejemplo:
- Si alguien tiene acceso de edición a la carpeta, puede editar o borrar el proyecto de Apps Script y ejecutar la secuencia de comandos.
- Si alguien solo tiene acceso de visualización a la carpeta, puede ver el proyecto de Apps Script y ejecutar la secuencia de comandos.
Colabora con el uso compartido de proyectos
Para colaborar en un proyecto, compártelo directamente con todos los colaboradores. Comparte directamente proyectos de secuencias de comandos que residan en carpetas de Drive normales o en unidades compartidas. Planifica cuidadosamente quién es el propietario y quién mantiene la secuencia de comandos a lo largo del tiempo.
Los proyectos independientes aparecen en Drive como un archivo. Compártelos como cualquier otro archivo. Para obtener más información, consulta Cómo compartir archivos y carpetas.
Los proyectos vinculados a contenedores no son visibles en Drive. Para compartir un proyecto vinculado a contenedores, comparte el archivo contenedor superior. Por ejemplo, si tienes una secuencia de comandos vinculada a una hoja de cálculo de Google, haz que alguien sea editor de la secuencia de comandos convirtiéndolo en editor de la hoja de cálculo. Los proyectos vinculados a contenedores heredan la configuración de acceso de lector y editor de su archivo contenedor.
Todas las secuencias de comandos vinculadas a contenedores usan la misma lista de acceso de propietario, lector y editor definida para el archivo contenedor. El propietario del contenedor toma la propiedad de un proyecto de secuencia de comandos nuevo, independientemente de quién lo haya creado.
Colaboración y recursos del proyecto
Los recursos son entidades que están asociadas con tu proyecto, pero existen de forma independiente de su código. En esta sección, se explica cómo la colaboración en un proyecto afecta sus recursos, en particular: su proyecto de Google Cloud, activadores, bibliotecas y propiedades del usuario.
Colaboración y proyectos de Google Cloud
Todos los proyectos de Apps Script tienen un proyecto de Google Cloud asociado. Los proyectos de Google Cloud tienen su propio conjunto de propietarios, editores y otros roles, que pueden ser diferentes del conjunto de usuarios que pueden acceder al proyecto de secuencia de comandos.
Colaboración y activadores
Cuando colaboras en un proyecto, no se comparten los activadores instalables que creas con quienes tienen acceso a tu proyecto. Si necesitas tener una configuración de activador coherente para todos los colaboradores, usa el servicio de secuencias de comandos para crear activadores de manera programática en el tiempo de ejecución. Para obtener más información, consulta Cómo administrar activadores de manera programática.
Como los activadores simples se crean a partir del código, se comparten con los colaboradores del proyecto.
Colaboración y bibliotecas
Las bibliotecas incluidas en tu proyecto están disponibles para los colaboradores del proyecto. Sin embargo, si no tienen al menos acceso de nivel de lectura a una biblioteca incluida, no pueden usar esas bibliotecas. En este caso, la secuencia de comandos muestra un error. Para obtener más información sobre las bibliotecas, consulta Cómo administrar bibliotecas.
Colaboración y propiedades del usuario
Las propiedades del usuario son exclusivas del usuario que las creó. Esto significa que los colaboradores del proyecto no pueden ver ni acceder a tus propiedades del usuario, y tú no puedes ver ni acceder a las suyas. Usa propiedades de secuencias de comandos si deseas compartir propiedades específicas del proyecto con los colaboradores. Para obtener más información, consulta la guía de propiedades.