SYNOPSIS
     use Net::Bamboo;

     # basics

     my $bamboo = new Net::Bamboo;

     $bamboo->hostname('bamboo.domain.com'); # hostname of bamboo server
     $bamboo->username('myuser');            # bamboo username
     $bamboo->password('mypass');            # bamboo password
     $bamboo->debug($bool);                  # debug mode (dump HTTP/XML)

     # projects

     $bamboo->projects;      # array of Net::Bamboo::Project
     $bamboo->num_projects;  # number of projects
     $bamboo->project_keys;  # list of project keys
     $bamboo->project($key); # get project by bamboo key

     my $project = $bamboo->project($key);

     $project->key;  # project key
     $project->name; # project name

     # plans

     $project->plans;        # list of Net::Bamboo::Plan objects
     $project->num_plans;    # number of plans
     $project->plan_keys;    # list of plan keys
     $project->plan($key);   # get plan by bamboo key

     my $plan = $bamboo->plan($key);

     $plan->key;             # plan key
     $plan->name;            # plan name
     $plan->num_stages;      # number of stages in plan
     $plan->is_enabled;      # flag: is plan enabled
     $plan->is_building;     # flag: is plan currently building
     $plan->is_active;       # flag: is plan active
     $plan->fqkey;           # fully qualified key (project key + plan key)

     # builds

     $plan->builds;          # list of Net::Bamboo::Build objects (five most recent)
     $plan->build_numbers;   # list of build numbers
     $plan->build($num);     # get build by number
     $plan->latest_build;    # get most recent build

     my $build = $plan->build($num);

     $build->number;         # build number
     $build->reason;         # build reason
     $build->date_started;   # build start date/time (DateTime object)
     $build->date_completed; # build end date/time (DateTime object)
     $build->duration;       # build duration (DateTime::Duration object)
     $build->succeeded;      # flag: build success?
     $build->failed;         # flag: build failure?
     $build->num_tests_ok;   # number of successful unit tests
     $build->num_tests_fail; # number of failed unit tests

DESCRIPTION
    Net::Bamboo is a simple OO interface to the RESTy interface exposed by
    Atlassian's Bamboo tool for continuous integration. The implementation
    is functionally lazy for the most part. Projects and plans are pulled in
    a single bulk request while the builds are pulled per plan as they are
    needed. Builds cycle often, so there exists a Plan->refresh method you
    may use to clear the attribute storing the builds; this will cause
    Net::Bamboo::Plan to pull a new build the next time it's requested. A
    similar method is available for the Net::Bamboo object as well, though
    it's likely to be used much less often.

    This is a rough first cut. Pull requests against my github repository
    are more than welcome.

AUTHOR
    Mike Eldridge <diz@cpan.org>

