背景: 我一直在学习Google Apps脚本,现在有一个供个人使用的独立的Google Apps脚本项目,在其中我创建了一个可安装触发器,该触发器已配置了事件源:“从电子表格”,并以编程方式创建了它(无法找到通过Web界面(“编辑”菜单->当前项目的触发器)创建触发器的方法,因为事件源下拉列表仅显示“定时”和“来自日历”作为选择。)
几周前,我到达了将电子表格和脚本项目分为“生产”和“开发”版本的地步,到目前为止,当我要发布时,我只是将开发代码复制/粘贴到生产项目中新版本。
看来,执行此操作的更好方法是利用Deployments逻辑,以便我可以使用HEAD部署通过开发从单个代码库支持两种环境,然后为生产。
问题: 我在这里遇到的问题是,在创建新的部署后,我看不到将我新创建的“生产”部署关联起来以能够从任何电子表格中获取事件的方法。如果我尝试通过编辑->当前项目的触发器->创建触发器手动创建触发器,则可用选项允许我选择要用于的部署,但不允许我选择“从电子表格”作为事件源;并且如果我以编程方式创建触发器,则可以正确地关联事件源,但是它创建与HEAD部署相关联的触发器,并且看不到指定其他部署的任何方式。
ScriptApp.newTrigger('ss_onEdit')
.forSpreadsheet(idSs)
.onEdit()
.create();
我曾想过,也许我可以更改触发器所针对的部署,即创建后的工作,但是选择其他部署的下拉菜单为灰色。
是否可以做我想做的事情?我对这应该如何工作有误解吗?如果没有办法将其与触发器关联,目前我还没有真正看到版本控制部署的意义。
答案 0 :(得分:1)
您需要发布和部署虚拟Web-app / api。在编辑器中,
您现在可以在Web界面中选择任何已部署的版本(“编辑”>“当前项目触发器”)以添加触发器并选择一个版本。