gitlab

package
v0.1.15 Latest Latest
Warning

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

Go to latest
Published: Mar 16, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

Package gitlab provides functionality to interact with GitLab repositories, releases, and assets via the GitLab API. It includes utilities for filtering and retrieving release information, assets, and repository metadata.

The main types and functions in this package include:

  • Asset: Represents a GitLab release asset with name, URL, and content type.
  • Assets: A collection of Asset objects with filtering methods.
  • Release: Represents a GitLab release containing a tag, name, and assets.
  • Repository: Represents a GitLab repository, with methods for retrieving releases, assets, and repository details.
  • NewClient: Creates a new GitLab API client.
  • NewRepository: Creates a new Repository instance for accessing repository data.

This package uses the official GitLab client (gitlab.com/gitlab-org/api/client-go) for making API calls and provides additional utilities to handle GitLab data.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FromRepositoryRelease added in v0.1.15

func FromRepositoryRelease(repoRelease *gitlab.Release) (*release.Release, error)

FromRepositoryRelease converts a GitLab repository release to a shared Release object.

func NewClient

func NewClient(token, baseURL string) (*gitlab.Client, error)

NewClient creates a new GitLab client. If a token is provided, the client is authenticated using the token. If baseURL is provided, the client will connect to that GitLab instance instead of gitlab.com.

Types

type Repository

type Repository struct {
	Namespace string
	Repo      string
	// contains filtered or unexported fields
}

Repository represents a GitLab repository with its owner and name. It contains a GitLab client for making API calls.

func NewRepository

func NewRepository(namespace, repo string, client *gitlab.Client) *Repository

NewRepository creates a new instance of Repository. It requires the repository owner, repository name, and a GitLab client.

func (*Repository) GetLatestIncludingPreRelease

func (g *Repository) GetLatestIncludingPreRelease(ctx context.Context, perPage int) (*release.Release, error)

GetLatestIncludingPreRelease retrieves the most recently published release for the repository, including pre-releases. This returns the newest release by published date, regardless of whether it's a regular release or pre-release.

func (*Repository) GetRelease

func (g *Repository) GetRelease(_ context.Context, tag string) (*release.Release, error)

GetRelease retrieves a specific release for the repository based on the provided tag.

func (*Repository) LatestRelease

func (g *Repository) LatestRelease(ctx context.Context) (*release.Release, error)

LatestRelease retrieves the latest release for the repository.

Jump to

Keyboard shortcuts

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