disruptiveadvertising / teamwork
PHP wrapper for the Teamwork project management API
- dev-master
- v1.3.1
- v1.3.0
- v1.2.23
- v1.2.22
- v1.2.21
- v1.2.20
- 1.2.19
- 1.2.18
- 1.2.17
- 1.2.16
- 1.2.15
- 1.2.14
- 1.2.13
- 1.2.12
- 1.2.11
- 1.2.10
- 1.2.9
- 1.2.8
- 1.2.7
- 1.2.6
- 1.2.5
- 1.2.4
- 1.2.3
- 1.2.2
- v1.2.1
- v1.2.0-beta.3
- v1.2.0-beta.2
- v1.2.0-beta.1
- v1.1.0
- v1.1.0-beta.1
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- dev-develop
This package is auto-updated.
Last update: 2024-08-02 23:33:27 UTC
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. 🤘
Installation
Just add this to your composer.json
and then run composer update
.
"disruptiveadvertising/teamwork": "^1.2"
You can also simply add it like this
composer require "disruptiveadvertising/teamwork": "^1.2"
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' => [ ... 'Rossedman\Teamwork\TeamworkServiceProvider', ],
and then add the facade to your aliases
array
'aliases' => [ ... 'Teamwork' => 'Rossedman\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 Rossedman\Teamwork\Factory
. Here is an example of how to use it with dependency injection
Route::get('/test', function(Rossedman\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 Rossedman\Teamwork\Client; use Rossedman\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
Time
Endpoint
1.2 Release
- Add Support For
Categories
- Add Support For
People Status
- Add Support For
Files
- Add Support For
Notebooks