我正在嘗試修改 Jenkins 管道中的 html 檔案,我需要添加一個span標簽。在 groovy 中,我可以執行以下操作
def newNode = new StreamingMarkupBuilder().bind { span {mkp.yield("$child")}}
wherechild是要放入span標簽的字串。
當我嘗試在 Jenkins 流水線中執行此操作時,我收到一個與 CPS 不匹配相關的錯誤,所以我添加了@NonCPS但我現在收到一個錯誤提示java.lang.NoSuchMethodError: No such DSL method 'span' found among steps
我發現了這個:https ://www.jenkins.io/doc/book/pipeline/cps-method-mismatches/ 談論 CPS 不匹配。我認為它基本上是在嘗試將span標簽用作 DSL 方法,類似于stageor steps。那么是否有可能StreamingMarkupBuilder.bind()像我嘗試的那樣使用該功能,而無需 Jenkins 將span標簽解釋為 DSL 方法?
uj5u.com熱心網友回復:
我最終只是Node單獨創建了一個物件。所以我使用了以下行:
def node = new groovy.util.Node(null, 'span', child)
append然后我只是使用該函式將該節點附加到另一個節點。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/510164.html
標籤:詹金斯时髦的管道
