The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

WebService::BasecampX - Perl interface to the bcx Basecamp API

SYNOPSIS

  use WebService::BasecampX;
  my $bc = WebService::BasecampX->new(
      username   => $user,
      password   => $pass,
      account_id => $account
  );
  for my $project ( @{ $bc->projects } ) {
      say join( "\t", $project->{last_event_at}, $project->{name} );
      my $todo_lists = $bc->project_todolists( project => $project->{id} );
      # do something with $todo_lists
  }

DESCRIPTION

WebService::BasecampX is a client implentation for the bcx Basecamp API

This module currently only supports the GET methods on the Basecamp API but provides 100% coverage for them. Thus, it provides full read-only access to the Basecamp API. Creating and modifying things is coming in a future release when I get enough tuits.

Optional and required arguments for the various methods are expected as named arguments to the method. See the synopsis call to project_todolists for example usage.

METHODS

attachments

Show attatchments for all projects.

See the Basecamp API docs for this method for more information or a sample of returned data.

calendar

Returns the specified calendar.

Required arguments: calendar

See the Basecamp API docs for this method for more information or a sample of returned data.

calendar_accesses

Returns all the people with access to the calendar

Required arguments: calendar

See the Basecamp API docs for this method for more information or a sample of returned data.

calendar_event

Returns specified calnedar event.

Required arguments: calendar, event

See the Basecamp API docs for this method for more information or a sample of returned data.

calendar_events

Returns upcoming calendar events for the given calendar.

Required arguments: calendar

See the Basecamp API docs for this method for more information or a sample of returned data.

calendar_events_past

Returns past calendar events for the given calendar.

Required arguments: calendar

See the Basecamp API docs for this method for more information or a sample of returned data.

calendars

Returns all calendars, sorted alphabetically.

See the Basecamp API docs for this method for more information or a sample of returned data.

document

Returns specified document with all comments.

Required arguments: project, document

See the Basecamp API docs for this method for more information or a sample of returned data.

documents

Shows documents for all projects.

See the Basecamp API docs for this method for more information or a sample of returned data.

events

Returns all events on the account, 50 per page

Optional arguments: since, page

See the Basecamp API docs for this method for more information or a sample of returned data.

message

Return a specified message

Required arguments: project, message

See the Basecamp API docs for this method for more information or a sample of returned data.

people

Returns all people on the account.

See the Basecamp API docs for this method for more information or a sample of returned data.

person

Returns a specified person.

Required arguments: person

See the Basecamp API docs for this method for more information or a sample of returned data.

person_me

Returns the current person.

See the Basecamp API docs for this method for more information or a sample of returned data.

person_todolists

Returns all todolists with todos assigned to the specified person.

Required arguments: person

See the Basecamp API docs for this method for more information or a sample of returned data.

project

Retrieve data for specified project.

Required arguments: project

See the Basecamp API docs for this method for more information or a sample of returned data.

project_accesses

Returns all the people with access to the project

Required arguments: project

See the Basecamp API docs for this method for more information or a sample of returned data.

project_attachments

Show attatchments for given project.

Required arguments: project

See the Basecamp API docs for this method for more information or a sample of returned data.

project_calendar_event

Returns specified calnedar event.

Required arguments: project, event

See the Basecamp API docs for this method for more information or a sample of returned data.

project_calendar_events

Returns upcoming calendar events for the project.

Required arguments: project

See the Basecamp API docs for this method for more information or a sample of returned data.

project_calendar_events_past

Returns past calendar events for the project.

Required arguments: project

See the Basecamp API docs for this method for more information or a sample of returned data.

project_documents

Shows documents for specified project, alphabetically by title.

Required arguments: project

See the Basecamp API docs for this method for more information or a sample of returned data.

project_todolists

Shows active todolists for given project, sorted by position.

Required arguments: project

See the Basecamp API docs for this method for more information or a sample of returned data.

project_todolists_completed

Shows completed todolists for given project.

Required arguments: project

See the Basecamp API docs for this method for more information or a sample of returned data.

project_topics

Returns topics for given project, 50 per page.

Required arguments: project

Optional arguments: page

See the Basecamp API docs for this method for more information or a sample of returned data.

projects

Retrieve data for all projects user has access to.

See the Basecamp API docs for this method for more information or a sample of returned data.

projects_archived

Retrieve data for all archived projects user has access to.

See the Basecamp API docs for this method for more information or a sample of returned data.

todo

Returns the specified todo.

Required arguments: project, todo

See the Basecamp API docs for this method for more information or a sample of returned data.

todolist

Returns the specified todolist, including the todos.

Required arguments: project, todolist

See the Basecamp API docs for this method for more information or a sample of returned data.

todolists

Show all active todolists for all projects.

See the Basecamp API docs for this method for more information or a sample of returned data.

todolists_completed

Show completed todolists for all projects.

See the Basecamp API docs for this method for more information or a sample of returned data.

topics

Returns all topics for the account, 50 per page.

Optional arguments: page

See the Basecamp API docs for this method for more information or a sample of returned data.

upload

Returns the content, comments, and attatchments for specified upload.

Required arguments: project, upload

See the Basecamp API docs for this method for more information or a sample of returned data.

AUTHOR

Mike Greb <michael@thegrebs.com>

COPYRIGHT

Copyright 2013- Mike Greb

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

Basecamp API Docs