gpt4 book ai didi

google-apps-script - 以编程方式创建触发器时如何使用版本化部署?

转载 作者:行者123 更新时间:2023-12-04 14:21:35 24 4
gpt4 key购买 nike

以编程方式创建触发器时,即通过 ScriptApp.newTrigger() ,它总是指向“头部”部署,还是最近发布的(版本化)部署? (请参阅有关部署类型的文档 here 。)

对于上下文,我正在多用户环境中分发一个脚本,该环境依赖于每隔几分钟运行一次的触发器。我试图确保脚本的所有客户端不会立即获取开发中所做的更改(即在发布这些更改之前),因为这实际上意味着开发中的任何代码更新都会立即对所有用户生效。

如果触发器只能指向头部部署,那么将它们指向可以在开发(头部版本)中安全更新的代码的最佳实践是什么?

最佳答案

  • 您想知道何时通过 ScriptApp.newTrigger() 安装触发器,使用哪个版本的脚本。
  • 您想通过选择脚本版本来了解安装触发器的方法。

  • 我理解你上面的问题。如果我的理解是正确的,这个答案怎么样?请将此视为几个答案之一。

    回答 Q1:
  • ScriptApp.newTrigger() 安装触发器时,虽然“当前项目的触发器”中没有显示“部署”的值,但最新的脚本是由安装的触发器运行的。这种情况与脚本的版本无关。使用当前最新的脚本。
  • 如果触发器是手动安装的,您可以在“选择应运行的部署”中选择部署版本。
  • 不幸的是,在现阶段,这还不能通过脚本来实现。我认为这可能会通过 future 的更新来实现。

  • 回答 Q2:

    为了通过选择脚本版本来安装触发器,作为一种解决方法,我想建议使用一个库。此变通方法的流程如下。这是一个示例流程。
  • 创建 2 个独立项目。
  • 一个用作图书馆。
  • 另一个作为项目使用库。
  • 在项目中使用该库,例如function myFunction() {lib.myFunction()}是放。该脚本运行库的功能。
  • 将库安装到此项目。
  • 您可以通过选择库的版本来选择要让用户运行的脚本。
  • 触发器已安装到此项目。
  • 图书馆的项目是开发项目。它通过脚本编辑器的“管理版本”管理开发脚本的版本。
  • 安装触发器后,它会运行 ScriptApp.newTrigger("myFunction")在项目中使用库。这时,当触发器运行时,使用所选版本的库。这样,不使用库的最新脚本。用户可以使用您选择的版本的稳定脚本。

  • 笔记:
  • 您还可以在 list 文件 (appsscript.json) 中查看库的版本。该文件可以通过脚本进行修改。通过这种方式,您还可以修改脚本触发器使用的脚本版本。

  • 引用:
  • Libraries
  • Manifests

  • 如果我误解了你的问题,我很抱歉。

    关于google-apps-script - 以编程方式创建触发器时如何使用版本化部署?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54210044/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com