The debci Ruby API
The main entry point of the API is the Debci::Repository class. It will allow you to find objects representing specific packages, and from there to test run results.
Accessing packages
require 'debci'
repository = Debci::Repository.new
With a repository object, you can obtain Debci::Package objects:
package = repository.find_package('rails-3.2')
Obtaining data for a given package
With a Debci:Package object, you can obtain the current status with the
status
method. This method will return a table with architectures on rows,
suites on columns, and a status object in each cell.
status_table = package.status
Getting package news
The news
method will return a news feed for that package, listing test runs
where the package status changed from pass
to fail
or the other way around.
news = package.news
news.each do |item|
puts item.headline
end
Finding package failures (Overall Status)
The failures
method returns an array of suite/architectures that the package
is failing. If there are no failures, nothing is returned.
failures = package.failures
if failures
puts failures
else
puts 'Passing everywhere'
end
Getting test history
The history
method obtains a package`s test history on a specific
suite and architecture. This method will return an array of Debci::Status
objects where each object represents one test entry.
history = package.history('unstable', 'amd64')
puts package.name
history.each do |entry|
puts 'Version: ' + entry.version
puts 'Date: ' + entry.date
puts 'Status: ' + entry.status
end
See the documentation for the Debci::Package class for more information.