Skip to content

bored-engineer/go-github-events

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-github-events Go Reference

The GitHub events schema converted to strongly typed Golang structs

package main

import (
	"encoding/json"
	"fmt"
	"log"
	"os"

	github "github.com/bored-engineer/go-github-events"
)

func main() {
	dec := json.NewDecoder(os.Stdin)
	for dec.More() {
		var raw github.Event[github.RawEvent]
		if err := dec.Decode(&raw); err != nil {
			log.Fatalf("(*json.Decoder).Decode failed: %v", err)
		}
		switch *raw.Type {
		case "PushEvent":
			event, err := github.Cast[github.PushEvent](raw)
			if err != nil {
				log.Fatalf("github.Cast[github.PushEvent] failed: %v", err)
			}
			fmt.Printf("PushEvent: %d\n", *event.Payload.DistinctSize)
		}
	}
}

About

The GitHub events schema converted to strongly typed Golang structs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages