Apps Script proporciona algunas funciones que te ayudan a ti y a otros desarrolladores a compilar y mantener secuencias de comandos, complementos y aplicaciones web juntos.
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 se trata de 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 e implementar secuencias de comandos como aplicaciones web o como ejecutables para la API de Apps Script.
Para ayudar a tu equipo, puedes planificar de antemano cómo manejar la edición, la revisión, el control de versiones y, si corresponde, la implementación y la publicación de tu proyecto, complemento o app web. Los proyectos independientes suelen ser 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 aplicaciones web.
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 provocar que no puedas mantener o actualizar el proyecto. Colocar tu proyecto de secuencia de comandos en una unidad compartida evita este problema, ya que los archivos de una unidad compartida no tienen propietarios específicos.
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 tu código si tú y tus colaboradores usan un software de administración de control de fuente como git
.
Para obtener más detalles, consulta la interfaz de línea de comandos mediante la guía clasp
.
Colabora con unidades compartidas
Las unidades compartidas (antes conocidas como “unidades de equipo”) proporcionan un espacio compartido en una unidad de Google Drive en el que grupos de usuarios de Drive pueden colaborar de manera más eficaz. Los archivos que se colocan en una unidad compartida pertenecen al grupo en su conjunto, no a individuos. Esto significa que, cuando un colaborador abandona el grupo, no asume la propiedad ni el control del archivo con él.
Las unidades compartidas también te permiten mover archivos entre dominios: una unidad compartida en un dominio puede tener colaboradores de otro dominio que puedan mover archivos de ese dominio a la unidad compartida. Esto puede ser muy valioso para los desarrolladores de Apps Script, ya que proporciona un medio para que un equipo desarrolle complementos, aplicaciones web y otros tipos de código para clientes en diferentes dominios.
Cuando uses unidades compartidas para colaborar en proyectos de Apps Script, ten en cuenta 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 secuencia de comandos, crear versiones de secuencias de comandos nuevas y publicar complementos.
- A fin de implementar secuencias de comandos como aplicaciones 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 ellas con otras personas ajenas al grupo. Además, puedes actualizar sus permisos de edición y lectura en esos archivos como lo harías con 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 a un archivo específico dentro de esa unidad.
- Los colaboradores con acceso completo a una unidad compartida también pueden borrar archivos y proyectos de Apps Script, y quitarlos de la unidad compartida.
- Todas las secuencias de comandos vinculadas a contenedores usan las mismas listas de acceso de visualizador y editor definidas para el archivo de 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 a ella. Si colocas este archivo de contenedor en una unidad compartida, se otorga a los colaboradores de esta 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, se puede restringir el acceso a su proyecto de Cloud Platform (GCP). Consulta la sección de la guía sobre proyectos de GCP y unidades compartidas 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 de un dominio diferente. Esto se puede corregir si mueves la secuencia de comandos a su dominio original.
- De manera similar, 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 trasladan de un dominio a otro a través de una unidad compartida. Para corregir esto, vuelve a mover la secuencia de comandos a su dominio original.
Cómo colaborar con una carpeta compartida
Si no puedes colaborar con una unidad compartida, puedes usar una carpeta compartida. Cuando creas o mueves un proyecto de Apps Script a una carpeta de Google 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 lectura a la carpeta, puede ver el proyecto de Apps Script y ejecutar la secuencia de comandos.
Colaborar con el uso compartido de proyectos
Puedes colaborar en un proyecto si lo compartes directamente con todos los colaboradores. Puedes compartir directamente proyectos de secuencias de comandos que se encuentren en carpetas normales de Google Drive o unidades compartidas. Si usas este método, se recomienda que planifiques con cuidado quién es el propietario y el que mantiene la secuencia de comandos con el tiempo.
Los proyectos independientes se muestran en tu unidad de Google Drive como un archivo y puedes compartirlos 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 desde tu Google Drive. Para compartir un proyecto vinculado a un contenedor, comparte el archivo de contenedor superior. Por ejemplo, si tienes una secuencia de comandos vinculada a una hoja de cálculo de Google, puedes convertir a alguien en editor de la hoja de cálculo si lo conviertes en editor de la hoja de cálculo. Los proyectos vinculados a contenedores heredan la configuración de acceso de lectura y edición de su archivo de contenedor.
Todas las secuencias de comandos vinculadas al contenedor usan la misma lista de acceso de propietario, visualizador y editor definida para el archivo del contenedor. El propietario del contenedor asume la propiedad de un proyecto de secuencia de comandos nuevo sin importar quién lo creó.
Colaboración y recursos para los proyectos
Los recursos son entidades que están asociadas con tu proyecto, pero que existen independientemente de su código. En esta sección, se explica cómo la colaboración en un proyecto afecta sus recursos, en particular: el proyecto de Cloud Platform, los activadores, las bibliotecas y las propiedades del usuario.
Colaboración y proyectos de Google Cloud
Cada proyecto de Apps Script tiene un proyecto de Google Cloud asociado. Los proyectos de Google Cloud tienen su propio conjunto de propietarios, editores y otras funciones, que pueden ser diferentes del conjunto de usuarios que pueden acceder al proyecto de secuencia de comandos.
Si el proyecto de secuencia de comandos se publicará como un complemento, debe usar un proyecto estándar de Google Cloud. Cuando colaboras en una aplicación que usa un proyecto estándar de Google Cloud, te recomendamos que configures los propietarios y las funciones de Google Cloud para asegurarte de que todos tus colaboradores tengan los niveles de acceso adecuados. Esto ayuda a evitar situaciones en las que pierdas el acceso a la configuración de Cloud del proyecto porque sus propietarios ya no están en tu organización. Esto es especialmente importante para los complementos.
Colaboración y activadores
Cuando colaboras en un proyecto, cualquier activador instalable que crees no se comparte con aquellos que tienen acceso a tu proyecto. Si necesitas tener una configuración de activador coherente para todos los colaboradores, puedes usar el servicio de Script a fin de crear activadores de manera programática, en el tiempo de ejecución. Para obtener más información, consulta Administra activadores de manera programática.
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 usarlas; en este caso, la secuencia de comandos arroja 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 únicas del usuario que las creó. Esto significa que los colaboradores del proyecto no pueden ver tus propiedades del usuario ni acceder a ellas, y tú tampoco puedes ver las suyas ni acceder a ellas. Usa las propiedades de secuencias de comandos si quieres compartir propiedades específicas del proyecto con los colaboradores. Para obtener más información, consulta la Guía de propiedades.