OpenProject icon

OpenProject

Interact with OpenProject via API

Actions199

Overview

This node operation updates an existing Work Package in OpenProject, a project management system. It allows users to modify various attributes of a work package such as its subject, description, schedule dates, status flags, and progress metrics. This is useful for keeping project tasks up-to-date with the latest information, adjusting timelines, or changing task details as projects evolve.

Practical examples include:

  • Updating the subject or description of a task to reflect new requirements.
  • Changing start and due dates to reschedule work.
  • Marking progress by updating percentage done or spent time.
  • Locking a work package to prevent changes except for status updates.
  • Sending notifications to watchers and assignees about changes.

Properties

Name Meaning
Id The unique identifier of the work package to update.
Notify Boolean flag indicating whether change notifications should be sent to all interested users (watchers, author, assignee).
Lock Version Number used for optimistic locking to avoid conflicts when multiple updates occur simultaneously.
Subject The title or subject line of the work package.
Type The type of the work package; currently only "Work Package" is supported.
Description JSON object describing the work package details, supporting markdown format with raw and HTML content.
Schedule Manually Boolean indicating if scheduling is manual (true) or automatic (false).
Readonly Boolean indicating if the work package is readonly, allowing only status changes if true.
Start Date Scheduled start date of the work package (string date).
Due Date Scheduled end date of the work package (string date).
Date Date on which a milestone is achieved (string date).
Derived Start Date System-calculated start date based on descendants, may differ from Start Date if manual scheduling is active.
Derived Due Date System-calculated due date based on descendants, may differ from Due Date if manual scheduling is active.
Duration (Not implemented) Intended to represent the amount of time in hours needed to complete the work package. Not applicable for milestones.
Estimated Time Estimated time required to complete the work package excluding descendants.
Derived Estimated Time Estimated time including descendants.
Ignore Non Working Days (Not implemented) Whether to ignore non-working days when scheduling.
Spent Time Time already booked by users working on this work package. Requires permission to view time entries.
Percentage Done Numeric value representing the completion percentage of the work package.
Derived Percentage Done Completion percentage derived from the work package and its descendants.
Created At Timestamp of creation; writable only by admins with special permissions.
Updated At Timestamp of the most recent change to the work package.
Links JSON object containing various API links related to the work package, such as adding comments, relations, attachments, and other actions. Required property.

Output

The node outputs the updated work package data in JSON format. This includes all fields that were sent for update along with any additional metadata returned by the OpenProject API. The output reflects the current state of the work package after the update operation.

No binary data output is involved in this operation.

Dependencies

  • Requires an API key credential for authenticating with the OpenProject API.
  • The node expects the base URL of the OpenProject instance to be configured in the credentials.
  • The user must have appropriate permissions in OpenProject to update work packages and view related entities like time entries.

Troubleshooting

  • Conflict errors: If the lock version is outdated, the API may reject the update to prevent overwriting concurrent changes. Ensure you use the latest lock version.
  • Permission errors: Insufficient permissions can cause failures, especially when updating readonly fields or viewing time entries.
  • Invalid JSON: The description and links properties require valid JSON input. Malformed JSON will cause errors.
  • Notification issues: Setting the notify flag incorrectly might result in unwanted or missing notifications.
  • Unimplemented fields: Some fields like duration and ignoreNonWorkingDays are marked as not implemented and may be ignored by the API.

To resolve these, verify permissions, ensure correct and current lock versions, validate JSON inputs, and consult OpenProject API documentation for field support.

Links and References

Discussion