/travis-ci-access-token

Retrieve an access token to authenticate against Travis CI.

Primary LanguageJavaScriptMIT LicenseMIT

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.