通过 Groovy 脚本配置 Jenkins Hockeyapp 插件

笨笨笨笨

我正在尝试为 Jenkins 配置 Hockeyapp 插件以从环境变量中获取 API 令牌。到目前为止,我已经设法获得适用于Jenkins初始加载的东西,设置 API 令牌,但是如果我更改环境变量并重新加载 Jenkins,则不会应用新令牌。

我对正在发生的事情的理解是我的脚本正在为 Hockeyapp 创建一个新的描述符,并保存它 - 它适用于初始 Jenkins 负载,因为它不存在。在更改令牌和重新启动时,确实存在一个描述符并且我没有更改它,这就是从第二次启动开始问题发生的原因。

import hockeyapp.*

def env = System.getenv()
def hockeyappConfig = new HockeyappRecorder.DescriptorImpl()

String apiToken = env['HOCKEYAPP_API_TOKEN'] ?: ''

if (apiToken?.trim()) {
    hockeyappConfig.setDefaultToken(apiToken)
    hockeyappConfig.save()
}

有没有人能够解释如何通过 Groovy 获取 Hockeyapp 的现有配置,以便可以对其进行编辑,最好是使用代码(我的 Java 不好)?

我认为答案就某个地方Jenkins.getInstance(),然后拉出 Hockeyapp 配置,但我对 Java/Groovy 和 Jenkins 的编程配置的不熟悉有点超出了我的深度。

相关 JavaDoc:

笨笨笨笨

下面的 groovy 脚本对我有用 - 使用getExtensionList获取当前配置后,可以更改令牌。

文件:$JENKINS_HOME/init.groovy.d/hockeyapp.groovy

/*
    Set the default API token for Hockeyapp in global configuration

    Environment Variables:
    - HOCKEYAPP_API_TOKEN: Hockeyapp API Token
*/ 
import hockeyapp.*
import jenkins.model.Jenkins

def env = System.getenv()

Jenkins jenkins = Jenkins.getInstance()
def hockeyappConfig = jenkins.getExtensionList(HockeyappRecorder.DescriptorImpl.class)[0]

String apiToken = env['HOCKEYAPP_API_TOKEN'] ?: ''

if (apiToken?.trim()) {
    hockeyappConfig.setDefaultToken(apiToken)
    hockeyappConfig.save()
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

通过Groovy脚本设置Jenkins Blue Ocean插件

jenkins扩展参数插件groovy脚本

Jenkins 在加载插件之前执行 Groovy 脚本

通过groovy脚本在jenkins中设置活动目录插件的“域控制器”

如何从Jenkins中的Active Choices插件groovy脚本执行shell

Jenkins:从Active Choices参数groovy脚本访问其他插件

在Jenkins上使用Groovy配置Amazon-ecs从属插件

使用 Groovy 脚本配置矩阵授权插件

Jenkins通过Groovy脚本通过远程禁用CLI

Jenkins 上的 Groovy:绘图插件

如何通过 Jenkins 中的管道脚本创建“通过 SSH 插件发布”配置(添加 SSH 服务器、密钥等)

如何在Jenkins Groovy Post Build插件中重复使用groovy脚本?

如何通过 Shell 或 API 配置 JaCoCo Jenkins 插件

Jenkins 插件构建的配置

在Jenkins管道Groovy脚本中访问Maven元数据插件参数?

使用Process DSL插件groovy脚本创建一个新的Jenkins作业

无法在 Jenkins 中安装 Groovy 插件

从jenkins管道groovy脚本加载配置文件的推荐方法

Groovy脚本在Jenkins中应用kubernetes云配置

通过Jenkins通过Powershell插件安装appx

电子邮件扩展插件未加载通过配置文件提供程序插件添加的 groovy 模板

通过BootStrap或_Event脚本设置插件配置值

如何配置Allure Jenkins插件?

使用Puppet配置Jenkins插件

Jenkins 脚本管道:Groovy if 语句

Groovy脚本中的Jenkins变量

Jenkins-Groovy脚本错误

如何通过脚本从Jenkins的Global Builds Stats插件中提取信息

如何通过groovy脚本获取正在运行的jenkins构建的列表?