A command-line tool and library for querying the AppVeyor build status of a project using the AppVeyor REST API. It does for AppVeyor what travis-status does for Travis CI.
$ npm install -g appveyor-status
$ appveyor-status
AppVeyor build status: success
const appveyorStatus = require('appveyor-status');
// See https://kevinoid.github.io/appveyor-status/api/module-appveyor-status.html#.AppveyorStatusOptions
const options = {
// By AppVeyor project name
// project: 'kevinoid/appveyor-status',
// By repository path or URL
// repo: 'https://github.com/kevinoid/appveyor-status.git',
// By statusBadgeId (from badge URL)
// statusBadgeId: '2fi78evfynm3wfog',
};
appveyorStatus.getStatus(options).then(function(status) {
console.log('Status of project matching git repo in cwd: ' + status);
});
- Can query by AppVeyor project name, webhook ID, or repository URL or path.
- Can detect the AppVeyor project from the repository in which it is run when project is not specified.
- Can query using status badge API or project build API, minimizing latency and avoiding authentication in most cases.
- Can query most recent build for project or specific branch.
- Can compare build commit against a named or current commit.
- Can wait for queued build to finish, with configurable timeout, before reporting status.
This package can be installed using npm, either globally or locally, by running:
npm install appveyor-status
To check that the build for the current commit is successful before releasing
it as a new version, add the following to package.json
:
{
"scripts": {
"preversion": "appveyor-status -c -w"
}
}
This will check that the AppVeyor status for the current repository is "success"
(and will wait if queued) and that it matches the current commit. It will
print the build status (which can be suppressed with -q
) and exit with code
0 if "success" and a non-zero code otherwise, which will stop the version task.
API examples can be found in the test specifications.
To use this module as a library, see the API Documentation.
Command-line usage information is available via --help
:
appveyor-status --help
Contributions are appreciated. Contributors agree to abide by the Contributor Covenant Code of Conduct. If this is your first time contributing to a Free and Open Source Software project, consider reading How to Contribute to Open Source in the Open Source Guides.
If the desired change is large, complex, backwards-incompatible, can have significantly differing implementations, or may not be in scope for this project, opening an issue before writing the code can avoid frustration and save a lot of time and effort.
This project is available under the terms of the MIT License. See the summary at TLDRLegal.