Skip to content

crazy-max/gohealthchecks

Repository files navigation

PkgGoDev Test workflow Go Report Codecov
Become a sponsor Donate Paypal

About

Go client library for accessing the Healthchecks API.

Installation

go get github.com/crazy-max/gohealthchecks

Usage

package main

import (
	"context"
	"log"
	"net/url"

	"github.com/crazy-max/gohealthchecks"
)

func main() {
	var err error
	
	// Default client uses https://hc-ping.com/
	// client := gohealthchecks.NewClient(nil)

	hcBaseURL, err := url.Parse("https://hc.foo.com")
	if err != nil {
		log.Fatal(err)
	}
	client := gohealthchecks.NewClient(&gohealthchecks.ClientOptions{
		BaseURL: hcBaseURL,
	})

	err = client.Start(context.Background(), gohealthchecks.PingingOptions{
		UUID: "5bf66975-d4c7-4bf5-bcc8-b8d8a82ea278",
		Logs: "Job started!",
	})
	if err != nil {
		log.Fatal(err)
	}

	err = client.Success(context.Background(), gohealthchecks.PingingOptions{
		UUID: "5bf66975-d4c7-4bf5-bcc8-b8d8a82ea278",
		Logs: "Job completed!",
	})
	if err != nil {
		log.Fatal(err)
	}

	err = client.Fail(context.Background(), gohealthchecks.PingingOptions{
		UUID: "5bf66975-d4c7-4bf5-bcc8-b8d8a82ea278",
		Logs: "Job failed...",
	})
	if err != nil {
		log.Fatal(err)
	}
}

Contributing

Want to contribute? Awesome! The most basic way to show your support is to star the project, or to raise issues. You can also support this project by becoming a sponsor on GitHub or by making a Paypal donation to ensure this journey continues indefinitely!

Thanks again for your support, it is much appreciated! 🙏

License

MIT. See LICENSE for more details.