Apps Script ofrece algunas funciones que te ayudan a ti y a otros desarrolladores a compilar y mantener juntos secuencias de comandos, complementos y apps web.
Conceptos básicos de la colaboración
Para colaborar en un proyecto, tanto tú como 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 modifiquen el código de Apps Script. Los editores también pueden crear nuevas versiones de código, publicar complementos e implementar secuencias de comandos como aplicaciones web o ejecutables de la API de Apps Script.
Puedes ayudar a tu equipo planificando con anticipación la forma en que administras la edición, revisión, control de versiones y (si corresponde) la implementación y publicación de tu proyecto, complemento o aplicación web. Por lo general, los proyectos independientes son los más fáciles para colaborar, ya que aparecen directamente en Google Drive y son el tipo de proyecto recomendado para el complemento y el desarrollo de aplicaciones web.
Un problema común en la colaboración ocurre cuando un propietario del proyecto de secuencia de comandos abandona el equipo sin transferir la propiedad del proyecto a alguien más. 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.
Colaboración 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 software de administración de control de fuente, como git
.
Consulta la Guía de línea de comandos con clasp
para obtener más detalles.
Colabora con unidades compartidas
Las unidades compartidas (antes conocidas como “unidades de equipo”) proporcionan un espacio compartido en Google Drive en el que los grupos de usuarios de Drive pueden colaborar de manera más eficaz. Los archivos que se encuentran en una unidad compartida son propiedad del grupo en su totalidad, no de personas individuales. Esto significa que, cuando un colaborador abandona el grupo, no se queda con el control de la propiedad 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 puede ser muy valioso para los desarrolladores de Apps Script, ya que proporciona un medio para que un equipo desarrolle complementos, apps 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, crear nuevas versiones de secuencias de comandos y publicar complementos.
- A fin de 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 vista 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 podrás cambiar el acceso de solo lectura para un archivo específico dentro de la unidad compartida.
- Además de los mencionados anteriormente, los colaboradores con acceso total a una unidad compartida pueden borrar archivos y proyectos de Apps Script, así como 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 que tenga adjunto. Cuando se coloca ese archivo de contenedor en una unidad compartida, se les 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 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 una cuenta de otro dominio. Para corregir esto, mueve la secuencia de comandos de vuelta a su dominio original.
- De manera similar, los proyectos de secuencias de comandos que se implementan como ejecutables 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, mueve la secuencia de comandos nuevamente a su dominio original.
Colabora con el uso compartido del proyecto
También puedes colaborar en un proyecto si lo compartes directamente con todos los colaboradores. Puedes compartir directamente los proyectos de secuencias de comandos que residen en las carpetas normales de Google Drive o en las unidades compartidas. Si usas este método, te recomendamos que planifiques atentamente quién es el propietario y mantiene la secuencia de comandos en el tiempo.
Los proyectos independientes aparecen en Google Drive como un archivo y puedes compartirlos como cualquier otro. 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 al contenedor, comparte el archivo del 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 secuencia de comandos si le convierte en un editor de la hoja de cálculo. Los proyectos vinculados a contenedores heredan la configuración de acceso de visualizador y editor de sus archivos 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ó.
Recursos de proyectos y colaboración
Los recursos son entidades que se asocian 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, el proyecto de Cloud Platform, los activadores, las bibliotecas y las propiedades del usuario.
Proyectos colaborativos y 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 tu proyecto de secuencia de comandos debe publicarse como un complemento, debe usar un proyecto estándar de Google Cloud. Cuando colaboras en una aplicación que usa un proyecto de Google Cloud estándar, te recomendamos que configures los propietarios y los roles de Google Cloud para garantizar que todos tus colaboradores tengan los niveles de acceso adecuados. Esto ayuda a prevenir situaciones en las que pierdes el acceso a la configuración de la nube 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, los activadores instalables que creas no se comparten con las personas que tienen acceso a tu proyecto. Si necesitas que la configuración de los activadores sea coherente para todos los colaboradores, puedes usar el servicio de secuencias de comandos a fin de crear activadores de manera programática durante el tiempo de ejecución. Para obtener más información, consulta Administra activadores de manera programática.
Colaboración y bibliotecas
Las bibliotecas que se incluyen 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 podrán usar esas bibliotecas; en este caso, la secuencia de comandos arrojará un error. Para obtener más información sobre las bibliotecas, consulta Cómo administrar bibliotecas.
Propiedades de usuario y colaboración
Las propiedades del usuario son exclusivas del usuario que las creó. Esto significa que los colaboradores del proyecto no pueden ver sus propiedades de usuario ni acceder a ellas. Usa propiedades de secuencias de comandos si deseas compartir las propiedades específicas del proyecto con los colaboradores. Para obtener más información, consulta la Guía de propiedades.