2017-07-26 11 views
0

から深くネストされたパラメータを取得します。Groovyは、私はこのようになりますジェンキンスでXMLファイルを持っているジェンキンスXML

私はXMLを解析して解析結果を出力できましたが、現時点では意味をなさないので、特定のノードにアクセスする方法がわかりません。

task getBranch { 
    ext.srcFile = file('build_jenkins.xml') 
    def buildFile = new XmlParser().parse(srcFile) 

    println buildFile 

} 

これが印刷されます。

build[attributes={}; value=[actions[attributes={}; value=[hudson.model.ParametersAction[attributes={}; value=[safeParameters[attributes={class=sorted-set}; value=[]], parameters[attributes={class=java.util.Arrays$ArrayList}; value=[a[attributes={class=hudson.model.ParameterValue-array}; value=[hudson.model.StringParameterValue[attributes={}; value=[name[attributes={}; value=[branch]], description[attributes={}; value=[]], value[attributes={}; value=[feature/WAWEB-6358-create-api-for-developer-applications]]]].... 

にはどうすればいいのGradle/Groovyのを使用して、パラメータ名と値にアクセスするに行きますか?

答えて

0

以下はあなたにhudson.model.ParameterValue

def build = new XmlSlurper().parse(srcFile) 
def params = build.'**'.findAll{ node -> node.name() =~ /hudson.model.[\w.]+ParameterValue/ }*.value 
のサブクラスのためのパターンであると思われる、この途中で何かで ParameterValue接尾辞 hudson.model. &接頭辞の親ノードを持つ子供のための値のコレクションを作成します。
関連する問題