node package manager
Painless code sharing. npm Orgs help your team discover, share, and reuse code. Create a free org »

screwdriver-scm-github

scm-github

Version Downloads Build Status Open Issues Dependency Status License

This scm plugin extends the scm-base, and provides methods to fetch and update data in github.

Usage

npm install screwdriver-scm-github

Initialization

The class has a variety of knobs to tweak when interacting with GitHub.

Parameter Type Default Description
config Object Configuration Object
config.gheHost String null If using GitHub Enterprise, the host/port of the deployed instance
config.gheProtocol String https If using GitHub Enterprise, the protocol to use
config.username String sd-buildbot GitHub username for checkout
config.email String dev-null@screwdriver.cd GitHub user email for checkout
config.https Boolean false Is the Screwdriver API running over HTTPS
config.oauthClientId String OAuth Client ID provided by GitHub application
config.oauthClientSecret String OAuth Client Secret provided by GitHub application
config.fusebox Object {} [Circuit Breaker configuration][circuitbreaker]
config.secret String Secret to validate the signature of webhook events
config.privateRepo Boolean false Request 'repo' scope, which allows read/write access for public & private repos
const scm = new GithubScm({
    oauthClientId: 'abcdef',
    oauthClientSecret: 'hijklm',
    secret: 'somesecret'
});

Methods

getScmContexts

No parameters are required.

Expected Outcome

A single element array of ScmContext(ex: ['github:github.com'](default), ['github:github.screwdriver.cd']), which will be a unique identifier for the scm.

For more information on the exposed methods please see the scm-base.

Testing

npm test

License

Code licensed under the BSD 3-Clause license. See LICENSE file for terms.