Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>OpenProject ManagementNew to Visual Studio Code? Get it now.
OpenProject Management

OpenProject Management

Ivan w1ldy0uth Shurygin

|
2 installs
| (0) | Free
Browse and manage OpenProject work packages from VS Code
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

OpenProject Management

Browse and manage OpenProject work packages without leaving VS Code.

Features

  • Projects in the sidebar with their work packages inside, subprojects nested under their parents, and a count per project
  • Parent/child work packages nested too; a work package whose parent isn't in the current filter still appears, at the top level
  • A details panel with description, comments, time breakdown, dates and inline actions
  • Log time against a work package without leaving the editor
  • Apply the saved queries your team already built in the OpenProject web UI
  • Optionally group work packages by status within each project (flat, since parents and children usually hold different statuses)
  • Filter from the view toolbar by scope, status, type, project, or full-text search — the active filter shows next to the view title
  • Change status — only transitions the workflow actually permits are offered
  • Write and edit comments in the panel — multi-line markdown, not a one-line popup
  • Open a work package in the browser

Setup

  1. In OpenProject: My account → Access tokens → API → generate.
  2. In VS Code: run OpenProject Management: Set Up Connection from the command palette.
  3. Enter your instance URL (e.g. https://myorg.openproject.com) and paste the token.

The token is stored in the OS keychain via VS Code's SecretStorage, not in settings.json.

Filtering

Click the funnel icon in the view toolbar (or run OpenProject Management: Filter…) to reach every dimension in one menu:

Dimension Notes
Scope assigned to me, open, or all
Status Multi-select. Overrides the scope's open/closed condition
Type Multi-select — Task, Bug, Milestone, …
Project Scoping to a project includes its subprojects
Sprint Requires the Backlogs module
Search Full text across subject, description and comments

The active filter appears next to the view title, and a Clear Filters button shows in the toolbar whenever anything is narrowed. Filters are stored as settings, so they persist and can equally be edited in the Settings editor.

Picking a closed status while the scope is open does what you'd expect: the explicit status wins rather than cancelling out to zero results.

Time tracking

Right-click a work package → Log Time, or press Log time in the details panel. Either way you get one form with date, hours, activity and comment all visible at once — Enter submits, Escape closes.

Hours accept 2, 1.5, 90m or 1h30m. Activities come from the server, so only the ones your instance actually offers are listed, and the date defaults to today.

The details panel separates Spent (which OpenProject rolls up from sub-items) from Logged here (entries against that work package alone), so a summary task doesn't look like it recorded time it never did.

Comments

Comments are written in the details panel, not a popup, so they can be multi-line markdown. Ctrl/Cmd + Enter posts.

Existing comments show an edit link when the server says you may change them — the extension reads that from the API's update link rather than guessing from authorship.

Comments cannot be deleted: OpenProject's API advertises no delete for them, and DELETE on an activity returns 404 while leaving it in place. Editing is the only revision available.

Saved queries

Apply Saved Query… in the toolbar lists the views your team defined in the web UI and applies one as filters.

Not every saved query can be re-issued: board queries using manual ordering and subproject-scoped queries use filters the work-packages endpoint rejects. Those report a clear message instead of failing silently.

Settings

Setting Description
openprojectManagement.baseUrl Instance URL, without /api/v3
openprojectManagement.projectId Optional project identifier to scope to
openprojectManagement.filter assignedToMe, open, or all
openprojectManagement.statuses Status ids to show; empty defers to the scope
openprojectManagement.types Type ids to show; empty means all
openprojectManagement.search Full-text search string
openprojectManagement.sprint Sprint id; empty means any
openprojectManagement.groupBy none (tasks directly under the project) or status
openprojectManagement.pageSize Max work packages fetched in total (default 200, max 1000)

A project labelled 12/39 means pageSize truncated the list — raise it to see the rest.

Development

npm install
npm run watch

Then press F5 to launch the Extension Development Host.

See GUIDE.md for a walkthrough of both the VS Code extension model and the OpenProject API v3.

Requirements

  • An OpenProject instance (self-hosted or cloud) reachable from your machine
  • An API token from My account → Access tokens → API
  • VS Code 1.96 or newer

Sprint filtering additionally requires the Backlogs module to be enabled.

Troubleshooting

"Unauthorized" — the token is wrong or was revoked. Run Clear Stored API Key, then Set Up Connection again.

A project shows 12/39 — pageSize truncated the list. Raise openprojectManagement.pageSize (the API caps it at 1000).

A saved query won't apply — board queries using manual ordering and subproject-scoped queries rely on filters the work-packages endpoint rejects. Those cannot be re-issued.

No sprints listed — the Backlogs module is disabled on your instance.

To check the API against your own instance directly, run node scripts/verify-api.mjs. It reads the token from $OP_API_KEY or ~/.openproject-api-key and never prints it.

Icon

The activity bar icon and extension icon use the OpenProject mark, taken from icon_logo.svg in the OpenProject repository (GPLv3). The geometry is unmodified; only Inkscape metadata was stripped and the fill set to currentColor so VS Code can theme it.

This is an unofficial, third-party extension and is not affiliated with or endorsed by the OpenProject Foundation. Note that a project's trademarks are generally not covered by its source licence — if you publish this to the Marketplace, it is worth checking OpenProject's brand guidelines first.

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft