Security News
RubyGems.org Adds New Maintainer Role
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
The Bump CLI is used to interact with your API documentation hosted on Bump by using the API of developers.bump.sh
The Bump.sh CLI is used to interact with your API documentation or hubs hosted on Bump.sh. With any API definition of your choice (from Swagger, OpenAPI or AsyncAPI), it can help you to:
Under the hood, it uses the API of developers.bump.sh. And is built with the oclif
framework in Typescript.
The Bump.sh CLI is a node package currently distributed via NPM. This means you must have the Node v14+ interpreter installed on your computer or CI servers.
If you are looking to use Bump.sh in a continuous integration environment you might be interested by our Github Action.
You can download a standalone package directly from the latest Github release assets if you don’t use Node. {: .info}
To install it globally, run the following command with NPM
npm install -g bump-cli
Or, with Yarn via
yarn global add bump-cli
As our CLI is a node package, you can easily embed it to your project by adding the package to your package.json
file, either with NPM
npm install --save-dev bump-cli
Or with Yarn via
yarn add --dev bump-cli
You can then use any Bump.sh commands with npx
(same as npm exec
)
npx bump --help
Unfortunately, at the moment we only support the Node environment. However, you can download a standalone package directly from the latest Github release assets which you can run as a standalone binary. Or you can push your documentation using our API (advanced usage only).
To list all the available commands, just type bump
in your command line environment.
$ bump --help
The Bump.sh CLI is used to interact with your API documentation hosted on Bump.sh by using the API of developers.bump.sh
VERSION
bump-cli/2.7.2 linux-x64 node-v16.17.0
USAGE
$ bump [COMMAND]
COMMANDS
deploy Create a new version of your documentation from the given file or URL.
diff Get a comparison diff with your documentation from the given file or URL.
help Display help for bump.
preview Create a documentation preview from the given file or URL.
You can also get some help anytime by adding --help
to any command. Example: bump deploy --help
.
While some commands don't need any API token (preview
or diff
) you will need an access key if you want to interact with your Bump.sh documentation.
Head over to your Documentation settings in the “CI deployment” section or your Account or Organization settings in the “API keys” section to fetch a personal token for later usage.
bump deploy [FILE]
When you update your API, you also want its documentation to be up to date for your API users. This is what the deploy command is for.
bump deploy path/to/api-document.yml --doc my-documentation --token $DOC_TOKEN
You can find your own
my-documentation
slug and$DOC_TOKEN
api key from your documentation settings. {: .info}
You can also deploy a given API document to a different branch of your documentation with the --branch <branch-name>
parameter. Please note the branch will be created if it doesn’t exist. More details about the branching feature are available on this dedicated help page. E.g. deploy the API document to the staging
branch of the documentation:
bump deploy path/to/api-document.yml --doc my-documentation --token $DOC_TOKEN --branch staging
If you already have a hub in your Bump.sh account, you can automatically create documentation and deploy it into that hub by publishing a whole directory containing multiple API documents in a single command:
bump deploy dir/path/to/apis/ --auto-create --hub my-hub --token $HUB_TOKEN
You can find your own
my-hub
slug and$HUB_TOKEN
api key from your hub settings. {: .info}
Please note, by default, only files named {slug}-api.[format]
are published. Where {slug}
is a name for your API and [format]
is either yaml
or json
. Adjust to your file naming convention using the --filename-pattern <pattern>
option.
Note that it can include *
wildcard special character, but must include the {slug}
filter to extract your documentation’s slug from the filename. The pattern can also have any other optional fixed characters.
Here’s a practical example. Let's assume that you have the following files in your path/to/apis/
directory:
path/to/apis
└─ private-api-users-service.json
└─ partner-api-payments-service.yml
└─ public-api-contracts-service.yml
└─ data.json
└─ README.md
In order to deploy the 3 services API definition files from this folder (private-api-users-service.json
, partner-api-payments-service.yml
and public-api-contracts-service.yml
), you can execute the following command:
bump deploy path/to/apis/ --hub my-hub --filename-pattern '*-api-{slug}-service'
Simulate your API document's deployment to ensure it is valid by adding the --dry-run
flag to the deploy
command. It is handy in a Continuous Integration environment running a test deployment outside your main branch:
bump deploy path/to/api-document.yml --dry-run --doc my-documentation --token $DOC_TOKEN
Please check bump deploy --help
for more usage details.
bump diff [FILE]
If you want to receive automatic bump diff
results on your Github Pull Requests you might be interested by our Github Action diff command.
From any two API documents or URLs, you can retrieve a comprehensive changelog of what has changed between them.
$ bump diff path/to/your/file.yml path/to/your/second_file.yml
* Comparing the two given definition files... done
Modified: GET /consommations
Response modified: 200
[Breaking] Body attribute modified: energie
You can create as many diffs as you like without being authenticated. This is a free and unlimited service provided as long as you use the service fairly. {: .info}
Note: You can also test this feature in our dedicated web application at https://api-diff.io/.
From an existing Bump.sh documentation, the diff
command will retrieve a comparison changelog between your latest published documentation and the given file or URL:
bump diff path/to/your/file.yml --doc my-documentation --token $DOC_TOKEN
If you want to compare two unpublished versions of your API document, the diff
command can retrieve a comparison changelog between two given file or URL, “as simple as git diff
”:
bump diff path/to/your/file.yml path/to/your/next-file.yml --doc my-documentation --token $DOC_TOKEN
Please check bump diff --help
for full usage details.
bump preview [FILE]
When writing documentation, you might want to preview how it renders on Bump.sh. This is precisely the goal of the preview
command: it will create temporary documentation with a unique URL, which will be available for a short period (30 minutes).
Usage from a local OpenAPI or AsyncAPI file
bump preview path/to/file.json
You can also preview a file available from a URL
bump preview https://developers.bump.sh/source.yaml
By using the --live
flag you can stay focused on API design (OpenAPI or AsyncAPI file) while seeing a continuously updated preview each time you save your API document.
bump preview --live --open openapi-definition.json
openapi-definition.json
file in your favorite text editorYou can create as many previews as you like without being authenticated. This is a free and unlimited service. {: .info}
Note: the additional --open
flag helps to automatically open the preview URL in your browser.
Please check bump preview --help
for more usage details
Make sure to have Node.js (At least v14) installed on your machine.
Install node dependencies with
npm install
Compile the Typescript code
npm run build
npm run clean # to remove build artifacts
Format the codebase to comply with the linter rules
npm run fmt
Run the test suites
npm run test
npm run test-coverage # Run tests with coverage
We currently support OpenAPI from 2.0 (called Swagger) to 3.1 and AsyncAPI 2.x specification file types. Both YAML or JSON file formats are accepted file inputs to the CLI.
Bug reports and pull requests are welcome on GitHub at https://github.com/bump-sh/cli. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
The Bump CLI project is released under the MIT License.
Everyone interacting in the Bump-CLI project codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.
This npm package starts at v2.0.0 for two main reasons:
Our first version of the Bump CLI was written in Ruby, starting at v2.0.0 makes it clear we are working on our second version of the Bump CLI
The bump-cli
package used to be owned by Rico which already published v1.x packages. If you are looking for the old npm package please head to @rstacruz/bump-cli
package. A big thanks to Rico for transfering the ownership of the bump-cli
package name!
FAQs
The Bump CLI is used to interact with your API documentation hosted on Bump by using the API of developers.bump.sh
The npm package bump-cli receives a total of 1,245 weekly downloads. As such, bump-cli popularity was classified as popular.
We found that bump-cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
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.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.
Security News
Research
Socket's threat research team has detected five malicious npm packages targeting Roblox developers, deploying malware to steal credentials and personal data.