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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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