gitlab

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Apr 14, 2020 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

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

Client is used to send requests to the GitLab API. Normally created with the `New` function

func New

func New(serverURL, token, projectID string, httpClient HTTPClient) (*Client, error)

New creates a new GitLab Client

func (*Client) CreateRelease

func (gc *Client) CreateRelease(ctx context.Context, createReleaseReq *CreateReleaseRequest) (*CreateReleaseResponse, error)

CreateRelease will try to create a release via GitLab's Releases API

type CreateReleaseRequest

type CreateReleaseRequest struct {
	ID          string `json:"id"`
	Name        string `json:"name"`
	Description string `json:"description"`
	TagName     string `json:"tag_name"`
	Ref         string `json:"ref,omitempty"`
}

CreateReleaseRequest body. The full documentation can be found at https://docs.gitlab.com/ee/api/releases/index.html#create-a-release

type CreateReleaseResponse

type CreateReleaseResponse struct {
	Name            string    `json:"name"`
	Description     string    `json:"description"`
	DescriptionHTML string    `json:"description_html"`
	TagName         string    `json:"tag_name"`
	CreatedAt       time.Time `json:"created_at"`
	ReleasedAt      time.Time `json:"released_at"`
}

CreateReleaseResponse body. The full documentation can be found at https://docs.gitlab.com/ee/api/releases/index.html#create-a-release

type ErrorResponse

type ErrorResponse struct {
	Message string `json:"message,omitempty"`
	// TODO the API returns different fields for some different status codes
	// https://gitlab.com/gitlab-org/release-cli/-/issues/18
	Err string `json:"error,omitempty"`
	// contains filtered or unexported fields
}

ErrorResponse expected from the API

func (*ErrorResponse) Error

func (er *ErrorResponse) Error() string

Error implements the error interface. Wraps an error message from the API into an error type

type HTTPClient

type HTTPClient interface {
	Do(*http.Request) (*http.Response, error)
}

HTTPClient is an interface that describes the available actions of the client. Use http.Client during runtime. See mock_httpClient_test.go for a testing implementation

Jump to

Keyboard shortcuts

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