github

package
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 26, 2022 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Asset

type Asset interface {
	Name() string
	DownloadURL() string
	Goos() (string, error)
	Goarch() (string, error)
	BinaryName() (string, error)
	ContainReleaseBinary() bool
	IsArchived() bool
	IsCompressed() bool
	IsExecBinary() bool
}

Asset in GitHub repository

type AssetLister added in v0.2.0

type AssetLister interface {
	List() ([]Asset, error)
}

AssetLister list assets

type Client

type Client interface {
	Repository(owner, repo string) (Repository, error)
	FindRepository(keyword string) (Repository, error)
	SearchRepositories(keyword string) ([]Repository, error)
}

Client to fetch data from GitHub

func NewClient

func NewClient(token string) (Client, error)

NewClient return new GitHub client

type Release

type Release interface {
	Tag() string
	Version() string
	PublishedAt() time.Time
	Assets() ([]Asset, error)
	AssetByName(name string) (Asset, error)
	AssetByPlatform(goos string, goarch string) (Asset, error)
}

Release in GitHub repository

type Repository

type Repository interface {
	Owner() string
	Name() string
	Description() string
	LatestRelease() (Release, error)
	Release(tag string) (Release, error)
	ListRelease(n int) ([]Release, error)
}

Repository in GitHub

type TeleportAsset added in v0.2.0

type TeleportAsset struct {
	URL string `json:"url"`
}

TeleportAsset is part of response from https://dashboard.gravitational.com/webapi/releases-oss

type TeleportRelease added in v0.2.0

type TeleportRelease struct {
	Version   string          `json:"version"`
	Downloads []TeleportAsset `json:"downloads"`
}

TeleportRelease is part of response from https://dashboard.gravitational.com/webapi/releases-oss

type TeleportReleasesResponse added in v0.2.0

type TeleportReleasesResponse struct {
	Next  int               `json:"next"`
	Last  int               `json:"last"`
	Items []TeleportRelease `json:"items"`
}

TeleportReleasesResponse is response from https://dashboard.gravitational.com/webapi/releases-oss

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL