毎日学習記録 9/18 Jenkinsでプルダウンを表示

Share on:

概要

以前記載した、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を選択する タグ選択画面

念の為後続のステップで問題なく値が閲覧できることを確認 タグ選択画面

問題なさそう