scm-github

August 23, 2024 ยท View on GitHub

Version Downloads Build Status Open Issues 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.

ParameterTypeDefaultDescription
configObjectConfiguration Object
config.gheHostStringnullIf using GitHub Enterprise, the host/port of the deployed instance
config.gheProtocolStringhttpsIf using GitHub Enterprise, the protocol to use
config.usernameStringsd-buildbotGitHub username for checkout
config.emailStringdev-null@screwdriver.cdGitHub user email for checkout
config.httpsBooleanfalseIs the Screwdriver API running over HTTPS
config.oauthClientIdStringOAuth Client ID provided by GitHub application
config.oauthClientSecretStringOAuth Client Secret provided by GitHub application
config.readOnlyObject{}Config with readOnly info: enabled, username, accessToken, cloneType
config.fuseboxObject{}[Circuit Breaker configuration][circuitbreaker]
config.secretStringSecret to validate the signature of webhook events
config.privateRepoBooleanfalseRequest 'repo' scope, which allows read/write access for public & private repos
config.gheCloudBooleanfalseFlag set to true if using Github Enterprise Cloud
[config.gheCloudSlug]StringnullThe Github Enterprise Cloud Slug
[config.gheCloudCookie]StringnullThe Github Enterprise Cloud Cookie name
[config.gheCloudContext]StringnullThe Github Enterprise Cloud scm context
config.githubGraphQLUrlStringhttps://api.github.com/graphqlGraphQL 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.