prow/jenkins/jenkins.go
func (c *Client) GetEnqueuedBuilds(jobs []BuildQueryParams) (map[string]Build, error) {
	c.logger.Debug("GetEnqueuedBuilds")

	data, err := c.Get("/queue/api/json?tree=items[task[name],actions[parameters[name,value]]]")
	if err != nil {
		return nil, fmt.Errorf("cannot list builds from the queue: %v", err)
	}
	page := struct {
		QueuedBuilds []Build `json:"items"`
	}{}
	if err := json.Unmarshal(data, &page); err != nil {
		return nil, fmt.Errorf("cannot unmarshal builds from the queue: %v", err)
	}
	jenkinsBuilds := make(map[string]Build)
	for _, jb := range page.QueuedBuilds {
		prowJobID := jb.ProwJobID()
		// Ignore builds with missing buildID parameters.
		if prowJobID == "" {
			continue
		}
		// Ignore builds for jobs we didn't ask for.
		var exists bool
		for _, job := range jobs {
			if prowJobID == job.ProwJobID {
				exists = true
				break
			}
		}
		if !exists {
			continue
		}
		jb.enqueued = true
		jenkinsBuilds[prowJobID] = jb
	}
	return jenkinsBuilds, nil
}
func (c *Client) GetEnqueuedBuilds(jobs []BuildQueryParams) (map[string]Build, error) {
	c.logger.Debug("GetEnqueuedBuilds")

	data, err := c.Get("/queue/api/json?tree=items[task[name],actions[parameters[name,value]]]")
	if err != nil {
		return nil, fmt.Errorf("cannot list builds from the queue: %v", err)
	}
	page := struct {
		QueuedBuilds []Build `json:"items"`
	}{}
	if err := json.Unmarshal(data, &page); err != nil {
		return nil, fmt.Errorf("cannot unmarshal builds from the queue: %v", err)
	}
	jenkinsBuilds := make(map[string]Build)
	for _, jb := range page.QueuedBuilds {
		prowJobID := jb.ProwJobID()
		// Ignore builds with missing buildID parameters.
		if prowJobID == "" {
			continue
		}
		// Ignore builds for jobs we didn't ask for.
		var exists bool
		for _, job := range jobs {
			if prowJobID == job.ProwJobID {
				exists = true
				break
			}
		}
		if !exists {
			continue
		}
		jb.enqueued = true
		jenkinsBuilds[prowJobID] = jb
	}
	return jenkinsBuilds, nil
}
func ( c * Client ) GetEnqueuedBuilds ( jobs [ ] BuildQueryParams ) ( map [ string ] Build , error ) { c . logger . Debug ( " " ) data , err := c . Get ( " " ) if err != nil { return nil , fmt . Errorf ( " " , err ) } page := struct { QueuedBuilds [ ] Build `json:"items"` } { } if err := json . Unmarshal ( data , & page ) ; err != nil { return nil , fmt . Errorf ( " " , err ) } jenkinsBuilds := make ( map [ string ] Build ) for _ , jb := range page . QueuedBuilds { prowJobID := jb . ProwJobID ( ) // Ignore builds with missing buildID parameters. if prowJobID == " " { continue } // Ignore builds for jobs we didn't ask for. var exists bool for _ , job := range jobs { if prowJobID == job . ProwJobID { exists = true break } } if ! exists { continue } jb . enqueued = true jenkinsBuilds [ prowJobID ] = jb } return jenkinsBuilds , nil }
// GetEnqueuedBuilds lists all enqueued builds for the provided jobs.
GetEnqueuedBuilds lists all enqueued builds for the provided jobs .