0

宣言型の jenkinsfile で rtDownload の zip ファイル パターンを動的に置き換えようとしていますが、値が関数によって取り込まれません。

ビルドごとに新しいバージョンの zip ファイルが作成され、JFrog にアップロードされます。特定のバージョンをローカル システムにダウンロードしたいと考えています。

def VERSION で「VERSION」を定義し、次のように使用しました -

  rtDownload (
                    serverId: 'Jfrog',
                    
                    spec: '''{
                        "files": [
                            {
                            "pattern": "<path>-<filname>${VERSION}.zip",
                            "target": "<path>-<filename>${VERSION}.zip",
                            "flat": "true"
                            }
                        ]
                    }'''
                )  

しかし、私の VERSION は、jenkins ジョブで構成された String パラメータを介して提供しているバージョンに置き換えられません。

どんな提案でも大歓迎です。ありがとう。

4

1 に答える 1

0

Groovy では、一重引用符文字列 ( '') と一重引用符の複数行文字列 ( ''' ''') は文字列補間をサポートしていません。二重引用符文字列のみがこれをサポートしています。公式ドキュメント
で、groovy での文字列補間に関する詳細情報を読むことができます。

したがって、それを修正するには、二重引用符で囲まれた複数行の文字列を使用するだけで、パラメーターの評価が可能になります。

rtDownload (
    serverId: 'Jfrog',               
    spec: """{
          "files": [
              {
                 "pattern": "<path>-<filname>${VERSION}.zip",
                 "target": "<path>-<filename>${VERSION}.zip",
                 "flat": "true"
               }
           ]
     }"""
)  
于 2021-07-29T11:05:39.010 に答える