Skip to content

OpenAPI Specification for the Redmine API and import ready version for use as Microsoft Custom Connector

License

Notifications You must be signed in to change notification settings

Lerrrtaste/redmine-openapi-specification

Repository files navigation


Markdownify
Redmine OpenAPI v2.0 Specification

OpenAPI (Swagger) Specification for the Redmine Rest API

Download

View in Swagger UI

Redmine API Documentation

Implementation Progress

How To: Use as Custom Connector on Microsoft Power Platform

Implementation Progress

Resource

Implemented



Stable:
Issues (1.0) ✔️
Projects (1.0) ✔️
(except delete and create)
Users
Time Entries (1.1) ✔️


Alpha and below:
Issue Statuses (1.3) ✔️
Trackers (1.3) ✔️
Project Memberships
News
Issue Relations
Versions
Wiki Pages
Queries
Attachments
Enumerations ✔️
Issue Categories
Roles
Groups
Custom Fields
Search
Files

Download

Go to the original YAML File or the generated json.

Custom Connector on MS Power Platform

There are some limitations I found when using Custom Connectors that prevent the "correct" OpenAPI File from working.

  1. It does not support Parameter definition at the Path scope.
    -> That is no big problem, I just reference every repeating Parameter Object from the Parameters Definitions Object at every Operation. (For example the IssueID Path Parameter: $ref: '#/parameters/idParam')

  2. Redmine requires the following Body Scheme for Updating/Creating Resources: { "issue": { "project_id": 1, "subject": "Example", "priority_id": 4, ... } } While some Parameters are required, most are optional. In the Custom Connector Editor's Test Tab this works fine, but when using it in an actual formula in Power Apps, it will throw an error if you don't set every single possible parameter of the JSON Object. But only for nested Objects, optional top level Parameters work as expected. That means it is only possible to update every attribute of an Issue, and initally empty ones now need to have some value.

To get around this I collect everything as top level attribute and format it in Redmine's required format via Policies. But those cannot be shared in the file so you have to add them yourself:
- First import the the customconnector.json file as usual
- Then add a Policy for every Resource you want to Create/Update later using these Input Parameters:

Input Parameter Value
Template Set Property
Operations Update/Create operation IDs of the Resource
e.g. IssueCreate, IssueUpdate
Parent Path @body()
Relative Path Name of the required top level JSON key
e.g. issue or time_entry
Value to add {@body()}
Run on Request

About

OpenAPI Specification for the Redmine API and import ready version for use as Microsoft Custom Connector

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published