myabakus / teamworkpm
PHP wrapper for Teamwork.com API
Installs: 67 334
Dependents: 0
Suggesters: 0
Security: 0
Stars: 69
Watchers: 11
Forks: 59
Open Issues: 13
Requires
- php: >=5.4
Requires (Dev)
- phpunit/phpunit: ^5.7
README
Installation
composer require myabakus/teamworkpm
Using the Api
// START configuration const API_KEY = 'horse48street'; const API_URL = 'https://yourcustomdomain.com'; // only required if you have a custom domain try { // set your keys // if you do not have a custom domain: \TeamWorkPm\Auth::set(API_KEY); // if you do have a custom domain: // TeamWorkPm\Auth::set(API_URL, API_KEY); // create a project $project = \TeamWorkPm\Factory::build('project'); $project_id = $project->save([ 'name' => 'This is a test project', 'description' => 'Bla, Bla, Bla', ]); // create one people and add to project $people = \TeamWorkPm\Factory::build('people'); $person_id = $people->save([ 'first_name' => 'Test', 'last_name' => 'User', 'user_name' => 'test', 'email_address' => 'email@hotmail.com', 'password' => 'foo123', 'project_id' => $project_id, ]); // create a milestone $milestone = \TeamWorkPm\Factory::build('milestone'); $milestone_id = $milestone->save([ 'project_id' => $project_id, 'responsible_party_ids' => $person_id, 'title' => 'Test milestone', 'description' => 'Bla, Bla, Bla', 'deadline' => date('Ymd', strtotime('+10 day')), ]); // create a task list $taskList = \TeamWorkPm\Factory::build('task.list'); $task_list_id = $taskList->save([ 'project_id' => $project_id, 'milestone_id' => $milestone_id, 'name' => 'My first task list', 'description' => 'Bla, Bla', ]); // create a task $task = \TeamWorkPm\Factory::build('task'); $task_id = $task->save([ 'task_list_id' => $task_list_id, 'content' => 'Test Task', 'notify' => false, 'description' => 'Bla, Bla, Bla', 'due_date' => date('Ymd', strtotime('+10 days')), 'start_date' => date('Ymd'), 'private' => false, 'priority' => 'high', 'estimated_minutes' => 1000, 'responsible_party_id' => $person_id, ]); // add time to task $time = \TeamWorkPm\Factory::build('time'); $time_id = $time->save([ 'task_id' => $task_id, 'person_id' => $person_id, 'description' => 'Test Time', 'date' => date('Ymd'), 'hours' => 5, 'minutes' => 30, 'time' => '08:30', 'isbillable' => false, ]); echo 'Project Id: ' . $project_id . "\n"; echo 'Person Id: ' . $person_id . "\n"; echo 'Milestone Id: ' . $milestone_id . "\n"; echo 'Task List Id: ' . $task_list_id . "\n"; echo 'Task Id: ' . $task_id . "\n"; echo 'Time id: ' . $time_id . "\n"; } catch (Exception $e) { print_r($e); }
View the tests folder for more details