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
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 | ❌ |
Go to the original YAML File or the generated json.
There are some limitations I found when using Custom Connectors that prevent the "correct" OpenAPI File from working.
- 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') - 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 |