github

package
v0.2.50 Latest Latest
Warning

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

Go to latest
Published: Apr 17, 2026 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func VerifySignature

func VerifySignature(payload []byte, signature string, secret string) bool

VerifySignature 验证 GitHub Webhook 签名 signature 格式: "sha256=<hex>"

Types

type Release

type Release struct {
	TagName    string         `json:"tag_name"`
	Name       string         `json:"name"`
	ZipballURL string         `json:"zipball_url"`
	TarballURL string         `json:"tarball_url"`
	Draft      bool           `json:"draft"`
	Prerelease bool           `json:"prerelease"`
	Assets     []ReleaseAsset `json:"assets"`
}

Release GitHub Release 信息

type ReleaseAsset added in v0.2.34

type ReleaseAsset struct {
	ID                 int64  `json:"id"`
	Name               string `json:"name"`
	ContentType        string `json:"content_type"`
	Size               int64  `json:"size"`
	BrowserDownloadURL string `json:"browser_download_url"`
}

ReleaseAsset GitHub Release Asset 信息

type ReleaseDownloader

type ReleaseDownloader struct {
	// contains filtered or unexported fields
}

ReleaseDownloader GitHub Release 下载器

func NewReleaseDownloader

func NewReleaseDownloader() *ReleaseDownloader

NewReleaseDownloader 创建 Release 下载器

func (*ReleaseDownloader) DownloadAsset added in v0.2.34

func (d *ReleaseDownloader) DownloadAsset(url, destPath, token string) error

DownloadAsset 下载单个 Release Asset

func (*ReleaseDownloader) DownloadAssetsAsZip added in v0.2.34

func (d *ReleaseDownloader) DownloadAssetsAsZip(assets []ReleaseAsset, targetDir, zipFilename, token string) error

DownloadAssetsAsZip 下载所有 Release Assets 并打包成 ZIP

func (*ReleaseDownloader) DownloadReleaseZip

func (d *ReleaseDownloader) DownloadReleaseZip(zipballURL, targetDir, filename, token string) error

DownloadReleaseZip 下载 Release 并保存为指定文件名

func (*ReleaseDownloader) DownloadZipball

func (d *ReleaseDownloader) DownloadZipball(url, destPath, token string) error

DownloadZipball 下载 Release 的 zipball url: GitHub zipball URL (e.g., https://api.github.com/repos/owner/repo/zipball/v1.0.0) destPath: 目标文件路径

type ReleasePayload

type ReleasePayload struct {
	Action     string     `json:"action"`
	Release    Release    `json:"release"`
	Repository Repository `json:"repository"`
}

ReleasePayload GitHub Release Webhook 的 payload 结构

func ParseReleasePayload

func ParseReleasePayload(data []byte) (*ReleasePayload, error)

ParseReleasePayload 解析 Release Webhook payload

func (*ReleasePayload) IsPublishedEvent

func (p *ReleasePayload) IsPublishedEvent() bool

IsPublishedEvent 判断是否是 published 事件

func (*ReleasePayload) IsTargetRepository

func (p *ReleasePayload) IsTargetRepository(fullName string) bool

IsTargetRepository 判断是否是目标仓库

type Repository

type Repository struct {
	FullName string `json:"full_name"`
	Name     string `json:"name"`
}

Repository GitHub 仓库信息

Jump to

Keyboard shortcuts

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