如何在管道步骤中使用 Jenkins 侧边栏链接插件?

2023-11-24

我正在开发这个插件https://plugins.jenkins.io/sidebar-link/在詹金斯侧栏中添加链接。该插件与 jenkins 项目配置一起使用。现在我正在尝试添加一个管道步骤来调用此插件。

我已经尝试过下面的代码行,但它不起作用

sidebarLinks {
            link("my_url", "the title", 'image path')
        }

我已经阅读了有关此问题的帖子,但没有找到可接受的回复。 我认为 jenkins 插件没有很好的文档记录。

有谁知道我如何将它与管道一起使用?

Updated

我正在使用用 Groovy 编写的共享库。该库包含所有管道方法。

@Library('[email protected]') _
pipeline {
   stages {
      ...
      stage('Add side link') {
            steps {
                addLink()
            }
        }
   }
}

共享库方面,我有一个 addLink.groovy 文件。

def call(){

    properties {
        sidebarLinks {
            link("url", 'Title', 'icon_path')
        }
    }
}

我有以下错误:

错误:


要了解如何在声明式管道中执行某些操作,您可以使用 http://JENKINS_URL/directive-generator/ 上的指令生成器。这提供了类似于作业配置的用户界面。然而,在选择“选项”->“添加”->“sidebarLinks”->填写字段->“生成”后,由于内部服务器错误,不会生成任何内容。

以下声明式管道语法适用于单个作业:

pipeline {
    agent any
    
    options {
        sidebarLinks([
            [displayName: 'Side Bar Example', iconFileName: '', urlName: 'http://example.com']
        ])
    }

    stages {
        stage('Hello') {
            steps {
                echo 'Hello World'
            }
        }
    }
}

但是,您提到您希望通过使用共享管道库在不同的作业中重用这些链接。不幸的是,共享管道库无法修改options声明式管道的一部分,除了生成你的整个pipeline { }在一个单一的def call().

幸运的是,脚本化管道可以覆盖配置的该部分。使用 http://JENKINS_URL/pipeline-syntax/ 上的代码片段生成器,您可以生成以下代码,并将其放入共享管道库中,例如在var/mySidebar.groovy:

def call() {
    properties([
        sidebarLinks([[
            displayName: 'My fancy sidebar url', iconFileName: '', urlName: 'https://example.com'
        ]])
    ])
}

然后,您可以在脚本化管道中使用它:

library('my-sidebar')

mySidebar()

node() {
    stage('Hello') {
        sh 'echo "Hello World!"'
    }
}

Or a script声明式管道的块:

library('my-sidebar')

script {
    mySidebarScripted()
}

pipeline {
    agent any
    
    stages {
        stage('Hello') {
            steps {
                echo 'Hello World'
            }
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在管道步骤中使用 Jenkins 侧边栏链接插件? 的相关文章

随机推荐

  • 如何使用属性 server.port=0 运行 spock 测试时查找 Spring Boot 容器的端口

    鉴于此条目application properties server port 0 这会导致 Spring Boot 选择一个随机可用端口 并使用 spock 测试 Spring Boot Web 应用程序 spock 代码如何知道要访问哪
  • 如何从 android 调用 .NET Web 服务? [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我需要使用如下 URL 调用 Web 服务 http 192 168 1 19 Test
  • 将 Spring Cloud Gateway 与 oauth2 一起使用

    我在使用 Spring Cloud Gateway 时遇到问题 是否有任何依赖项直接或递归调用 spring boot starter tomcat 它不会工作 因为它将启动嵌入式 tomcat 服务器而不是 Spring Cloud Ga
  • 如何在 Swift 中按属性值对自定义对象数组进行排序

    假设我们有一个名为的自定义类imageFile这个类包含两个属性 class imageFile var fileName String var fileID Int 其中很多都存储在数组中 var images Array var aIm
  • 如何使用 LWP::UserAgent 接受自签名证书

    我正在尝试设置一个使用 HTTPS 的 node js 服务器 然后 我将用 Perl 编写一个脚本 向服务器发出 HTTPS 请求并测量往返延迟 这是我的node js var express require express var ht
  • 将 HttpPostedFileBase 转换为 byte[]

    在我的 MVC 应用程序中 我使用以下代码来上传文件 MODEL public HttpPostedFileBase File get set VIEW Html TextBoxFor m gt m File new type file 一
  • 如何在 Gnome Shell 中设置应用程序标题?

    我是 Gtk 开发的新手 正在尝试使用 PyGObject 和 Gtk 3 0 编写一个应用程序 然而 当我从命令行在 Gnome Shell 中运行应用程序时 出现在左上角 紧邻 活动 热角右侧 的应用程序名称仅设置为 Python 源文
  • 在 Google 地图上制作可点击的多边形(适用于 Android)

    我有一个城市各个区域的连续纬度 有什么方法可以用它创建可点击的多边形吗 一次可行的方法是 使用可用的 LatLngs 生成多边形 我想用颜色编码在地图上直观地显示多边形 Set up setOnMapClickListener 做多边形内的
  • 如何使用打字稿文件运行 gulp

    有一个使用 gulp js 文件的 gulp 项目 但我的项目是用 typescript 编写的 所以我宁愿有一个用 typescript 编写的 gulp 文件 可以将这个过程分为两个步骤 其中我 1 手动将typescript gulp
  • 第一次使用 SpriteKit 播放声音时出现轻微延迟

    当我使用 self playSoundFileNamed 播放声音时 第一次播放声音时会有一点延迟 整个应用程序冻结大约半秒 但之后就没问题了 我怎样才能摆脱这个 在我的游戏设置方法中 我做了类似的事情 看起来效果很好 拥有 iVar SK
  • 解压缩和 * 运算符[重复]

    这个问题在这里已经有答案了 python 文档将此代码提供为 zip 的逆操作 gt gt gt x2 y2 zip zipped 尤其 zip 与 运算符结合使用可用于解压缩列表 有人可以向我解释 运算符在这种情况下如何工作吗 据我了解
  • 如何在Android Studio项目中使用最新的FFMPEG?

    I have a simple task to make a video from multiple images and an audio file After searching a lot found that its possibl
  • 显示动画 GIF

    我想在我的应用程序中显示动画 GIF 图像 我发现 Android 本身并不支持动画 GIF 但是它可以使用显示动画动画绘图 开发 gt 指南 gt 图像和图形 gt 可绘制对象概述 该示例使用在应用程序资源中保存为帧的动画 但我需要的是直
  • 在 C# 中创建气球工具提示

    我可以知道如何在用 C 编码的应用程序中制作弹出气泡消息吗 例如 当我启动我的应用程序时 它会弹出 欢迎使用 UbuntuSE 应用程序 是的 弹出窗口不是消息框弹出窗口 而是托盘菜单中的弹出窗口 与此类似的东西 附言 如果我没记错的话 这
  • 使用 TypeScript 和注入的 AngularJS 过滤器

    有人可以给我提供一个示例 说明如何在 TypeScript 中创建使用依赖注入的 Angular 过滤器 底部是我目前拥有的 工作正常 但我想做的是我想要访问 filter 的函数 以便我可以将 return date ToString 行
  • 如何将 TRC20 交易发送到某个地址

    我正在使用 tron web 查询某个地址的交易 但它不会返回发送到该地址的交易 其中传输的代币为 TRC20 这是行不通的 我想获取某个地址上的交易并获取 TRX trc10 和 trc20 交易 我做错了什么或者该怎么做 这是我的代码块
  • 如何使用 JDBC 执行 .sql 脚本文件[重复]

    这个问题在这里已经有答案了 可能的重复 使用 MySQL 和 JDBC 运行 sql 脚本 我有一个 SQL 脚本文件 其中包含 40 50 个 SQL 语句 是否可以使用 JDBC 运行此脚本文件 此链接可能会帮助您 http paste
  • np.empty 与 np.zeros 的速度

    我正在使用 numpy 版本 1 14 3 和 python 2 7 12 参考文献this问题 我发现使用 np zeros 和 np empty 初始化数组之间的速度显着不同 但是 输出是相同的 import numpy as np r
  • 修改 ASP.NET 服务器端的 html 输出

    第三方的webcontrol生成以下代码来显示自己 div div
  • 如何在管道步骤中使用 Jenkins 侧边栏链接插件?

    我正在开发这个插件https plugins jenkins io sidebar link 在詹金斯侧栏中添加链接 该插件与 jenkins 项目配置一起使用 现在我正在尝试添加一个管道步骤来调用此插件 我已经尝试过下面的代码行 但它不起