毎日学習記録 9/18 Jenkinsでプルダウンを表示
概要
以前記載した、ECRについての記事で取得したタグを使って、
プルダウンを用意し後続に繋げるためのJobを作ったのでメモを残しておく。
内容
注意) 値はECRの返却の想定値を使ってるので、別の形式の場合は合わせて修正を行って欲しい
実行環境
docker image: jenkins/jenkins:lts
jenkins:2.249.1
java:1.8
記述: groovy
piplineの内容
import groovy.json.JsonSlurper
pipeline {
agent any
stages {
stage("get tags"){
steps {
script {
tags = """[
"tag1",
"tag2",
"tag3"
]"""
}
}
}
stage("select tag"){
steps {
script {
selected_tag = input(
id: "SelectTag",
message: "タグ選択",
parameters:[[$class: 'ChoiceParameterDefinition',
name: 'タグ',
choices: new JsonSlurper().parseText(tags),
description: 'select tag' ]]
)
}
}
}
stage("echo tag"){
steps {
println "${selected_tag}"
}
}
}
}
該当の処理
プルダウンは、このinput関数を使えば実行できる
choicesのところに値を入れればいいのだが、ECRコマンドからの返却値は文字列のため、そのまま入れることができないず、JSONパースを入れてあげれば期待通り動作してくれた。
selected_tag = input(
id: "SelectTag",
message: "タグ選択",
parameters:[[$class: 'ChoiceParameterDefinition',
name: 'タグ',
// 動作させるためには「groovy.json.JsonSlurper」のインポートが必要
choices: new JsonSlurper().parseText(tags),
description: 'select tag' ]]
)
実行結果
以下のように選択画面が実現できた
ここではtag2を選択する
念の為後続のステップで問題なく値が閲覧できることを確認
問題なさそう