Сотрудничайте с другими разработчиками

Apps Script предоставляет ряд функций, которые помогут вам и другим разработчикам совместно создавать и поддерживать скрипты, надстройки и веб-приложения.

Основы совместной работы

Для совместной работы над проектом вам и вашим коллегам необходимо иметь доступ редактора к файлу проекта Apps Script (и его контейнеру, если это привязанный скрипт ). Это позволит всем участникам вашей команды просматривать код Apps Script и вносить в него изменения. Редакторы также могут создавать новые версии кода, публиковать дополнения и развертывать скрипты как веб-приложения или исполняемые файлы для API Apps Script .

Вы можете помочь своей команде, заранее спланировав редактирование, рецензирование, управление версиями и (если применимо) развертывание и публикацию вашего проекта, дополнения или веб-приложения. Совместная работа над автономными проектами обычно проще всего, поскольку они отображаются непосредственно в Google Диске и являются рекомендуемым типом проекта для разработки дополнений и веб-приложений.

Распространенная проблема при совместной работе возникает, когда владелец проекта сценария покидает команду, не передав права собственности на проект другому участнику команды. Это может привести к невозможности поддерживать или обновлять проект. Размещение проекта сценария на общем диске предотвращает эту проблему, поскольку у файлов на общем диске нет конкретных владельцев.

Совместная работа с инструментом командной строки clasp

clasp позволяет синхронизировать проекты между script.google.com и вашей локальной файловой системой. Это позволяет оптимизировать и автоматизировать разработку кода, если вы и ваши коллеги используете систему управления исходным кодом, например git .

Более подробную информацию см. в руководстве по интерфейсу командной строки с использованием clasp .

Совместная работа с общими дисками

Общие диски (ранее известные как «Командные диски») предоставляют общее пространство на Google Диске, где группы пользователей Диска могут более эффективно работать вместе. Файлы, размещённые на общем диске, принадлежат всей группе, а не отдельным пользователям. Это означает, что когда участник покидает группу, он не сохраняет за собой права собственности и управления файлами.

Общие диски также позволяют перемещать файлы между доменами: к общему диску в одном домене могут подключаться пользователи из другого домена, которые могут перемещать файлы из этого домена на общий диск. Это может быть очень полезно для разработчиков Apps Script, поскольку позволяет команде разрабатывать дополнения, веб-приложения и другой код для клиентов в разных доменах.

При использовании общих дисков для совместной работы над проектами Apps Script помните следующее:

  1. Соавторы с правами редактора на общий диск могут создавать и перемещать новые файлы на этот диск. Редакторы скриптов могут просматривать и редактировать проекты скриптов, запускать код скриптов, создавать новые версии скриптов и публиковать дополнения.
  2. Чтобы развернуть скрипты как веб-приложения или исполняемые файлы для API Apps Script , учетная запись, создающая развертывание, должна принадлежать к тому же домену, что и общий диск, на котором находится скрипт.
  3. Общие диски позволяют предоставлять доступ к определённым файлам на общем диске другим пользователям вне группы и изменять их разрешения на редактирование и просмотр этих файлов, как и для любых других файлов на Диске. Однако, если пользователь входит в команду, которой принадлежит общий диск, вы не можете ограничить его доступ к определённым файлам. Например, если у пользователя есть разрешение на редактирование общего диска, вы не можете изменить его на разрешение только на просмотр определённого файла на общем диске.
  4. Соавторы, имеющие полный доступ к общему диску, также могут удалять файлы и проекты Apps Script, а также перемещать файлы за пределы общего диска.
  5. Все скрипты, привязанные к контейнеру, используют те же списки доступа для просмотра и редактирования, которые определены для файла контейнера. Например, если у вас есть доступ на редактирование таблицы Google, у вас также есть доступ на редактирование любого кода проекта Apps Script, прикреплённого к ней. Размещение такого файла контейнера на общем диске предоставляет участникам, работающим с этим общим диском, такой же доступ к коду скрипта, как и к самому контейнеру.
  6. Если проект скрипта находится на общем диске, доступ к его проекту Cloud Platform (GCP) может быть ограничен. Подробнее см. в разделе «Руководство по проектам GCP и общим дискам» .
  7. Веб-приложения, развёрнутые в одном домене, перестают работать, если их владелец переходит на общий диск или учётную запись в другом домене. Это можно исправить, вернув скрипт в исходный домен.
  8. Аналогично, проекты скриптов, развёрнутые как исполняемый файл API Apps Script, перестают работать при вызове через API, если они перемещены через общий диск из одного домена в другой. Это можно исправить, вернув скрипт в исходный домен.

Совместная работа с общей папкой

Если вы не можете работать с общим диском, используйте общую папку. Когда вы создаёте или перемещаете проект Apps Script в папку Google Диска, к которой имеют доступ другие пользователи, они наследуют те же права доступа к проекту Apps Script, которые у них есть к этой папке. Например:

  • Если у кого-то есть права на редактирование папки, он может редактировать или удалять проект Apps Script и запускать скрипт.
  • Если у кого-то есть только права на просмотр папки, он может просмотреть проект Apps Script и запустить скрипт.

Совместная работа над проектами

Вы можете совместно работать над проектом, предоставляя к нему прямой доступ всем участникам. Вы можете напрямую делиться проектами скриптов, хранящимися в обычных папках Google Диска или на общих дисках. При использовании этого метода рекомендуется тщательно продумать, кто будет владеть скриптом и кто будет его поддерживать в течение всего периода его существования.

Отдельные проекты отображаются на вашем Google Диске в виде файлов, и вы можете делиться ими, как и любыми другими файлами. Подробнее см. в разделе «Общий доступ к файлам и папкам» .

Проекты, привязанные к контейнеру, не видны на вашем Google Диске. Чтобы поделиться проектом, привязанным к контейнеру, предоставьте общий доступ к родительскому файлу-контейнеру. Например, если у вас есть скрипт, привязанный к таблице Google Таблиц, вы можете сделать кого-то редактором этого скрипта, назначив его редактором таблицы. Проекты, привязанные к контейнеру, наследуют настройки доступа для просмотра и редактирования своего файла-контейнера.

Все скрипты, привязанные к контейнеру, используют тот же список прав владельца, зрителя и редактора, который определён для файла-контейнера . Владелец контейнера становится владельцем нового проекта скрипта независимо от того, кто его создал.

Сотрудничество и ресурсы проекта

Ресурсы — это сущности, связанные с вашим проектом, но существующие независимо от его кода. В этом разделе объясняется, как совместная работа над проектом влияет на его ресурсы, в частности на проект Cloud Platform, триггеры, библиотеки и свойства пользователя.

Совместная работа и проекты Google Cloud

С каждым проектом Apps Script связан проект Google Cloud . Проекты Google Cloud имеют собственный набор владельцев, редакторов и других ролей, которые могут отличаться от набора пользователей, имеющих доступ к проекту скрипта.

Если ваш проект скрипта предназначен для публикации в качестве дополнения , он должен использовать стандартный проект Google Cloud . При совместной работе над приложением, использующим стандартный проект Google Cloud, мы рекомендуем настроить владельцев и роли Google Cloud, чтобы обеспечить всем вашим соавторам необходимые уровни доступа. Это поможет предотвратить ситуации, когда вы потеряете доступ к настройкам проекта в Cloud, поскольку его владельцы больше не работают в вашей организации. Это особенно важно для дополнений.

Сотрудничество и триггеры

При совместной работе над проектом любые создаваемые вами устанавливаемые триггеры не передаются другим участникам проекта. Если вам требуется единая настройка триггеров для всех участников, вы можете использовать службу скриптов для создания триггеров программно во время выполнения. Подробнее см. в разделе «Программное управление триггерами» .

Сотрудничество и библиотеки

Библиотеки, включённые в ваш проект, доступны участникам проекта. Однако, если у них нет доступа хотя бы на чтение к включённой библиотеке, они не смогут её использовать — в этом случае скрипт выдаст ошибку. Подробнее о библиотеках см. в разделе Управление библиотеками .

Совместная работа и свойства пользователя

Свойства пользователя уникальны для создавшего их пользователя. Это означает, что участники проекта не могут видеть ваши свойства пользователя или получать к ним доступ, а вы не можете видеть их свойства или получать к ним доступ. Используйте свойства скрипта , чтобы предоставить участникам проекта доступ к свойствам, специфичным для проекта. Подробнее см. в руководстве по свойствам .