簡體   English   中英

如何在 Jenkins 中使用 Groovy 腳本設置顛覆工作區格式?

[英]How to set subversion workspace format with a Groovy script in Jenkins?

我正在嘗試以編程方式( Img )更改 SubversionSCM 插件的 Subversion 工作區格式。 當然,我一直在嘗試使用 groovy 腳本,但我找不到任何這樣做的方法。

通過在 Groovy 控制台中運行此腳本,我能夠檢索當前格式:

import jenkins.model.*

def inst = Jenkins.getInstance()
def desc = inst.getDescriptor("hudson.plugins.git.GitSCM")
desc =inst.getDescriptor("hudson.scm.SubversionSCM")

println(desc.getWorkspaceFormat())

這將打印出正確的 31。 它是在“svnkit”的“ISVNWCDb”接口中找到的“WC_FORMAT_18”成員的值。 你可以在這里看到它在插件的 git 存儲庫中使用。

搜索 subversion 插件的文檔,我找不到任何設置它的方法,也找不到SubversionSCM 描述符中的任何公共方法。

有沒有辦法以編程方式配置該設置。 我更喜歡 groovy 腳本,但目前任何事情都可以。

我正在為同樣的事情苦苦掙扎,並找到了一些似乎有效的方法。 正如您已經發現的那樣,SubversionSCM 描述符上沒有工作區格式的設置器,但工作區格式作為私有字段存在。

這似乎對我有用:

def required_format = 31 //31 is SVN 1.8 WF.
svn_desc = instance.getDescriptor("hudson.scm.SubversionSCM")
if(svn_desc.getWorkspaceFormat() != required_format)
{
    Field wf = desc.getClass().getDeclaredField("workspaceFormat")
    wf.setAccessible(true) //Private field -- make it public
    wf.set(desc, required_format)
    wf.setAccessible(false) //And make it private again
}

這在 Jenkins 2.122 和 Subversion Plug-In 2.10.6 中有效

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM