/teamwork

Connect to the TeamworkPM API via a clean Ruby wrapper

Primary LanguageRubyThe UnlicenseUnlicense

Teamwork Gem

Teamwork is project management software for teams. This gem attempts to get as close to 100% coverage for the API as possible, with a few notable holes being uploading files and managing companies. I would welcome any pull-request that add these capabilities.

Usage

To get started add gem "teamworkpm" to your Gemfile (if using Bundler) or run gem install teamworkpm.

In order to use the teamworkpm gem you will need to have an active teamwork account with full API access. You can read the docs on getting your API key here.

Authentication

Authentication to the API is done through the class method authenticate. Teamwork.authenticate(api_key) will log you in. Failed authentication will return a 401, else the account for the authenticated user.

Capabilites

Account

Teamwork.account_info

Teamwwork.authenticate(api_key)

Activity

Teamwork.recent_activity(options) # Defaults to returning 60 items

Comment

Teamwork.get_comments(resource, id, options = {})

Teamwork.get_comment(id)

Teamwork.post_comment(resource, id, options)

Teamwork.update_comment(id, options)

Teamwork.delete_comment(id)

Company

Teamwork.get_companies

File

Teamwork.get_file(id)

Message

Teamwwork.get_message(id)

Notebook

Teamwork.get_notebooks(options = {})

People

Teamwork.get_people(options = {})

Project

Teamwork.project_activity(project_id, options = {})

Teamwork.project_timers(project_id, options = {})

Teamwork.project_people(project_id)

Teamwork.project_files(project_id)

Teamwork.project_messages(project_id)

Teamwork.project_companies(project_id)

Teamwork.projects(options = {})

Teamwork.project(id)

Teamwork.toggle_project_star(id, star: true)

Teamwork.create_project(options = {})

Teamwork.update_project(id, options = {})

Teamwork.delete_project(id)

Task

Teamwork.task_timers(task_id, options)

Teamwork.all_tasks(options = {})

Timer

Teamwork.time_entries(options = {})

Teamwork.time_entry(id)

Teamwork.update_time_entry(options = {})

Teamwork.delete_time_entry(id)