github.com/jcarley/cli@v0.0.0-20180201210820-966d90434c30/commands/jobs/start.go (about) 1 package jobs 2 3 import ( 4 "fmt" 5 6 "github.com/Sirupsen/logrus" 7 "github.com/daticahealth/cli/commands/services" 8 ) 9 10 func CmdStart(jobID string, svcName string, ij IJobs, is services.IServices) error { 11 service, err := is.RetrieveByLabel(svcName) 12 if err != nil { 13 return err 14 } 15 if service == nil { 16 return fmt.Errorf("Could not find a service with the label \"%s\". You can list services with the \"datica services list\" command.", svcName) 17 } 18 19 err = ij.Start(jobID, service.ID) 20 21 if err != nil { 22 return err 23 } 24 logrus.Printf("Job '%s' has been successfully started.", jobID) 25 return nil 26 } 27 28 func (j *SJobs) Start(jobID string, svcID string) error { 29 30 headers := j.Settings.HTTPManager.GetHeaders(j.Settings.SessionToken, j.Settings.Version, j.Settings.Pod, j.Settings.UsersID) 31 resp, statusCode, err := j.Settings.HTTPManager.Post(nil, 32 fmt.Sprintf("%s%s/environments/%s/services/%s/jobs/%s/start", 33 j.Settings.PaasHost, j.Settings.PaasHostVersion, j.Settings.EnvironmentID, svcID, jobID), headers) 34 if err != nil { 35 return err 36 } 37 38 return j.Settings.HTTPManager.ConvertResp(resp, statusCode, nil) 39 40 }