2017-11-02 12 views
0

私はJenkinsのパイプラインで単純な解析CSVを実行しようとしています。Jenkins pipeline、parse csv

私のCSVは、単純なマシン名からなる1、そのIPアドレス、サブネットマスク、デフォルトゲートウェイとそのプライマリDNSサーバアドレス

ので

SystemName,IPAddress,Subnet,DefGate,DNS 
server1,10.10.10.10,255.255.255.0,10.10.10.1,10.10.10.1 
server2,10.10.10.11,255.255.255.0,10.10.10.1,10.10.10.1 

などで

私のスクリプトはちょうどこれです(基本的には、csvを行単位で分割して各行を分割して,に分割し、個々の値を行単位でエコーすることを証明したい):

stage('Parse the CSV') { 
     steps { 
      script { 
       dir ('FolderWhereCSVIsClonedFromGit') { 
        if (fileExists('MyCSV.csv')) { 
         echo ' MyCSV.csv found' 

         readFile("MyCSV.csv").eachLine { line, count -> 
          def fields = line.split(',') 
          for(String item: fields) { 
           println item 
           println ' you are parsing line : ' + count 
           } 
           nodes["line${count}"] = { 
            node { 
             echo fields[0] + ': ' + fields[1] + ': ' + fields[2] + ': ' + fields[3] + ': ' + fields[4]; 
            } 
           } 
        } 
        } else { 
         echo ' Machines.csv Not found. Failing.' 
        } 
...

コードは、それだけで、それが正しく分割され、後続のラインが解析され、コンソールに表示されていないものの、最初の行を返す実行するたび。

ジェンキンスのインストールは管理されたサービスですが、追加のモジュールやプラグインをインストールすることができますが、何が何を求めているのか分からないので、

答えて

1

これは既知のバグです:

readFile("/tmp/MyCSV.csv").split('\n').each { line, count -> 
:あなたはこのようにこの問題を回避することができます JENKINS-46988

関連する問題