aedart/athenaeum-redmine

Redmine API Client for Laravel

8.2.0 2024-04-07 20:02 UTC

README

A Laravel Redmine API Client, that has been designed to look and feel like an active record.

Example:

use Aedart\Redmine\Issue;
use Aedart\Redmine\Project;
use Aedart\Redmine\IssueCategory;
use Aedart\Contracts\Http\Clients\Requests\Builder;

// Create resources
$project = Project::create([
    'name' => 'Deus Ex',
    'identifier' => 'deus-ex'
]);

// Fetch list of resources, apply filters to http request...
$issues = Issue::fetchMultiple(function(Builder $request) {
    return $request->where('assigned_to_id', 'me');
});

// Change existing resources
$category = IssueCategory::findOrFail(1344);
$category->update([
    'name' => 'Business Goals'
]);

// ...or remove them
Issue::findOrFail(9874)
    ->delete();

Compatibility

Athenaeum Redmine Client Redmine version
From v5.19 >= v4.x*

*:This package might also work with newer versions of Redmine.

Limitations

This package offers "Resources" that cover most of Redmine's REST Api. Yet, if you have previously worked with Redmine's API, then you know that it can be somewhat inconsistent. Depending on the resource that you are working with, you might not be able to perform certain operations, because it's not supported by the API. You might therefore experience the following exception:

\Aedart\Contracts\Redmine\Exceptions\UnsupportedOperationException

Please consult yourself with Redmine's Api documentation, to review what operations the current API version supports.

Alternative

You might also be interested in alternative Redmine API Clients:

Documentation

Please read the official documentation for additional information.

Repository

The mono repository is located at github.com/aedart/athenaeum

Versioning

This package follows Semantic Versioning 2.0.0

License

BSD-3-Clause, Read the LICENSE file included in this package