jolicode/forecast-php-api 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

jolicode/forecast-php-api

最新稳定版本:v7.0.0

Composer 安装命令:

composer require jolicode/forecast-php-api

包简介

An up to date PHP client for Harvest Forecast's API

README 文档

README

test workflow

Harvest Forecast is a planification tool built by Harvest.

This PHP SDK is generated automatically with JanePHP using a Forecast OpenAPI specification. It means that:

  • the code in the generated dorectory is not hand-written but generated;
  • if the API changes and you need to fix an API call, please edit the OpenAPI specification file, then regenerate the SDK.

Installation

This library is built atop of PSR-7 and PSR-18. So you will need to install some implementations for those interfaces.

If no PSR-18 client or PSR-7 message factory is available yet in your project or you don't care which one to use, just install some default:

composer require symfony/http-client nyholm/psr7

You can now install the Forecast client:

composer require jolicode/forecast-php-api

Usage

First, you need to retrieve an access token. Please checkout Harvest's documentation about the OAuth2 Authorization Flow.

Then, use the factory that is provided to create the client:

// $client contains all the methods to interact with the API
$client = JoliCode\Forecast\ClientFactory::create(
  $accessToken,
  $forecastAccountId
);

$clients = $client->listClients()->getClients();
$assignments = $client->listAssignments([
  'start_date' => '2019-01-01',
  'end_date' => '2019-01-31',
])->getAssignments();

dump($clients);
dump($assignments);

In the above example, the $client variable is an instance of the Client class, which you can browse through to learn more about the API features.

Want more example or documentation? See the documentation.

Available operations

Instead of the listClients() method above, you can use all of these methods:

  • Account:
    • getAccount()
  • Aggregations:
    • countScheduledHours()
    • getRemainingBudgetedHours()
  • Assignments:
    • createAssignment()
    • deleteAssignment()
    • editAssignment()
    • getAssignment()
    • listAssignments()
  • Clients:
    • getClient()
    • listClients()
  • Persons:
    • createPerson()
    • deletePerson()
    • editPerson()
    • getPerson()
    • listPeople()
  • Placeholders:
    • createPlaceholder()
    • deletePlaceholder()
    • editPlaceholder()
    • getPlaceholder()
    • listPlaceholders()
  • Profile:
    • whoAmI()
  • Projects:
    • getProject()
    • listProjects()
  • RepeatedAssignmentSets:
    • createRepeatedAssignmentSet()
    • deleteRepeatedAssignmentSet()
    • editRepeatedAssignmentSet()
    • getRepeatedAssignmentSet()
    • listRepeatedAssignmentSets()
  • Roles:
    • createRole()
    • deleteRole()
    • editRole()
    • getRole()
    • listRoles()

Troubleshoot

Got some problems using this library? Need a missing feature? Do not hesitate to open an issue and share it with us.

If some operation is missing or not working correctly, please follow the steps to regenerate the SDK.

Further documentation

You can see the current and past versions using one of the following:

And finally some meta documentation:

License

This library is licensed under the MIT License - see the LICENSE file for details.

统计信息

  • 总下载量: 3.38k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 5
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 5
  • Watchers: 14
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2019-01-18

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固