jenkins - 如何从詹金斯管道脚本访问共享库中定义的参数列表值?
问题描述
我创建了一个jobParams.groovy
包含以下内容的共享库:
List commonParams() {
//return list of parameters
def paramsList = [
string(defaultValue: "Jenkins", description: 'Some Name', name: 'NAME'),
string(defaultValue: "no_title", description: 'Title', name: 'TITLE')
]
return paramsList
}
在作业管道脚本中,我将该列表读入另一个列表,但不确定如何从列表中访问所需的值,例如,如何打印 commonParams.NAME ?
我的工作中有这个,作为管道脚本:
@Library('jenkins-library@master') _
List commonParams = jobParams.commonParams()
pipeline {
agent { label 'my-server' }
stages {
stage('params') {
steps {
println "commonParams"
}
}
}
这打印
[Pipeline] echo
[@string(defaultValue=Jenkins,description=Some Name,name=NAME), @string(defaultValue=no_title,description=Title,name=TITLE)]
[Pipeline] }
下面无法仅打印名称。
println "${commonParams.NAME}"
解决方案
您可以使用静态方法创建类
// file: /src/com/company/jenkins/JobParam.groovy
package com.company.jenkins
class JobParam {
static List commonParams() {
//return list of parameters
def paramsList = [
string(defaultValue: "Jenkins", description: 'Some Name', name: 'NAME'),
string(defaultValue: "no_title", description: 'Title', name: 'TITLE')
]
paramsList
}
}
从管道(或 /var/ 文件夹):
@Library('jenkins-library') _
import com.company.jenkins.JobParam
List commonParams = JobParam.commonParams()
// your code
推荐阅读
- javascript - Firebase 云函数生成推送 ID
- sql-server - 在 docker 容器上恢复 sql server 数据库时遇到问题
- python - 无法以编程方式将 TreeView 添加到 Box
- java - Apache flink - TumblingProcessingTimeWindow 与 TimeCharacteristic.EventTime 的使用
- sql - 在子查询中使用 group by
- assembly - x86 汇编 mov 指令 LILO
- azure - 在 Function Apps 中,比例单位是 Function 还是 App?
- javascript - 在谷歌饼图图例上显示值而不是百分比
- php - 调试时停止 PhpStorm 打开文件
- scala - Akka Stream Kafka:找不到关键“kafka-clients”的配置设置