2017 © Pedro Peláez
 

library laravel-teamwork

PHP wrapper for the Teamwork project management API

image

baqirfarooq/laravel-teamwork

PHP wrapper for the Teamwork project management API

  • Saturday, January 20, 2018
  • by baqirfarooq
  • Repository
  • 1 Watchers
  • 1 Stars
  • 20 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 5 % Grown

The README.md

Laravel 5 Teamwork PM API Bridge

teamwork-graphic, (*1)

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. :metal:, (*2)

Installation

Just add this to your composer.json and then run composer update., (*3)

"baqirfarooq/teamwork": "~1.0"

You can also simply add it like this, (*4)

composer require "baqirfarooq/teamwork:~1.0"

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., (*5)

'providers' => [
    ...
    'Baqirfarooq\Teamwork\TeamworkServiceProvider',
],

and then add the facade to your aliases array, (*6)

'aliases' => [
    ...
    'Teamwork' => 'Baqirfarooq\Teamwork\Facades\Teamwork',
],

Configuration

If you are using Laravel then add a teamwork array to your config/services.php file, (*7)

...
'teamwork' => [
    'key'  => 'YourSecretKey',
    'url'  => 'YourTeamworkUrl'
],

Use

If you are using the Facade with Laravel youc an easily access Teamwork like this, (*8)

Teamwork::people()->all();

If you want to use dependency injection to make your application easy to test the Service Provider binds Baqirfarooq\Teamwork\Factory. Here is an example of how to use it with dependency injection, (*9)

Route::get('/test', function(Baqirfarooq\Teamwork\Factory $teamwork) {
   $activity = $teamwork->activity()->latest();
});

Configuration Without Laravel

If you are not using Laravel you can instantiate the class like this, (*10)

require "vendor/autoload.php";

use GuzzleHttp\Client as Guzzle;
use Baqirfarooq\Teamwork\Client;
use Baqirfarooq\Teamwork\Factory as Teamwork;

$client     = new Client(new Guzzle, 'YourSecretKey', 'YourTeamworkUrl');
$teamwork   = new Teamwork($client);

You are ready to go now!, (*11)


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., (*12)

To see more examples visit the docs, (*13)

// 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" => "12345"
]);

// get the latest activity on a project
$teamwork->project($projectID)->activity();

Roadmap

1.0 Release

  • [X] Add Support For Comments
  • [ ] Add Support For Permissions
  • [ ] Add Support For Time Endpoint
  • [ ] Add Support For Categories
  • [ ] Add Support For People Status
  • [ ] Add Support For Files
  • [ ] Add Support For Notebooks

laravel-teamwork

The Versions

20/01 2018

dev-master

9999999-dev https://github.com/baqirfarooq/laravel-teamwork

PHP wrapper for the Teamwork project management API

  Sources   Download

MIT

The Requires

 

The Development Requires

laravel api project management teamwork

19/02 2017

dev-documentation

dev-documentation https://github.com/baqirfarooq/laravel-teamwork

PHP wrapper for the Teamwork project management API

  Sources   Download

MIT

The Requires

 

The Development Requires

laravel api project management teamwork