func BuildStopCmd(c *cli.Context, client drone.Client) error { var ( nameParam = c.Args().Get(0) numParam = c.Args().Get(1) jobParam = c.Args().Get(2) err error owner string name string num int job int ) // jobs are really only useful to matrix builds. So if the // job is not specified we'll assume it isn't a matrix build // and we'll cancel job number 1 if len(jobParam) == 0 { jobParam = "1" } num, err = strconv.Atoi(numParam) if err != nil { return fmt.Errorf("Invalid or missing build number") } job, err = strconv.Atoi(jobParam) if err != nil { return fmt.Errorf("Invalid or missing job number") } owner, name, err = parseRepo(nameParam) if err != nil { return err } err = client.BuildStop(owner, name, num, job) if err != nil { return err } fmt.Printf("stopping build %d job %d\n", num, job) return nil }