OpenProject icon

OpenProject

Consume OpenProject API

Overview

This node integrates with the OpenProject API to manage various resources such as projects, users, work packages, time entries, versions, types, statuses, priorities, and categories. Specifically, for the Time Entry resource with the Get All operation, it retrieves a list of time entries from OpenProject.

This operation is useful when you want to fetch multiple time entries in bulk, possibly filtered, sorted, or grouped according to your needs. For example, you might use this node to:

  • Retrieve all time entries logged within a certain period.
  • Filter time entries by status or user.
  • Sort time entries by creation date or hours spent.
  • Group time entries by activity or project.

Such functionality helps in reporting, auditing, or integrating time tracking data into other workflows.

Properties

Name Meaning
Limit Max number of results to return (minimum 1).
Offset Number of results to skip (minimum 0), useful for pagination.
Filter Filter results by specific fields using a simple field=value syntax (e.g., status=open).
Sort By Sort results by a field and direction, e.g., created_at:desc.
Select Fields Comma-separated list of fields to include in the response, e.g., id,name,status.
Group By Group results by a specific field, e.g., status.

These options allow fine-tuning the query to the OpenProject API to retrieve exactly the subset of time entries needed.

Output

The output is an array of JSON objects, each representing a time entry retrieved from OpenProject. The structure corresponds directly to the OpenProject API's time entry resource representation, including fields such as hours, activity, comments, spent date, and related links.

If binary data were involved (not applicable here), it would be summarized accordingly, but this node outputs only JSON data.

Example snippet of output JSON (simplified):

{
  "id": 123,
  "hours": "PT1H30M",
  "comment": "Worked on feature X",
  "spentOn": "2024-05-01",
  "_links": {
    "activity": {
      "href": "/api/v3/time_entries/activities/5"
    }
  }
}

Dependencies

  • Requires an API key credential for authenticating with the OpenProject API.
  • Needs the base URL of the OpenProject instance.
  • Uses HTTP Basic Authentication with the API key encoded in Base64.
  • Depends on the axios library for making HTTP requests.
  • Must be configured with appropriate permissions in OpenProject to read time entries.

Troubleshooting

  • Common issues:

    • Incorrect or missing API key will cause authentication failures.
    • Invalid filter or sort syntax may result in API errors.
    • Requesting too many records without pagination can lead to timeouts or large responses.
    • Using unsupported resource or operation combinations will throw errors.
  • Error messages:

    • "OpenProject error response: <message>" indicates an error returned by the OpenProject API, often due to invalid parameters or permissions.
    • "The resource '...' is not supported!" means the selected resource is not implemented.
    • "The method '...' is not supported!" means the HTTP method for the operation is not handled.
  • Resolutions:

    • Verify API credentials and permissions.
    • Check filter and sort syntax carefully.
    • Use pagination options (Limit and Offset) to control data volume.
    • Ensure the resource and operation are correctly selected.

Links and References

Discussion