nigelheap / teamwork
PHP wrapper for the Teamwork project management API
This package's canonical repository appears to be gone and the package has been frozen as a result. Email us for help if needed.
Installs: 647
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 52
pkg:composer/nigelheap/teamwork
Requires
- php: >=5.5.0
- guzzlehttp/guzzle: ~6.3
Requires (Dev)
- mockery/mockery: 0.9.*
- phpunit/phpunit: ~4.5
Suggests
- illuminate/support: Required for Laravel support
README
This is a simple PHP Client that can connect to the Teamwork API. This package was developed to be used with Laravel 5 but can also be used stand alone as well. I hope this helps you automate and extend Teamwork to integrate even more into your business! Have fun and good luck. 🤘
This fork also includes updates for laravel 5.5 and 5.6
Origional
Laravel 5 Teamwork PM API Bridge http://rossedman.github.io/teamwork/
Installation
Just add this to your composer.json and then run composer update.
"nigelheap/teamwork": "~5.5"
You can also simply add it like this
composer require "nigelheap/teamwork:~5.5"
Laravel Setup
This wrapper comes with support for Laravel 5. This includes a service provider as well as a facade for easy access.
Once this package is pulled into your project just add this to your config/app.php file.
'providers' => [ ... 'NigelHeap\Teamwork\TeamworkServiceProvider', ],
and then add the facade to your aliases array
'aliases' => [ ... 'Teamwork' => 'NigelHeap\Teamwork\Facades\Teamwork', ],
Configuration
If you are using Laravel then add a teamwork array to your config/services.php file
... 'teamwork' => [ 'key' => 'YourSecretKey', 'url' => 'YourTeamworkUrl' ],
Use
If you are using the Facade with Laravel youc an easily access Teamwork like this
Teamwork::people()->all();
If you want to use dependency injection to make your application easy to test the Service Provider binds NigelHeap\Teamwork\Factory. Here is an example of how to use it with dependency injection
Route::get('/test', function(NigelHeap\Teamwork\Factory $teamwork) { $activity = $teamwork->activity()->latest(); });
Configuration Without Laravel
If you are not using Laravel you can instantiate the class like this
require "vendor/autoload.php"; use GuzzleHttp\Client as Guzzle; use NigelHeap\Teamwork\Client; use NigelHeap\Teamwork\Factory as Teamwork; $client = new Client(new Guzzle, 'YourSecretKey', 'YourTeamworkUrl'); $teamwork = new Teamwork($client);
You are ready to go now!
Examples
Not all of the Teamwork API is supported yet but there is still a lot you can do! Below are some examples of how you can access Projects, Companies, and more. To work with a specific Object pass in the ID to perform actions on it. Data can be passed through for creating and editing.
To see more examples visit the docs
// create a project $teamwork->project()->create([ "name" => "My New Amazing Project", "description" => "This is a project that I will dedicate my whole life too", "companyId" => "999" ]); // get the latest activity on a project $teamwork->project($projectID)->activity();
Roadmap
1.1 Release
- Add Support For
Comments - Add Support For
Permissions - Add Support For
TimeEndpoint
1.2 Release
- Add Support For
Categories - Add Support For
People Status - Add Support For
Files - Add Support For
Notebooks
