feat: add integration for Plane with issue detail and card timers#308
Open
aleksandarbasara wants to merge 1 commit intoclockify:masterfrom
Open
feat: add integration for Plane with issue detail and card timers#308aleksandarbasara wants to merge 1 commit intoclockify:masterfrom
aleksandarbasara wants to merge 1 commit intoclockify:masterfrom
Conversation
aleksandarbasara
commented
Apr 17, 2026
- Introduced a new integration for Plane, allowing users to track time on issues directly from the Plane interface.
- Added selectors for issue detail containers and issue cards to render Clockify timers.
- Implemented functions to extract issue details, including title and key, from the Plane UI.
- Styled the Clockify widget for better alignment within the Plane interface.
- Introduced a new integration for Plane, allowing users to track time on issues directly from the Plane interface. - Added selectors for issue detail containers and issue cards to render Clockify timers. - Implemented functions to extract issue details, including title and key, from the Plane UI. - Styled the Clockify widget for better alignment within the Plane interface.
There was a problem hiding this comment.
Pull request overview
Adds a new Plane integration so Clockify timers can be rendered both in Plane issue detail views and on issue cards, enabling time tracking directly from the Plane UI.
Changes:
- Added
plane.jsintegration script that detects Plane issue context, extracts issue metadata (title/key/project), and renders timers in detail and card views. - Added Plane domain match patterns and script registration in
integrations.json. - Added Plane-specific widget styling via
applyStyles.
Reviewed changes
Copilot reviewed 2 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
src/integrations/plane.js |
Implements Plane DOM selectors + extraction logic, renders detail widget and card timers, and injects Plane-specific styles. |
src/integrations/integrations.json |
Registers the Plane integration (URLs + script). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+243
to
+254
| function isIssueContext() { | ||
| return ( | ||
| /\/issues\//.test(window.location.pathname) || | ||
| /\/browse\/[A-Z]+-\d+\/?$/i.test(window.location.pathname) || | ||
| !!$('[data-testid*="issue"]') || | ||
| !!$('textarea#title-input') || | ||
| !!$('[id^="issue-"]') || | ||
| !!$('button.text-caption-md-medium.text-tertiary') || | ||
| !!$('button.text-caption-sm-regular.text-tertiary') | ||
| ); | ||
| } | ||
|
|
Comment on lines
+158
to
+159
| const resolvedWorkspaceName = workspaceFromCard || workspaceName; | ||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.