prow/jenkins/jenkins.go
func (c *Client) BuildFromSpec(spec *prowapi.ProwJobSpec, buildID, prowJobID string) error {
	if c.dryRun {
		return nil
	}
	env, err := downwardapi.EnvForSpec(downwardapi.NewJobSpec(*spec, buildID, prowJobID))
	if err != nil {
		return err
	}
	params := url.Values{}
	for key, value := range env {
		params.Set(key, value)
	}

	if err := c.EnsureBuildableJob(spec); err != nil {
		return fmt.Errorf("Job %v cannot be build: %v", spec.Job, err)
	}

	return c.LaunchBuild(spec, params)
}
func (c *Client) BuildFromSpec(spec *prowapi.ProwJobSpec, buildID, prowJobID string) error {
	if c.dryRun {
		return nil
	}
	env, err := downwardapi.EnvForSpec(downwardapi.NewJobSpec(*spec, buildID, prowJobID))
	if err != nil {
		return err
	}
	params := url.Values{}
	for key, value := range env {
		params.Set(key, value)
	}

	if err := c.EnsureBuildableJob(spec); err != nil {
		return fmt.Errorf("Job %v cannot be build: %v", spec.Job, err)
	}

	return c.LaunchBuild(spec, params)
}
func ( c * Client ) BuildFromSpec ( spec * prowapi . ProwJobSpec , buildID , prowJobID string ) error { if c . dryRun { return nil } env , err := downwardapi . EnvForSpec ( downwardapi . NewJobSpec ( * spec , buildID , prowJobID ) ) if err != nil { return err } params := url . Values { } for key , value := range env { params . Set ( key , value ) } if err := c . EnsureBuildableJob ( spec ) ; err != nil { return fmt . Errorf ( " " , spec . Job , err ) } return c . LaunchBuild ( spec , params ) }
// BuildFromSpec triggers a Jenkins build for the provided ProwJobSpec.
// prowJobID helps us track the build before it's scheduled by Jenkins.
BuildFromSpec triggers a Jenkins build for the provided ProwJobSpec . prowJobID helps us track the build before it s scheduled by Jenkins .