需求: 想通过获取job的config.xml 再通过正则获取到job的git地址信息,存储到数据库。
直接jenkins界面访问job的xml如下
获取xml的主要代码,只用了1个job举例
getConfig.go
package api
import (
"fmt"
"github.com/bndr/gojenkins"
// "fmt"
// "github.com/bndr/gojenkins"
)
type UrlController struct {
BaseController
}
func (c *UrlController) GetConf() {
jenkins := gojenkins.CreateJenkins(nil, "http://192.168.1.171:7070", "admin", "admin")
_, err1 := jenkins.Init()
if err1 != nil {
fmt.Println(err1)
}
// test-jmx 是jenkins里的job名称
job, _ := jenkins.GetJob("test-jmx")
config,_ := job.GetConfig()
fmt.Printf(config)
c.Ctx.WriteString("获取配置成功")
}
控制台输出如下 暂时还没有做正则和判断之类的。 后期调整
参考
https://sourcegraph.com/github.com/bndr/gojenkins@65ee8c9388b5f3b986f2c79179a6696cd8705858/-/blob/job.go#L366
https://godoc.org/github.com/bndr/gojenkins#Requester.GetXML
https://github.com/jenkins-x/golang-jenkins