diff --git a/v2/config.go b/v2/config.go index e9d2443..c6616b3 100644 --- a/v2/config.go +++ b/v2/config.go @@ -23,6 +23,7 @@ type Config struct { Gradle Gradle Jenkins Jenkins Jobs []string `mapstructure:"jobs"` + Retries int `mapstructure:"retries"` } func LoadConfig(path string) (*Config, error) { diff --git a/v2/main.go b/v2/main.go index 755ddff..34dd8a8 100644 --- a/v2/main.go +++ b/v2/main.go @@ -39,10 +39,11 @@ func main() { log.Printf("[main] Error fetching build for job %s: %s", job, err) return } - - if err := jc.TriggerBuild(build); err != nil { - log.Printf("[main] Error triggering build for job %s: %s", job, err) + for i := 0; i < cfg.Retries; i++ { + if err := jc.TriggerBuild(build); err != nil { + log.Printf("[main] Error triggering build for job %s [%d]: %s", job, i, err) + } } + } } -