Colaboração com outros desenvolvedores

O Apps Script fornece alguns recursos que ajudam você e outros desenvolvedores a criar e manter scripts, complementos e apps da Web juntos.

Noções básicas de colaboração

Para colaborar em um projeto, você e os colaboradores precisam ter acesso de editor ao arquivo de projeto do Apps Script (e ao contêiner, se for um script vinculado). Isso permite que todos os membros da equipe vejam e façam alterações no código do Apps Script. Os editores também podem criar novas versões de código, publicar complementos e implantar scripts como apps da Web ou executáveis como a API Apps Script.

Você pode ajudar sua equipe planejando com antecedência como lidar com a edição, a revisão, o controle de versões e, se aplicável, a implantação e a publicação do projeto, do complemento ou do app da Web. Os projetos autônomos geralmente são os mais fáceis de colaboração, porque aparecem diretamente no Google Drive e são o tipo de projeto recomendado para complementos e o desenvolvimento de apps da Web.

Um problema comum em colaboração ocorre quando o proprietário de um projeto de script sai da equipe sem transferir a propriedade do projeto para outra pessoa da equipe. Isso pode impedir a manutenção ou atualização do projeto. Colocar o projeto de script em um drive compartilhado evita esse problema, já que os arquivos em um drive compartilhado não têm proprietários específicos.

Colaboração com a ferramenta de linha de comando clasp

O clasp permite sincronizar projetos entre script.google.com e seu sistema de arquivos local. Isso permite simplificar e automatizar o desenvolvimento de código se você e seus colaboradores estiverem usando um software de gerenciamento de controle de origem, como git.

Consulte o guia sobre a interface de linha de comando usando clasp para ver mais detalhes.

Colaboração com drives compartilhados

Os drives compartilhados (antes chamados de "Drives de equipe") oferecem um espaço compartilhado em um Google Drive, onde grupos de usuários do Drive podem colaborar com mais eficiência. Os arquivos em um drive compartilhado pertencem ao grupo como um todo, não a pessoas específicas. Isso significa que quando um colaborador sai do grupo, ele não assume a propriedade e o controle do arquivo.

Os drives compartilhados também permitem que você mova arquivos entre domínios. Um drive compartilhado em um domínio pode ter colaboradores de outro domínio que podem mover arquivos desse domínio para o drive compartilhado. Isso pode ser muito valioso para os desenvolvedores do Apps Script, porque fornece uma maneira para uma equipe desenvolver complementos, apps da Web ou outro código para clientes em domínios diferentes.

Ao usar drives compartilhados para colaborar em projetos do Apps Script, lembre-se do seguinte:

  1. Os colaboradores com acesso de editor a um drive compartilhado podem criar ou mover novos arquivos para o drive compartilhado. Como editores de script, eles podem ver e editar projetos de script, executar o código do script, criar novas versões de script, publicar complementos.
  2. Para implantar scripts como apps da Web ou executáveis na API Apps Script, a conta que cria a implantação precisa pertencer ao mesmo domínio que o drive compartilhado em que o script reside.
  3. Os drives compartilhados permitem que você compartilhe arquivos específicos com outras pessoas fora do grupo e atualize as permissões de edição e visualização nesses arquivos, como em qualquer outro arquivo do Drive. No entanto, se um usuário fizer parte da equipe do drive compartilhado, não será possível reduzir o acesso dele a arquivos específicos. Por exemplo, se um usuário tiver acesso para editar a um drive compartilhado, não será possível mudá-lo para acesso somente visualização a um arquivo específico no drive compartilhado.
  4. Os colaboradores que têm acesso total a um drive compartilhado, além dos recursos acima, podem excluir arquivos e projetos do Apps Script, além de removê-los do drive compartilhado.
  5. Todos os scripts vinculados ao contêiner usam as mesmas listas de acesso de leitor e editor definidas para o arquivo de contêiner. Por exemplo, se você tiver acesso para editar a um arquivo do Planilhas Google, também terá acesso para editar qualquer código de projeto do Apps Script anexado a ele. Colocar esse arquivo de contêiner em um drive compartilhado concede aos colaboradores do drive compartilhado o mesmo acesso ao código do script que eles têm para o próprio contêiner.
  6. Quando um projeto de script reside em um drive compartilhado, o acesso ao projeto do Cloud Platform (GCP) pode ser restrito. Consulte a seção Guia de projetos e drives compartilhados do GCP para saber mais.
  7. Os apps da Web implantados em um domínio deixam de funcionar se a propriedade muda para um drive compartilhado ou uma conta em outro domínio. Para corrigir isso, mova o script de volta para o domínio original.
  8. Da mesma forma, os projetos de script que são implantados como um executável da API Apps Script param de funcionar quando chamados pela API se forem movidos por um drive compartilhado de um domínio para outro. Isso pode ser corrigido movendo o script de volta para o domínio original.

Colaboração com o compartilhamento de projetos

Também é possível colaborar em um projeto compartilhando-o diretamente com todos os colaboradores. Você pode compartilhar diretamente projetos de script que residem em pastas comuns do Google Drive ou em drives compartilhados. Se você usar esse método, recomendamos planejar cuidadosamente quem é o proprietário e mantém o script ao longo do tempo.

Projetos independentes aparecem no Google Drive como um arquivo, e você pode compartilhá-los como qualquer outro arquivo. Para ver mais informações, consulte Como compartilhar arquivos e pastas.

Projetos vinculados a contêineres não são visíveis no seu Google Drive. Para compartilhar um projeto vinculado a um contêiner, basta compartilhar o arquivo pai do contêiner. Por exemplo, se você tem um script vinculado a um arquivo do Planilhas Google, é possível transformá-lo em um editor do arquivo do Planilhas Google. As configurações de acesso de visualização e editor do arquivo de contêiner são herdadas por todos os projetos dentro desse contêiner.

Colaboração e recursos do projeto

Os recursos são entidades associadas ao projeto, mas que existem de forma independente do código. Nesta seção, explicamos como a colaboração em um projeto afeta os recursos, principalmente o projeto, os gatilhos, as bibliotecas e as propriedades do usuário do Cloud Platform.

Colaboração e projetos do Cloud Platform

Todo projeto do Apps Script tem um projeto do Cloud Platform (GCP) associado. Os projetos do GCP têm o próprio conjunto de proprietários, editores e outros papéis, que podem ser diferentes do conjunto de usuários que podem acessar o projeto de script.

Caso seu projeto de script seja publicado como um complemento, ele precisará usar um projeto padrão do GCP. Ao colaborar em um aplicativo que usa um projeto padrão do GCP, recomendamos que você configure os proprietários e papéis do GCP para garantir que todos os colaboradores tenham os níveis de acesso adequados. Isso ajuda a evitar situações em que você perde o acesso às configurações do Cloud do projeto porque os proprietários dele não estão mais na sua organização. Isso é especialmente importante para os complementos.

Colaboração e gatilhos

Ao colaborar em um projeto, os gatilhos instaláveis criados não são compartilhados com os que têm acesso ao seu projeto. Caso você precise ter uma configuração de gatilho consistente para todos os colaboradores, use o serviço de script para criar gatilhos programaticamente no ambiente de execução. Para saber mais, consulte Como gerenciar gatilhos de maneira programática.

Colaboração e bibliotecas

As bibliotecas incluídas no projeto estão disponíveis para os colaboradores do projeto. No entanto, se eles não tiverem pelo menos acesso de leitura a uma biblioteca incluída, não poderão usá-las. O script gera um erro nesse caso. Para ver mais informações sobre bibliotecas, consulte Como gerenciar bibliotecas.

Colaboração e propriedades do usuário

As propriedades do usuário são exclusivas do usuário que as criou. Isso significa que os colaboradores do projeto não podem ver nem acessar as propriedades do usuário, e você não pode ver nem acessar as propriedades deles. Use as propriedades de script se quiser compartilhar propriedades específicas do projeto com os colaboradores. Para mais informações, consulte o Guia de propriedades.