jolicode/forecast-php-api

Harvest Forecast API的最新PHP客户端

v7.0.0 2024-03-29 11:07 UTC

This package is auto-updated.

Last update: 2024-08-29 12:02:13 UTC


README

test workflow

Harvest Forecast 是Harvest开发的计划工具。

此PHP SDK是通过JanePHP使用Forecast OpenAPI规范自动生成的。这意味着

  • generated目录中的代码不是手写的,而是生成的
  • 如果API发生变化并且您需要修复API调用,请编辑OpenAPI规范文件,然后重新生成SDK

安装

此库基于PSR-7PSR-18构建。因此,您需要安装一些实现这些接口的库。

如果您的项目中还没有PSR-18客户端或PSR-7消息工厂,或者您不关心使用哪个,只需安装一些默认的

composer require symfony/http-client nyholm/psr7

现在您可以安装Forecast客户端

composer require jolicode/forecast-php-api

用法

首先,您需要检索一个访问令牌。请查看Harvest关于OAuth2授权流程的文档。

然后,使用提供的工厂来创建客户端

// $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);

在上面的示例中,$client变量是Client类的实例,您可以通过它来了解API的功能。

需要更多示例或文档?请参阅文档

可用的操作

除了上面的listClients()方法外,您还可以使用以下所有方法

  • 账户
    • getAccount()
  • 聚合
    • countScheduledHours()
    • getRemainingBudgetedHours()
  • 分配
    • createAssignment()
    • deleteAssignment()
    • editAssignment()
    • getAssignment()
    • listAssignments()
  • 客户
    • getClient()
    • listClients()
  • 人员
    • createPerson()
    • deletePerson()
    • editPerson()
    • getPerson()
    • listPeople()
  • 占位符
    • createPlaceholder()
    • deletePlaceholder()
    • editPlaceholder()
    • getPlaceholder()
    • listPlaceholders()
  • 配置文件
    • whoAmI()
  • 项目
    • getProject()
    • listProjects()
  • 重复分配集
    • createRepeatedAssignmentSet()
    • deleteRepeatedAssignmentSet()
    • editRepeatedAssignmentSet()
    • getRepeatedAssignmentSet()
    • listRepeatedAssignmentSets()
  • 角色
    • createRole()
    • deleteRole()
    • editRole()
    • getRole()
    • listRoles()

故障排除

在使用此库时遇到一些问题?需要缺少的功能?请毫不犹豫地打开一个问题并与我们分享。

如果某些操作缺失或无法正常工作,请按照以下步骤重新生成SDK

进一步文档

您可以使用以下方式查看当前和过去版本:

最后是一些元文档

许可证

此库采用MIT许可证授权 - 详细信息请参阅LICENSE文件。