Skip to content

HTTP Round Tripper for GitHub Apps - Authenticate as an Installation Workflow

License

Notifications You must be signed in to change notification settings

HenrikPoulsen/ghinstallation

 
 

Repository files navigation

ghinstallation

GoDoc

ghinstallation provides Transport, which implements http.RoundTripper to provide authentication as an installation for GitHub Apps.

This library is designed to provide automatic authentication for https://github.com/google/go-github or your own HTTP client.

See https://developer.github.com/apps/building-integrations/setting-up-and-registering-github-apps/about-authentication-options-for-github-apps/

Example

Get the package:

go get -u github.com/bradleyfalzon/ghinstallation

Usage:

import "github.com/bradleyfalzon/ghinstallation"

func main() {
    // Shared transport to reuse TCP connections.
    tr := http.DefaultTransport

    // Wrap the shared transport for use with the integration ID 1 authenticating with installation ID 99.
    itr, err := ghinstallation.NewKeyFromFile(tr, 1, 99, "2016-10-19.private-key.pem")
    if err != nil {
        log.Fatal(err)
    }

    // Use installation transport with github.com/google/go-github
    client := github.NewClient(&http.Client{Transport: itr})
}

License

Unlicense - feel free to copy/paste without attribution/preservation of license etc.

Dependencies

About

HTTP Round Tripper for GitHub Apps - Authenticate as an Installation Workflow

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 100.0%