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
 | 
						|
}
 |