Files
panic-cli/internal/github/release.go

39 lines
941 B
Go

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
}