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

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

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

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

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

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

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

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

Дополнительные сведения см. в разделе Интерфейс командной строки с использованием руководства clasp .

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

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

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

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

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

Сотрудничество с общим доступом к проекту

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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