bitrise
A simple API client for the Bitrise API.
Usage
$ npm install --save @lifeomic/bitrise
API
bitrise({ token })
Create a new client instance. token
is a personal access token.
const bitrise = require('@lifeomic/bitrise');
const client = bitrise({ token: 'some-token' });
bitrise.app({ slug })
Create an app object. slug
is the Bitrise app slug.
const bitrise = require('@lifeomic/bitrise');
const app = bitrise({ token }).app({ slug });
An app has the following attributes:
- slug — the app's unique identifier.
async app.triggerBuild(options)
Trigger a new build for the app. Supported options
include the following:
-
branch — the branch to run (or the source of a pull request). The
default is
master
. -
commitHash — the hash of the commit to checkout of SCM. If not provided
then the
branch
parameter is used. - commitMessage — a description to include on the build.
- disableStatusReporting — disable sending status reports to SCM.
- environment — an object of key value pairs representing environment variables to provide to the build.
- pullRequest — the ID of the pull request being built.
- target — the destination branch of the pull request.
- workflow — the ID of the Bitrise workflow to run.
Returns a build
object representing the build that was started. A build has
the following attributes:
- appSlug — the slug of the application that the build is for.
- buildSlug — the unique ID of the build.
References:
async build.abort({ reason })
Abort the build. If supplied the reason
string will be included in the build
details.
References:
async build.describe()
Get all attributes for a build.
References:
async build.follow({ heartbeat, interval })
Poll on the logs for a build and print them to stdout. An error will be thrown
if the build fails. interval
is the polling interval in milliseconds
(default value is 5000
). heartbeat
is the maximum interval that no output
can be received in milliseconds. When this value is supplied a heartbeat message
will be printed if no output has been received. When it is not supplied nothing
is printed unless output is received from the build.
References:
- https://devcenter.bitrise.io/api/v0.1/#get-appsapp-slugbuildsbuild-sluglog
- https://devcenter.bitrise.io/api/v0.1/#get-appsapp-slugbuildsbuild-slug
async build.isFinished()
Returns true
if the build has completed execution (regardless of success or
failure). Returns false
otherwise. This is just a convenience method for
running build.describe()
and checking the finished_at
attribute.
References: