main.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package main
  2. import (
  3. "flag"
  4. "fmt"
  5. "log"
  6. "os"
  7. )
  8. var baseUri string = "https://grafana.com/api"
  9. func main() {
  10. var version string
  11. var whatsNewUrl string
  12. var releaseNotesUrl string
  13. var dryRun bool
  14. var apiKey string
  15. flag.StringVar(&version, "version", "", "Grafana version (ex: --version v5.2.0-beta1)")
  16. flag.StringVar(&whatsNewUrl, "wn", "", "What's new url (ex: --wn http://docs.grafana.org/guides/whats-new-in-v5-2/)")
  17. flag.StringVar(&releaseNotesUrl, "rn", "", "Grafana version (ex: --rn https://community.grafana.com/t/release-notes-v5-2-x/7894)")
  18. flag.StringVar(&apiKey, "apikey", "", "Grafana.com API key (ex: --apikey ABCDEF)")
  19. flag.BoolVar(&dryRun, "dry-run", false, "--dry-run")
  20. flag.Parse()
  21. if len(os.Args) == 1 {
  22. fmt.Println("Usage: go run publisher.go main.go --version <v> --wn <what's new url> --rn <release notes url> --apikey <api key> --dry-run false")
  23. fmt.Println("example: go run publisher.go main.go --version v5.2.0-beta2 --wn http://docs.grafana.org/guides/whats-new-in-v5-2/ --rn https://community.grafana.com/t/release-notes-v5-2-x/7894 --apikey ASDF123 --dry-run true")
  24. os.Exit(1)
  25. }
  26. if dryRun {
  27. log.Println("Dry-run has been enabled.")
  28. }
  29. p := publisher{apiKey: apiKey}
  30. if err := p.doRelease(version, whatsNewUrl, releaseNotesUrl, dryRun); err != nil {
  31. log.Fatalf("error: %v", err)
  32. }
  33. }