Documentation ¶
Index ¶
- func Activate(c context.Context, u *model.User, r *model.Repo, link string) error
- func Auth(c context.Context, token, secret string) (string, error)
- func Deactivate(c context.Context, u *model.User, r *model.Repo, link string) error
- func File(c context.Context, u *model.User, r *model.Repo, b *model.Build, f string) (out []byte, err error)
- func FileBackoff(remote Remote, u *model.User, r *model.Repo, b *model.Build, f string) (out []byte, err error)
- func Hook(c context.Context, r *http.Request) (*model.Repo, *model.Build, error)
- func Login(c context.Context, w http.ResponseWriter, r *http.Request) (*model.User, error)
- func Netrc(c context.Context, u *model.User, r *model.Repo) (*model.Netrc, error)
- func Perm(c context.Context, u *model.User, owner, repo string) (*model.Perm, error)
- func Refresh(c context.Context, u *model.User) (bool, error)
- func Repo(c context.Context, u *model.User, owner, repo string) (*model.Repo, error)
- func Repos(c context.Context, u *model.User) ([]*model.Repo, error)
- func Status(c context.Context, u *model.User, r *model.Repo, b *model.Build, link string) error
- func Teams(c context.Context, u *model.User) ([]*model.Team, error)
- func ToContext(c Setter, r Remote)
- type AuthError
- type Refresher
- type Remote
- type Setter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Activate ¶ added in v0.4.2
Activate activates a repository by creating the post-commit hook and adding the SSH deploy key, if applicable.
func Auth ¶ added in v0.4.2
Auth authenticates the session and returns the remote user login for the given token and secret
func Deactivate ¶ added in v0.4.2
Deactivate removes a repository by removing all the post-commit hooks which are equal to link and removing the SSH deploy key.
func File ¶ added in v0.4.2
func File(c context.Context, u *model.User, r *model.Repo, b *model.Build, f string) (out []byte, err error)
File fetches a file from the remote repository and returns in string format.
func FileBackoff ¶ added in v0.8.3
func FileBackoff(remote Remote, u *model.User, r *model.Repo, b *model.Build, f string) (out []byte, err error)
FileBackoff fetches the file using an exponential backoff. TODO replace this with a proper backoff
func Hook ¶ added in v0.4.2
Hook parses the post-commit hook from the Request body and returns the required data in a standard format.
func Netrc ¶ added in v0.4.2
Netrc returns a .netrc file that can be used to clone private repositories from a remote system.
func Perm ¶ added in v0.4.2
Perm fetches the named repository permissions from the remote system for the specified user.
func Refresh ¶ added in v0.4.2
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.
func Status ¶ added in v0.4.2
Status sends the commit status to the remote system. An example would be the GitHub pull request status.
Types ¶
type Refresher ¶
Refresher 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.
type Remote ¶
type Remote interface { // Login authenticates the session and returns the // remote user details. Login(w http.ResponseWriter, r *http.Request) (*model.User, error) // Auth authenticates the session and returns the remote user // login for the given token and secret Auth(token, secret string) (string, error) // Teams fetches a list of team memberships from the remote system. Teams(u *model.User) ([]*model.Team, 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.Repo, 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) // File fetches a file from the remote repository and returns in string // format. File(u *model.User, r *model.Repo, b *model.Build, f string) ([]byte, error) // FileRef fetches a file from the remote repository for the given ref // and returns in string format. FileRef(u *model.User, r *model.Repo, ref, f string) ([]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. Activate(u *model.User, r *model.Repo, link string) error // Deactivate deactivates a repository by removing all previously created // post-commit hooks matching the given link. 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 ¶
FromContext returns the Remote associated with this context.