feat(wizard): add Linear as PM provider option in dashboard wizard#1107
Merged
feat(wizard): add Linear as PM provider option in dashboard wizard#1107
Conversation
nhopeatall
approved these changes
Apr 14, 2026
Collaborator
nhopeatall
left a comment
There was a problem hiding this comment.
Summary
LGTM — Clean, pattern-consistent addition of Linear as a PM provider in the wizard. All five modified files follow the exact same conventions established by Trello and JIRA, CI is green, and backend endpoints are properly defined.
Notes
- Minor: duplicated callbackBaseUrl computation (pm-wizard-hooks.ts:419) —
useLinearWebhookInfore-derivescallbackBaseUrlusing the sameAPI_URL || window.location.origin.replace(...)logic already inuseWebhookManagement(line 373). Not a defect, but could be extracted into a shared helper (e.g.getCallbackBaseUrl()) if this pattern grows — especially since adding a fourth provider would create a third copy. - Test coverage gap — The existing
pm-wizard-state.test.tsdoes not exercise any of the new Linear state paths (SET_LINEAR_API_KEY,SET_LINEAR_TEAM_ID,isStep2Completefor linear,isStep3Completefor linear,isStep4Completefor linear,buildEditStatefor linear,areCredentialsReadyfor linear). Since these all follow the identical patterns as Trello/JIRA and CI passes, this is not blocking, but adding Linear test cases would strengthen the test suite.
🕵️ claude-code · claude-opus-4-6 · run details
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.
Summary
Changes
New file
web/src/components/projects/pm-wizard-linear-steps.tsx— Three Linear step components:LinearCredentialsStep: Single API key input with link to Linear settingsLinearTeamStep: Team selector dropdown usingSearchableSelectLinearFieldMappingStep: Status mapping dropdowns + label name inputsModified files
pm-wizard-state.ts: ExtendedProvidertype to include'linear', added Linear state fields (linearApiKey,linearTeamId,linearTeams,linearTeamDetails,linearStatusMappings,linearLabels), new reducer actions (SET_LINEAR_API_KEY,SET_LINEAR_TEAMS,SET_LINEAR_TEAM_ID,SET_LINEAR_TEAM_DETAILS,SET_LINEAR_STATUS_MAPPING,SET_LINEAR_LABEL), updatedbuildEditState()for linear, updated all step-completion helperspm-wizard-hooks.ts: AddeduseLinearDiscoveryhook (teams + team details mutation, auto-fetch effects), updateduseVerificationfor linear branch (callsverifyLinearendpoint), updateduseSaveMutationto persistLINEAR_API_KEYcredential and linear config (teamId,statuses,labels), addeduseLinearWebhookInfohelperpm-wizard-common-steps.tsx: AddedLinearWebhookInfoPanelcomponent (display-only with URL + manual setup instructions), updatedWebhookStepto detectprovider === 'linear'and render the info panel instead of create/delete buttonspm-wizard.tsx: AddedLinearprovider button, imports for all new hooks/components, renders Linear-specific steps conditionally in steps 2–4, passeslinearWebhookUrltoWebhookStepTesting
Notes
useLinearDiscoveryhook follows the same edit-mode auto-fetch pattern asuseTrelloDiscoveryanduseJiraDiscoveryproject_integrationswithprovider: 'linear',config: { teamId, statuses, labels }andproject_credentialswithLINEAR_API_KEYTrello card: https://trello.com/c/QFAXmhfZ/603-as-an-admin-i-want-linear-as-a-pm-provider-option-in-the-dashboard-wizard-so-that-i-can-configure-linear-projects
🤖 Generated with Claude Code
🕵️ claude-code · claude-sonnet-4-6 · run details