You've already forked panic-cli
mirror of
https://github.com/Print-and-Panic/panic-cli.git
synced 2026-01-21 10:17:41 -08:00
39 lines
941 B
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
|
|
}
|