veyor
veyor
is a low level client for the Appveyor API
API docs: https://www.appveyor.com/docs/api
Installation
Stable version
gem install veyor
Development version
git clone https://github.com/sckott/veyor.git
cd veyor
rake install
veyor API
Veyor.project
- get project by name, branch, or build versionVeyor.projects
- get all projectsVeyor.project_add
- add a projectVeyor.project_delete
- delete a projectVeyor.project_history
- get project historyVeyor.project_deployments
- get project deploymentsVeyor.project_settings
- get project settingsVeyor.build_start
- start a buildVeyor.build_delete
- delete a buildVeyor.build_cancel
- cancel a buildVeyor.build_artifacts
- get build artifactsVeyor.build_log
- get build logsVeyor.environments
- get environmentsVeyor.environment_settings
- get environment settings
More to come in future veyor
versions
Changes
For changes see the Changelog
Setup
Veyor.configuration do |config|
config.account_name = "janedoe"
config.account_token = "<your token>"
end
Store those in env var keys like
ENV['APPVEYOR_ACCOUNT_NAME']
ENV['APPVEYOR_API_TOKEN']
An API key is not used if not provided - we don't error when it's missing as we did before. Use verbose=true
to see request headers sent.
In Ruby
get projects
Veyor.projects()
get a project by name
Veyor.project(project: 'cowsay')
get project history
Veyor.project_history(project: 'cowsay')
start a build
Veyor.build_start(project: 'cowsay')
cancel a build
Veyor.build_cancel(project: 'cowsay', version: '1.0.697')
Kill all queued builds
Sometimes all your builds are queued and you need to kill all of them
x = Veyor.projects();
x.each do |z|
nm = z['name']
puts "working on " + nm
if z["builds"].length > 0
# each build
z["builds"].each do |w|
if w['status'] == "queued"
Veyor.build_cancel(project: nm, version: w['version'])
end
end
end
end
On the CLI
List commands
veyor
Commands:
veyor cancel [Name] --version=VERSION # Cancel build of branch of most recent commit
veyor deployments [Name] # Get project deployments
veyor help [COMMAND] # Describe available commands or one specific command
veyor history [Name] # Get project history
veyor project [Name] # List a project
veyor projects # List projects
veyor settings [Name] # List a project's settings
veyor start [Name] # Start build of branch of most recent commit
List your projects
veyor projects
alm
analogsea
aspacer
bmc
bold
ccafs
... cutoff
Get back json - parse with jq
veyor projects --json | jq .[].builds[].status
"cancelled"
"success"
"success"
"failed"
"success"
"success"
List metadata for single project
veyor project cowsay
project: cowsay
repository: sckott/cowsay
branch: master
build status: cancelled
build ID: 3906530
JSON
veyor project cowsay --json | jq .project
{
"projectId": 44589,
"accountId": 13586,
"accountName": "sckott",
"builds": [],
"name": "cowsay",
"slug": "cowsay",
"repositoryType": "gitHub",
"repositoryScm": "git",
"repositoryName": "sckott/cowsay",
"repositoryBranch": "master",
"isPrivate": false,
"skipBranchesWithoutAppveyorYml": false,
"enableSecu
...cutoff
Contributing
Bug reports and pull requests are welcome. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Code of Conduct.
License
The gem is available as open source under the terms of the MIT License.