Skip to content

Repository files navigation

scm-github

VersionDownloadsBuild StatusOpen IssuesLicense

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
constscm=newGithubScm({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.

About

Github implementation of the scm-base class

Topics

Resources

Code of conduct

Contributing

Stars

2 stars

Watchers

20 watching

Forks

Releases

Packages

Used by

Contributors

Languages