32 lines
577 B
Go
32 lines
577 B
Go
package client
|
|
|
|
import (
|
|
"context"
|
|
"net/url"
|
|
|
|
"github.com/bndr/gojenkins"
|
|
)
|
|
|
|
func (jenkins *jenkins) GetBuild(jobName string, number int64) (*gojenkins.Build, error) {
|
|
job, err := jenkins.GetJob(context.TODO(), jobName)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
// https://github.com/bndr/gojenkins/issues/176
|
|
// workaround begin
|
|
jobURL, err := url.Parse(job.Raw.URL)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
job.Raw.URL = jobURL.RequestURI()
|
|
// workaround end
|
|
|
|
build, err := job.GetBuild(context.TODO(), number)
|
|
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return build, nil
|
|
}
|