screwdriver-scm-github
v13.2.0
Published
Github implementation for the scm-base class
Downloads
504
Readme
scm-github
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 | [email protected] | 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.readOnly | Object | {} | Config with readOnly info: enabled, username, accessToken, cloneType | | 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 | config.gheCloud | Boolean | false | Flag set to true if using Github Enterprise Cloud | | [config.gheCloudSlug] | String | null | The Github Enterprise Cloud Slug | | [config.gheCloudCookie] | String| null | The Github Enterprise Cloud Cookie name | | [config.gheCloudContext] | String | null | The Github Enterprise Cloud scm context | | config.githubGraphQLUrl | String | https://api.github.com/graphql | GraphQL endpoint for GitHub |
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.