get-ci-env

    2.0.0 • Public • Published

    get-ci-env

    Travis Build Status LGTM Grade npm

    Get and normalize the environment variables from continuous integration services. This package is similar to pvdlg's env-ci but goes for a simpler approach. This results in a more restricted and lightweight (zero dependencies) package:

    • Only CI services that contain all expected values in the environment are supported, taking away the need to manually check the returned data.
    • Return a promise to indicate if a valid CI environment is detected for explicit error handling.
    • Logically nested data for concise naming and easy detection of pull request context: if (ciEnvOutput.pr) { ... }.

    Install

    npm install get-ci-env

    Usage

    Example usage when running inside Buildkite:

    import getCiEnv from 'get-ci-env';
     
    getCiEnv().then(console.log);

    Resulting in the output:

    {
      service: 'buildkite',
      branch: 'add-long-eared',
      commit: '1ef3f7c',
      repo: { owner: 'Selwyn', name: 'hedgehogs' },
      pr: { number: '3', branch: 'master' },
    }

    Supported services

    Variables

    • service: Camel-cased CI service name
    • branch: Name of the the branch being built
    • commit: Commit SHA hash that triggered the CI build
    • repo:
      • owner: Name of the repository owner
      • name: Repository name
    • pr: Only set when triggered by a pull request
      • number: Pull request number
      • targetBranch: Name of the base branch that the pull request is targeting

    API

    getCiEnv(env)

    env

    Type: object
    Default: process.env
    The user environment.

    Install

    npm i get-ci-env

    DownloadsWeekly Downloads

    8

    Version

    2.0.0

    License

    ISC

    Unpacked Size

    12.1 kB

    Total Files

    6

    Last publish

    Collaborators

    • siilwyn