drone: github.com/jackspirou/drone/remote Index | Files | Directories

package remote

import "github.com/jackspirou/drone/remote"

Index

Package Files

context.go remote.go

func ToContext Uses

func ToContext(c Setter, r Remote)

ToContext adds the Remote to this context if it supports the Setter interface.

type Refresher Uses

type Refresher interface {
    // Refresh refreshes an oauth token and expiration for the given
    // user. It returns true if the token was refreshed, false if the
    // token was not refreshed, and error if it failed to refersh.
    Refresh(*model.User) (bool, error)
}

type Remote Uses

type Remote interface {
    // Login authenticates the session and returns the
    // remote user details.
    Login(w http.ResponseWriter, r *http.Request) (*model.User, bool, error)

    // Auth authenticates the session and returns the remote user
    // login for the given token and secret
    Auth(token, secret string) (string, error)

    // Repo fetches the named repository from the remote system.
    Repo(u *model.User, owner, repo string) (*model.Repo, error)

    // Repos fetches a list of repos from the remote system.
    Repos(u *model.User) ([]*model.RepoLite, error)

    // Perm fetches the named repository permissions from
    // the remote system for the specified user.
    Perm(u *model.User, owner, repo string) (*model.Perm, error)

    // Script fetches the build script (.drone.yml) from the remote
    // repository and returns in string format.
    Script(u *model.User, r *model.Repo, b *model.Build) ([]byte, []byte, error)

    // Status sends the commit status to the remote system.
    // An example would be the GitHub pull request status.
    Status(u *model.User, r *model.Repo, b *model.Build, link string) error

    // Netrc returns a .netrc file that can be used to clone
    // private repositories from a remote system.
    Netrc(u *model.User, r *model.Repo) (*model.Netrc, error)

    // Activate activates a repository by creating the post-commit hook and
    // adding the SSH deploy key, if applicable.
    Activate(u *model.User, r *model.Repo, k *model.Key, link string) error

    // Deactivate removes a repository by removing all the post-commit hooks
    // which are equal to link and removing the SSH deploy key.
    Deactivate(u *model.User, r *model.Repo, link string) error

    // Hook parses the post-commit hook from the Request body
    // and returns the required data in a standard format.
    Hook(r *http.Request) (*model.Repo, *model.Build, error)
}

func FromContext Uses

func FromContext(c context.Context) Remote

FromContext returns the Remote associated with this context.

func Load Uses

func Load(env envconfig.Env) Remote

type Setter Uses

type Setter interface {
    Set(string, interface{})
}

Setter defines a context that enables setting values.

Directories

PathSynopsis
bitbucket
github
gitlab
gitlab/client
gogs

Package remote imports 9 packages (graph). Updated 2017-03-09. Refresh now. Tools for package owners. This is an inactive package (no imports and no commits in at least two years).