Как создать устанавливаемый триггер для конкретного развертывания из автономного сценария с электронной таблицей источника событий? - PullRequest
2 голосов
/ 28 сентября 2019

Справочная информация: Я изучал скрипт Google Apps, и теперь у меня есть работающий автономный проект Google Apps Script, предназначенный исключительно для личного использования, в котором я создал устанавливаемый триггер, настроенный с помощью источника события:«Из электронной таблицы», создавая ее программно (мне не удалось найти способ создания этого триггера через веб-интерфейс (меню «Правка» -> триггеры текущего проекта)), поскольку в раскрывающемся списке источника событий отображаются только «по времени» и «из календаря»."as selections).

Несколько недель назад я дошел до того, что разделил проект электронной таблицы и сценария на" рабочую "и" версию для разработки ", и до сих пор просто копировал / вставлял код разработки впроизводственный проект, когда я хочу выпустить новые версии.

Кажется, гораздо лучший способ сделать это - воспользоваться логикой Deployments, чтобы я мог поддерживать обе среды из одной базы кода,с разработкой с использованием развертывания HEAD, а затем создатьРазвертывание отдельного производства.

Проблема: Проблема, с которой я здесь сталкиваюсь, заключается в том, что после создания нового развертывания я не вижу способа связать мое недавно созданное «производственное» развертывание, чтобы иметь возможность принимать событияиз любой таблицы.Если я попытаюсь создать триггер вручную с помощью «Правка» -> «Триггеры текущего проекта» -> «Создать триггер», доступные параметры позволяют мне выбрать, какое развертывание я хочу использовать для него, но не позволяют выбрать «Из электронной таблицы».в качестве источника события;и если я создаю триггер программно, я могу правильно связать источник события, но он создает триггер, связанный с развертыванием HEAD, и я никак не могу указать другое развертывание.

ScriptApp.newTrigger('ss_onEdit')
  .forSpreadsheet(idSs)
  .onEdit()
  .create();

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

Это так?можно делать то, что я пытаюсь сделать?Я что-то неправильно понимаю, как это должно работать?На данный момент я не вижу смысла в версионном развертывании, если нет способа связать его с триггером.

1 Ответ

1 голос
/ 30 сентября 2019
  • Сценарий должен быть привязан к электронной таблице (доступно из меню Инструменты> Редактор сценариев электронной таблицы).
  • Вам необходимо опубликовать и развернуть пустышкувеб-приложение / API.В редакторе

    • Опубликовать> Развернуть как веб-приложение> Выбрать версию и развернуть

Теперь вы можете выбрать любую из развернутых версийв веб-интерфейсе («Правка»> «Триггеры текущего проекта») добавить триггер и выбрать версию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...