Groovy script to pass parameter tag value dynamically on the basis of projectOnce configured, the @ in the value is encoded, I want to avoid that
pod7payv1#
似乎在参数之间传递值时,Active Choice使用HTML编码转换它,您可以使用以下代码查看所有将使用jenkins的/script端点更改的值:-
import static org.apache.commons.lang.StringEscapeUtils.escapeHtml '!@£$%^&*()_+€-={}[]:"|;\'\\<>?,./~'.each { println "$it -> ${escapeHtml( it )}" }
! -> ! @ -> @ £ -> £ $ -> $ % -> % ^ -> ^ & -> & * -> * ( -> ( ) -> ) _ -> _ + -> + € -> € - -> - = -> = { -> { } -> } [ -> [ ] -> ] : -> : " -> " | -> | ; -> ; ' -> ' \ -> \ < -> < > -> > ? -> ? , -> , . -> . / -> / ~ -> ~
我使用org.apache.commons.lang.StringEscapeUtils.unescapeHtml类解决了这个问题。您可以使用以下代码片段转换接收到的参数:-
import static org.apache.commons.lang.StringEscapeUtils.unescapeHtml String unEscapedString = "a & b" String escapedHTML = unescapeHtml(unEscapedString) print(escapedHTML)
这将打印代码所期望的a & B。
1条答案
按热度按时间pod7payv1#
似乎在参数之间传递值时,Active Choice使用HTML编码转换它,您可以使用以下代码查看所有将使用jenkins的/script端点更改的值:-
我使用org.apache.commons.lang.StringEscapeUtils.unescapeHtml类解决了这个问题。
您可以使用以下代码片段转换接收到的参数:-
这将打印代码所期望的a & B。