travis-ci-access-token

Retrieve an access token to authenticate against Travis CI.

Usage no npm install needed!

<script type="module">
  import travisCiAccessToken from 'https://cdn.skypack.dev/travis-ci-access-token';
</script>

README

Access Token

NPM version Build Status Coverage Status Dependencies

Retrieve an access token to authenticate against Travis CI.

Installation

$ npm install travis-ci-access-token

Usage

var retrieve = require( 'travis-ci-access-token' );

retrieve( options, clbk )

Retrieves an access token to authenticate against Travis CI.

var opts = {
    'token': 'tkjorjk34ek3nj4!' // Github token
};

retrieve( opts, clbk );

function clbk( error, results ) {
    if ( error ) {
        throw new Error( error.message );
    }
    console.dir( results );
    /* returns 
        {
            "access_token": "12345678"
        }
    */
}

The function accepts the following options:

  • token: Github access token (required). The access-token should have the following scopes:
    • read:org
    • user:email
    • repo_deployment
    • repo:status
    • write:repo_hook
  • hostname: endpoint hostname. Default: 'api.travis-ci.org'.

To authenticate with Travis CI, Travis CI requires a Github access token. To specify a Github access token, set the token option.

var opts = {
    'token': 'tkjorjk34ek3nj4!'
};

retrieve( opts, clbk );

By default, the function retrieves an access token from the Travis CI API for open source. To retrieve from a different Travis CI API endpoint, set the hostname option.

var opts = {
    'token': 'tkjorjk34ek3nj4!',
    'hostname': 'api.travis-ci.com'
};

retrieve( opts, clbk );

retrieve.factory( options, clbk )

Creates a reusable function.

var opts = {
    'token': 'tkjorjk34ek3nj4!',
    'hostname': 'api.travis-ci.com'
};

var newToken = retrieve.factory( opts, clbk );

newToken();
newToken();
newToken();
// ...

The factory method accepts the same options as retrieve().


Examples

var retrieve = require( 'travis-ci-access-token' );

var opts = {
    'token': '<your_github_token_goes_here>'
};

retrieve( opts, clbk );

function clbk( error, results ) {
    if ( error ) {
        throw new Error( error.message );
    }
    console.dir( results );
}

To run the example code from the top-level application directory,

$ node ./examples/index.js

CLI

Installation

To use the module as a general utility, install the module globally

$ npm install -g travis-ci-access-token

Usage

Usage: travistoken [options]

Options:

  -h,  --help                Print this message.
  -V,  --version             Print the package version.
       --hostname host       Hostname. Default: api.travis-ci.org.
       --token token         Github access token.

Notes

Examples

Setting the access token using the command-line option:

$ DEBUG=* travistoken --token <token>
# => '12345678'

Setting the access token using an environment variable:

$ DEBUG=* TRAVISCI_GITHUB_TOKEN=<token> travistoken
# => '12345678'

For local installations, modify the command to point to the local installation directory; e.g.,

$ DEBUG=* ./node_modules/.bin/travistoken --token <token>
# => '12345678'

Or, if you have cloned this repository and run npm install, modify the command to point to the executable; e.g.,

$ DEBUG=* node ./bin/cli --token <token>
# => '12345678'

Tests

Unit

This repository uses tape for unit tests. To run the tests, execute the following command in the top-level application directory:

$ make test

All new feature development should have corresponding unit tests to validate correct functionality.

Test Coverage

This repository uses Istanbul as its code coverage tool. To generate a test coverage report, execute the following command in the top-level application directory:

$ make test-cov

Istanbul creates a ./reports/coverage directory. To access an HTML version of the report,

$ make view-cov

Browser Support

This repository uses Testling for browser testing. To run the tests in a (headless) local web browser, execute the following command in the top-level application directory:

$ make test-browsers

To view the tests in a local web browser,

$ make view-browser-tests

License

MIT license.

Copyright

Copyright © 2016. Athan Reines.