package github import ( "context" "github.com/google/go-github/v80/github" ) func GetReleaseNotes(owner, repo, tag string) (string, error) { client := github.NewClient(nil) release, _, err := client.Repositories.GetReleaseByTag(context.Background(), owner, repo, tag) if err != nil { return "", err } return *release.Body, nil } func GetNewestRelease(owner, repo string) (string, error) { client := github.NewClient(nil) releases, _, err := client.Repositories.ListReleases(context.Background(), owner, repo, nil) if err != nil { return "", err } if len(releases) == 0 { return "", nil } return *releases[0].TagName, nil } func GetAssetByTag(owner, repo, tag string) ([]*github.ReleaseAsset, error) { client := github.NewClient(nil) release, _, err := client.Repositories.GetReleaseByTag(context.Background(), owner, repo, tag) if err != nil { return nil, err } assets := release.Assets return assets, nil }