feat(integrations): align linear parity

This commit is contained in:
2026-06-06 17:09:15 +08:00
parent 7b28f9227d
commit a6f97c8bbc
9 changed files with 739 additions and 112 deletions
+2 -1
View File
@@ -71,6 +71,7 @@ DELETE /api/v1/accounts/:account_id/inboxes/:inbox_id/web_widget
DELETE /api/v1/accounts/:account_id/inboxes/:inbox_id/web_widget/pre_chat_form
DELETE /api/v1/accounts/:account_id/inboxes/:inbox_id/web_widget/theme_config
DELETE /api/v1/accounts/:account_id/integrations/hooks/:id
DELETE /api/v1/accounts/:account_id/integrations/linear
DELETE /api/v1/accounts/:account_id/integrations/linear/
DELETE /api/v1/accounts/:account_id/integrations/notion/
DELETE /api/v1/accounts/:account_id/integrations/shopify/
@@ -936,4 +937,4 @@ PUT /public/api/v1/csat_survey/:id
PUT /public/api/v1/inboxes/:inbox_id/contacts/:contact_id
PUT /public/api/v1/inboxes/:inbox_id/contacts/:contact_id/conversations/:conversation_id/messages/:message_id
PUT /widget/direct_uploads/:upload_uuid
TOTAL: 938
TOTAL: 939
+9 -1
View File
@@ -7,7 +7,7 @@ Generated from:
This report covers tracked frontend-critical Chatwoot routes from `reference/chatwoot/config/routes.rb`, including API v1 account routes, Captain/Copilot, assignment policies, widget/public APIs, and API v2 reports. Ruby is not installed in the workspace, so Chatwoot routes are sourced from static route declarations instead of `bin/rails routes`.
Summary: 379 exact, 0 method-compatible, 13 parameter-compatible, 0 missing out of 392 tracked critical routes.
Summary: 387 exact, 0 method-compatible, 13 parameter-compatible, 0 missing out of 400 tracked critical routes.
## Missing Critical Routes
@@ -77,6 +77,7 @@ These routes exist with equivalent method and path shape but different parameter
| DELETE | `/api/v1/accounts/:account_id/inboxes/:inbox_id/assignment_policy/` | `/api/v1/accounts/:account_id/inboxes/:inbox_id/assignment_policy/` | `api/v1/accounts/inboxes/assignment_policy#destroy` | `routes.rb:311` | exact |
| DELETE | `/api/v1/accounts/:account_id/inboxes/:inbox_id/avatar` | `/api/v1/accounts/:account_id/inboxes/:inbox_id/avatar` | `api/v1/accounts/inboxes#avatar` | `routes.rb:257` | exact |
| DELETE | `/api/v1/accounts/:account_id/integrations/hooks/:id` | `/api/v1/accounts/:account_id/integrations/hooks/:id` | `api/v1/accounts/integrations/hooks#destroy` | `routes.rb:346` | exact |
| DELETE | `/api/v1/accounts/:account_id/integrations/linear` | `/api/v1/accounts/:account_id/integrations/linear` | `api/v1/accounts/integrations/linear#destroy` | `routes.rb:366` | exact |
| DELETE | `/api/v1/accounts/:account_id/integrations/slack` | `/api/v1/accounts/:account_id/integrations/slack` | `api/v1/accounts/integrations/slack#destroy` | `routes.rb:350` | exact |
| DELETE | `/api/v1/accounts/:account_id/labels/:tag_id` | `/api/v1/accounts/:account_id/labels/:tag_id` | `api/v1/accounts/labels#destroy` | `routes.rb:281` | exact |
| DELETE | `/api/v1/accounts/:account_id/macros/:macro_id` | `/api/v1/accounts/:account_id/macros/:macro_id` | `api/v1/accounts/macros#destroy` | `routes.rb:118` | exact |
@@ -174,6 +175,10 @@ These routes exist with equivalent method and path shape but different parameter
| GET | `/api/v1/accounts/:account_id/integrations/apps` | `/api/v1/accounts/:account_id/integrations/apps` | `api/v1/accounts/integrations/apps#index` | `routes.rb:345` | exact |
| GET | `/api/v1/accounts/:account_id/integrations/apps/:id` | `/api/v1/accounts/:account_id/integrations/apps/:id` | `api/v1/accounts/integrations/apps#show` | `routes.rb:345` | exact |
| GET | `/api/v1/accounts/:account_id/integrations/hooks/:id` | `/api/v1/accounts/:account_id/integrations/hooks/:id` | `api/v1/accounts/integrations/hooks#show` | `routes.rb:346` | exact |
| GET | `/api/v1/accounts/:account_id/integrations/linear/linked_issues` | `/api/v1/accounts/:account_id/integrations/linear/linked_issues` | `api/v1/accounts/integrations/linear#linked_issues` | `routes.rb:373` | exact |
| GET | `/api/v1/accounts/:account_id/integrations/linear/search_issue` | `/api/v1/accounts/:account_id/integrations/linear/search_issue` | `api/v1/accounts/integrations/linear#search_issue` | `routes.rb:372` | exact |
| GET | `/api/v1/accounts/:account_id/integrations/linear/team_entities` | `/api/v1/accounts/:account_id/integrations/linear/team_entities` | `api/v1/accounts/integrations/linear#team_entities` | `routes.rb:368` | exact |
| GET | `/api/v1/accounts/:account_id/integrations/linear/teams` | `/api/v1/accounts/:account_id/integrations/linear/teams` | `api/v1/accounts/integrations/linear#teams` | `routes.rb:367` | exact |
| GET | `/api/v1/accounts/:account_id/integrations/slack/list_all_channels` | `/api/v1/accounts/:account_id/integrations/slack/list_all_channels` | `api/v1/accounts/integrations/slack#list_all_channels` | `routes.rb:352` | exact |
| GET | `/api/v1/accounts/:account_id/labels/` | `/api/v1/accounts/:account_id/labels/` | `api/v1/accounts/labels#index` | `routes.rb:281` | exact |
| GET | `/api/v1/accounts/:account_id/labels/:tag_id` | `/api/v1/accounts/:account_id/labels/:tag_id` | `api/v1/accounts/labels#show` | `routes.rb:281` | exact |
@@ -341,6 +346,9 @@ These routes exist with equivalent method and path shape but different parameter
| POST | `/api/v1/accounts/:account_id/integrations/dyte/create_a_meeting` | `/api/v1/accounts/:account_id/integrations/dyte/create_a_meeting` | `api/v1/accounts/integrations/dyte#create_a_meeting` | `routes.rb:357` | exact |
| POST | `/api/v1/accounts/:account_id/integrations/hooks` | `/api/v1/accounts/:account_id/integrations/hooks` | `api/v1/accounts/integrations/hooks#create` | `routes.rb:346` | exact |
| POST | `/api/v1/accounts/:account_id/integrations/hooks/:id/process_event` | `/api/v1/accounts/:account_id/integrations/hooks/:id/process_event` | `api/v1/accounts/integrations/hooks#process_event` | `routes.rb:348` | exact |
| POST | `/api/v1/accounts/:account_id/integrations/linear/create_issue` | `/api/v1/accounts/:account_id/integrations/linear/create_issue` | `api/v1/accounts/integrations/linear#create_issue` | `routes.rb:369` | exact |
| POST | `/api/v1/accounts/:account_id/integrations/linear/link_issue` | `/api/v1/accounts/:account_id/integrations/linear/link_issue` | `api/v1/accounts/integrations/linear#link_issue` | `routes.rb:370` | exact |
| POST | `/api/v1/accounts/:account_id/integrations/linear/unlink_issue` | `/api/v1/accounts/:account_id/integrations/linear/unlink_issue` | `api/v1/accounts/integrations/linear#unlink_issue` | `routes.rb:371` | exact |
| POST | `/api/v1/accounts/:account_id/integrations/slack` | `/api/v1/accounts/:account_id/integrations/slack` | `api/v1/accounts/integrations/slack#create` | `routes.rb:350` | exact |
| POST | `/api/v1/accounts/:account_id/labels/` | `/api/v1/accounts/:account_id/labels/` | `api/v1/accounts/labels#create` | `routes.rb:281` | exact |
| POST | `/api/v1/accounts/:account_id/macros/` | `/api/v1/accounts/:account_id/macros/` | `api/v1/accounts/macros#create` | `routes.rb:118` | exact |