Google Apps Script предоставляет функции, которые помогают командам совместно создавать и поддерживать скрипты, дополнения Google Workspace и веб-приложения. Это руководство описывает активное сотрудничество нескольких разработчиков над проектом; если вы хотите поделиться кодом, чтобы другие могли включить его в свои проекты, обратитесь к руководству по библиотекам .
Основы сотрудничества
Для совместной работы над проектом вам и вашим коллегам необходим доступ к файлу проекта Apps Script (и его контейнеру, если это связанный скрипт ), позволяющий редактировать его. Это позволит всем членам вашей команды видеть код Apps Script и вносить в него изменения. Редакторы также могут создавать новые версии кода, публиковать дополнения и развертывать скрипты в виде веб-приложений или исполняемых файлов для API Apps Script .
Заранее спланируйте, как вы будете обрабатывать редактирование, проверку, версионирование и (при необходимости) развертывание и публикацию вашего проекта, дополнения или веб-приложения. Автономные проекты обычно проще всего разрабатывать совместно, поскольку они отображаются непосредственно в Google Drive и являются рекомендуемым типом проектов для разработки дополнений и веб-приложений.
Распространенная проблема при совместной работе возникает, когда владелец проекта скрипта покидает команду, не передав права собственности на проект другому члену команды. Это может лишить вас возможности поддерживать или обновлять проект. Размещение проекта скрипта на общем диске предотвращает эту проблему, поскольку файлы на общем диске не имеют конкретных владельцев.
Всегда предоставляйте доступ к проектам скриптов другим пользователям. Если кто-то покинет вашу организацию и его учетная запись будет удалена, доступ к скриптам, не имеющим других владельцев, будет потерян. Предоставьте доступ к своему скрипту в Google Диске или переместите его на общий диск .
Используйте инструмент командной строки clasp для совместной работы.
clasp позволяет синхронизировать проекты между script.google.com и вашей локальной файловой системой. Это позволяет оптимизировать и автоматизировать разработку кода, если вы и ваши коллеги используете системы контроля версий, такие как git .
Для получения более подробной информации обратитесь к руководству по использованию интерфейса командной строки с помощью clasp .
Совместная работа с использованием общих дисков.
Общие диски доступны только клиентам Google Workspace Business и Google Workspace Enterprise .
Общие диски предоставляют общее пространство в Google Диске, где группы пользователей могут более эффективно сотрудничать. Файлы, размещенные на общем диске, принадлежат всей группе, а не отдельным пользователям. Это означает, что когда участник покидает группу, он не забирает с собой права собственности и контроль над файлами.
Общие диски также позволяют перемещать файлы между доменами — на общем диске в одном домене могут работать сотрудники из другого домена, которые могут перемещать файлы из этого домена на общий диск. Это дает команде возможность разрабатывать дополнения, веб-приложения или другой код для клиентов из разных доменов.
При использовании общих дисков для совместной работы над проектами Apps Script:
- Участники, имеющие права редактора на общем диске, могут создавать или перемещать новые файлы на этот диск. В качестве редакторов скриптов они могут просматривать и редактировать проекты скриптов, запускать код скриптов, создавать новые версии скриптов и публиковать дополнения.
- Для развертывания скриптов в качестве веб-приложений или исполняемых файлов для API Apps Script учетная запись, создающая развертывание, должна принадлежать к тому же домену, что и общий диск, на котором находится скрипт.
- Общие диски позволяют предоставлять доступ к определенным файлам внутри общего диска другим пользователям за пределами группы, а также изменять их права на редактирование и просмотр этих файлов, как и для любых других файлов в Диске. Однако, если пользователь входит в команду, к которой принадлежит общий диск, вы не можете ограничить его доступ к определенным файлам. Например, если у пользователя есть доступ на редактирование общего диска, вы не можете изменить его на доступ только для просмотра для определенного файла внутри общего диска.
- Участники, имеющие полный доступ к общему диску, также могут удалять файлы и проекты Apps Script, а также перемещать файлы за пределы общего диска.
- Все скрипты, привязанные к контейнеру, используют одни и те же списки доступа для просмотра и редактирования, определенные для файла контейнера. Например, если у вас есть доступ на редактирование таблицы Google Sheets, у вас также есть доступ на редактирование любого кода проекта Apps Script, прикрепленного к ней. Размещение такого файла контейнера на общем диске предоставляет участникам проекта на этом диске тот же доступ к коду скрипта, что и к самому контейнеру.
- Если скриптовый проект размещен на общем диске, доступ к его проекту в Google Cloud может быть ограничен. Подробности см. в разделе руководства по проектам Google Cloud и общим дискам .
- Веб-приложения, развернутые в одном домене, перестают работать, если их владельцем становится общий диск или учетная запись в другом домене. Исправьте это, переместив скрипт обратно в исходный домен.
- Аналогичным образом, скриптовые проекты, развернутые в виде исполняемых файлов API Apps Script, перестают функционировать при вызове API, если их перемещают через общий диск из одного домена в другой. Для исправления этой проблемы переместите скрипт обратно в исходный домен.
Совместная работа с использованием общей папки
Будьте осторожны при создании или перемещении проекта Apps Script в общую папку. Убедитесь, что доступ к папке предоставлен только доверенным лицам.
Если совместная работа через общий диск невозможна, используйте вместо него общую папку. Когда вы создаете или перемещаете проект Apps Script в папку Google Диска, доступную другим пользователям, они наследуют те же права доступа к проекту Apps Script, что и к папке. Например:
- Если у пользователя есть права на редактирование папки, он может редактировать или удалять проект Apps Script и запускать скрипт.
- Если у пользователя есть только права на просмотр папки, он может просмотреть проект Apps Script и запустить скрипт.
Сотрудничайте посредством обмена проектами.
Совместно работайте над проектом, напрямую предоставляя доступ ко всем участникам. Предоставляйте прямой доступ к скриптовым проектам, находящимся в обычных папках Google Диска или на общих дисках. Тщательно спланируйте, кто будет отвечать за скрипт и поддерживать его в дальнейшем.
Автономные проекты отображаются в Google Диске как файлы; делитесь ими, как любыми другими файлами. Для получения дополнительной информации см. раздел «Общий доступ к файлам и папкам» .
Проекты, привязанные к контейнеру , не отображаются в Google Диске. Чтобы поделиться проектом, привязанным к контейнеру, предоставьте общий доступ к родительскому файлу контейнера. Например, если у вас есть скрипт, привязанный к электронной таблице Google Sheets, назначьте пользователя редактором скрипта, назначив ему редактора электронной таблицы. Проекты, привязанные к контейнеру, наследуют настройки доступа для просмотра и редактирования своего файла контейнера.
Все скрипты, привязанные к контейнеру, используют один и тот же список доступа владельца, пользователя и редактора, определенный для файла контейнера . Владелец контейнера становится владельцем нового проекта скрипта независимо от того, кто его создал.
Ресурсы для сотрудничества и проектов
Ресурсы — это сущности, связанные с вашим проектом, но существующие независимо от его кода. В этом разделе объясняется, как совместная работа над проектом влияет на его ресурсы, в частности: проект Google Cloud, триггеры, библиотеки и свойства пользователей.
Проекты по сотрудничеству и Google Cloud
Каждый проект Apps Script связан с проектом Google Cloud . Проекты Google Cloud имеют свой собственный набор владельцев, редакторов и других ролей, которые могут отличаться от набора пользователей, имеющих доступ к проекту скрипта.
Сотрудничество и триггеры
При совместной работе над проектом созданные вами устанавливаемые триггеры не передаются тем, кто имеет доступ к вашему проекту. Если вам необходима согласованная настройка триггеров для всех участников проекта, используйте службу скриптов для программного создания триггеров во время выполнения. Дополнительную информацию см. в разделе «Программное управление триггерами» .
сотрудники.
Сотрудничество и библиотеки
Библиотеки, включенные в ваш проект, доступны участникам проекта. Однако, если у них нет хотя бы прав доступа на чтение к включенной библиотеке, они не смогут использовать эти библиотеки — в этом случае скрипт выдаст ошибку. Для получения дополнительной информации о библиотеках см. раздел «Управление библиотеками» .
Свойства взаимодействия и пользователя
Свойства пользователя уникальны для пользователя, который их создал. Это означает, что участники проекта не могут видеть или получать доступ к вашим свойствам пользователя, а вы не можете видеть или получать доступ к их свойствам. Используйте свойства скрипта, если хотите поделиться с участниками проекта свойствами, специфичными для данного проекта. Для получения дополнительной информации см. руководство по свойствам .