Skip to content

Instantly share code, notes, and snippets.

@naviat
Forked from mlabouardy/main.go
Created August 1, 2018 16:35
Show Gist options
  • Save naviat/bf3008692f374e10909ca487085d509e to your computer and use it in GitHub Desktop.
Save naviat/bf3008692f374e10909ca487085d509e to your computer and use it in GitHub Desktop.
Lambda function to trigger Jenkins job
func triggerJob() error {
url := fmt.Sprintf(`%s/job/%s/build`, os.Getenv("JENKINS_HOST"), os.Getenv("JENKINS_JOB"))
client := http.Client{}
req, err := http.NewRequest("POST", url, nil)
if err != nil {
return err
}
crumb, err := getToken()
if err != nil {
return err
}
req.Header.Set(crumb[0], crumb[1])
req.SetBasicAuth(os.Getenv("JENKINS_USERNAME"), os.Getenv("JENKINS_PASSWORD"))
resp, err := client.Do(req)
if err != nil {
return err
}
defer resp.Body.Close()
if resp.StatusCode != 201 {
return errors.New("Cannot trigger job")
}
return nil
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment