Add "Open with Coder" button (or generic custom IDE button) to Code dropdown
Problem to solve
GitLab currently supports an "Open in Gitpod" (now Ona) button in the Code dropdown on repository pages and merge requests. There is no equivalent for Coder, another popular self-hosted remote development platform, or for other third-party IDEs.
Teams using Coder want a one-click way to open a GitLab repository in a Coder workspace directly from the GitLab UI, in the same way Gitpod/Ona is supported today.
An example Coder workspace URL looks like:
https://coder.example.com/templates/devex/default/workspace?mode=manual¶m.git_clone=https%3A%2F%2Fgitlab.example.com%2Forg%2Frepo.gitThe key parameter is param.git_clone, which accepts the repository clone URL.
Proposal
There are two approaches — the preferred approach is a product decision:
Option A: Coder-specific integration (like Gitpod)
Add a dedicated Coder integration, similar to the existing Gitpod/Ona integration:
- A new admin setting (e.g. Admin > Settings > Integrations > Coder) to configure the Coder instance URL
- When enabled, an "Open in Coder" button appears in the Code dropdown on repository pages and merge requests, alongside the existing Gitpod/Ona button
- The button constructs the Coder workspace URL using the configured base URL and the current repository's clone URL
Option B: Generic configurable custom IDE button
Add a more flexible admin setting that allows any external IDE or remote development tool to be configured:
- Admin configures a button label (e.g. "Open in Coder") and a URL template with placeholders such as
{repo_url},{branch},{commit} - Example template:
https://coder.example.com/templates/devex/default/workspace?mode=manual¶m.git_clone={repo_url} - When configured, the button appears in the Code dropdown in the same location as the Gitpod/Ona button
- This approach would also support other tools (JetBrains, Eclipse Che, etc.) without requiring separate integrations
Intended users
- Sasha (Software Developer) — wants a one-click way to open a repo in their team's Coder environment
- Priyanka (Platform Engineer) — configures the integration at the admin level for their organisation
Affected components
Based on the existing Gitpod/Ona implementation, the following files would likely need changes:
app/assets/javascripts/vue_shared/components/web_ide_link.vueapp/views/projects/merge_requests/_code_dropdown.html.hamlapp/helpers/preferences_helper.rbapp/models/application_setting_implementation.rbapp/views/admin/application_settings/_gitpod.html.haml(or a new partial)locale/gitlab.pot
References
- Migrate Gitpod Integration to Ona Platform (#567831) — existing Gitpod/Ona button implementation
- Coder documentation