我们公司的Jenkins有主节点和两个从节点.我正在为它编写插件.插件的一个功能是从svn中检出一些文件.无法从插件中提取此操作.为此,我从我的插件的java代码执行控制台命令"svn checkout".问题是来自svn的文件被签出到master,而不是slave节点.如何将文件签出到奴隶?
我的任务是对Jenkins的一些工作进行一些健康检查.我们的想法是通过Jenkins rest API获取作业的状态和相关的IP地址,这样我就可以使用该信息与另一个安静的API进行交互.我创建了一个groovy脚本,成功解析Jenkins作业并获取其状态(无论它们是否正在运行),但我还没有找到将这些作业与其IP地址相关联的方法.有没有办法通过其余的API获取Jenkins中的从站的IP地址,如果没有,是否有其他方法来获取所述IP地址?
这是我到目前为止的代码,它像魅力一样:
@Grab(group='org.codehaus.groovy.modules.http-builder', module='http-builder', version='0.7')
import groovyx.net.http.RESTClient
import groovy.json.JsonSlurper
def jenkinsClient = new RESTClient( 'myJenkinsURL' )
def monitorClient = new RESTClient( 'myOtherRestfulAPIURL' )
monitorClient.auth.basic "<username>", "<pass>"
jenkinsClient.setHeaders(Accept: 'application/json')
monitorClient.setHeaders(Accept: 'application/json')
def jobs = []
def jenkinsGetJobs = jenkinsClient.get( path: 'view/Events/api/json', contentType: 'text/plain' )
def jenkinsGetJobsSlurp = new JsonSlurper().parse(jenkinsGetJobs.data)
for (def j in jenkinsGetJobsSlurp.jobs ){
jobs.add(j.name)
}
//Can we get a list of IPS?
for(def job in jobs){
def jenkinsResp = jenkinsClient.get( path : 'view/Events/job/' + job + '/api/json', …Run Code Online (Sandbox Code Playgroud)