Socket
Socket
Sign inDemoInstall

@useoptic/api-checks

Package Overview
Dependencies
282
Maintainers
4
Versions
154
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @useoptic/api-checks


Version published
Maintainers
4
Install size
45.8 MB
Created

Readme

Source

api-checks

API checks helps automate checks between OpenAPI changes.

Example usage

Configuring your CLI

// cli.js
import { expect } from 'chai';
import { ApiCheckService, makeCiCli } from '@useoptic/api-checks';

const checker = new ApiCheckService();

const cli = makeCiCli('my_cli', checker, {
  opticToken: process.env.OPTIC_TOKEN,
  gitProvider: {
    token: process.env.GITHUB_TOKEN,
  },
  ciProvider: 'github',
});

cli.parse(process.argv);

Setting up your build pipeline

Currently, only CircleCi and Github Actions are supported. There's three main commands to this flow:

  • compare (compares two OpenAPI files together)
# Output the open api files from somewhere
$ node ./consolidate-open-api-files.js

# For github actions
$ echo $GITHUB_CONTEXT > ./ci-context.json

# Generate contextual information about the run from the environment.
# Current valid providers: [github, circleci]
$ node ./cli.js create-context --provider <provider>

# Run the compare files
# this will run compare, and upload the files to optic cloud
$ node ./cli.js compare --from ./from.json --to ./to.json --context "{\"createdAt\":1639434455822}" --upload-results

Expected contexts

Github Actions Context

The easiest way to dump this is from github actions:

...
  env:
    GITHUB_CONTEXT: ${{ toJSON(github) }}
  run: echo "$GITHUB_CONTEXT" > ./ci-context.json
CircleCI Context

Expected JSON values are:

{
  "CIRCLE_PROJECT_USERNAME": "owner",
  "CIRCLE_PULL_REQUEST": "https://github.com/owner/repo_name/pull/10",
  "CIRCLE_PROJECT_REPONAME": "repo_name",
  "CIRCLE_BRANCH": "fix/the-git-branch-name",
  "CIRCLE_SHA1": "e756e8e68f5daaed86fafe76cd8e51400d70946a",
  "CIRCLE_BUILD_NUM": 1,
  "CIRCLE_PR_USERNAME": "pr_author",

Note CIRCLE_PR_USERNAME is not always available - the variable OPTIC_COMMIT_USER may be set instead with a user value (such as the commit author from Git).

FAQs

Last updated on 24 May 2022

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc