From 8b190f3aee67cadaf93fa68be602f9010c278a01 Mon Sep 17 00:00:00 2001 From: Kateryna Petrychenko Date: Mon, 2 Nov 2026 22:32:32 +0200 Subject: [PATCH] added cross-links to the kb --- astro.config.mjs | 2 + src/components/Links.astro | 4 + src/components/MarkdownContent.astro | 105 ++++++++++++++++++ .../global-analytics/analytics-dashboards.md | 3 +- .../integrations/issues-management/linear.md | 2 + .../docs/project/tests/bulk-test-selection.md | 1 + .../tests/classical-test-case-editor.md | 1 + .../project/tests/copying-tests-and-suites.md | 1 + .../docs/project/tests/create-a-test.md | 1 + .../docs/project/tests/dynamic-parameters.md | 1 + .../project/tests/restoring-deleted-tests.md | 2 + .../project/tests/sharing-tests-and-suites.md | 1 + .../docs/project/tests/suites-and-folders.md | 3 +- .../tests/tags-labels-and-assignees.md | 1 + .../tests/test-steps-and-expected-results.md | 1 + .../docs/project/tests/undetaching-tests.md | 1 + .../docs/tutorials/Interacting-via-API.md | 4 +- .../tutorials/connect-chatgpt-to-testomat.md | 1 + .../tutorials/connect-claude-to-testomat.md | 2 + src/content/docs/tutorials/mcp-connection.md | 4 +- src/content/docs/tutorials/playwright.md | 4 +- 21 files changed, 140 insertions(+), 5 deletions(-) create mode 100644 src/components/MarkdownContent.astro diff --git a/astro.config.mjs b/astro.config.mjs index 873fbef4..41b47b5b 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -80,6 +80,7 @@ export default defineConfig({ Search: './src/components/Search.astro', PageTitle: './src/components/PageTitle.astro', ThemeSelect: './src/components/ThemeSelect.astro', + MarkdownContent: './src/components/MarkdownContent.astro', }, sidebar: (docsSidebar = [ @@ -556,6 +557,7 @@ export default defineConfig({ collapsed: false, items: [ { label: 'Contact Us', link: '/support'}, + { label: 'Knowledge Base', link: 'https://knowledge.testomat.io', attrs: { target: '_blank' } }, ], }, ]), diff --git a/src/components/Links.astro b/src/components/Links.astro index 7a827965..e69f800b 100644 --- a/src/components/Links.astro +++ b/src/components/Links.astro @@ -8,6 +8,10 @@ const links = [ link: 'https://changelog.testomat.io', data: 'Changelog' }, + { + link: 'https://knowledge.testomat.io', + data: 'Knowledge Base' + }, { link: 'https://testomat.io/blog/', data: 'Blog' diff --git a/src/components/MarkdownContent.astro b/src/components/MarkdownContent.astro new file mode 100644 index 00000000..38ff9a0c --- /dev/null +++ b/src/components/MarkdownContent.astro @@ -0,0 +1,105 @@ +--- +import Default from '@astrojs/starlight/components/MarkdownContent.astro'; + +const KB = 'https://knowledge.testomat.io'; + +// First matching prefix wins, so keep the specific paths above the general ones +const categories = [ + ['getting-started', 'getting-started', 'getting started'], + ['project/runs', 'test-runs', 'test runs'], + ['project/analytics', 'reporting-analytics', 'reporting and analytics'], + ['advanced/global-analytics', 'reporting-analytics', 'reporting and analytics'], + ['advanced/api-access', 'api', 'the API'], + ['tutorials/interacting-via-api', 'api', 'the API'], + ['advanced/ai-powered-features', 'ai', 'AI features'], + ['tutorials/using-ai-in-testing', 'ai', 'AI features'], + ['tutorials/mcp-connection', 'ai', 'AI features'], + ['tutorials/connect-', 'ai', 'AI features'], + ['tutorials/working-with-jira', 'integrations', 'integrations'], + ['tutorials/manual-testing', 'test-management', 'test management'], + ['tutorials/working-with-plans', 'test-management', 'test management'], + ['tutorials/migration-from', 'test-management', 'test management'], + ['tutorials/set-up-read-only-access', 'account-access', 'account access'], + ['tutorials', 'automation', 'test automation'], + ['test-reporting', 'automation', 'test automation'], + ['integrations', 'integrations', 'integrations'], + ['management/company/plan-features-comparison', 'billing', 'billing'], + ['management/company/subscriptions', 'billing', 'billing'], + ['management/company/trials', 'billing', 'billing'], + ['management', 'account-access', 'account access'], + ['project', 'test-management', 'test management'], + ['advanced', 'test-management', 'test management'], +]; + +const id = Astro.locals.starlightRoute.id.toLowerCase(); +const match = categories.find(([prefix]) => id.startsWith(prefix)); +const [, slug, topic] = match ?? []; +--- + + + +{ + match && ( + + ) +} + + diff --git a/src/content/docs/advanced/global-analytics/analytics-dashboards.md b/src/content/docs/advanced/global-analytics/analytics-dashboards.md index a924e8ae..1efaf262 100644 --- a/src/content/docs/advanced/global-analytics/analytics-dashboards.md +++ b/src/content/docs/advanced/global-analytics/analytics-dashboards.md @@ -183,4 +183,5 @@ To ensure rapid loading times across large datasets, widget results are cached a - [Milestones](https://docs.testomat.io/advanced/milestones) - group tests, plans, and runs into a milestone. - [Project Analytics](https://docs.testomat.io/project/analytics) - drill into a single project when a company-wide view is not enough. - [Tags or Labels](https://docs.testomat.io/advanced/tags-labels/tags-or-labels) - tag and label your tests. -- [Users Roles & Access](https://docs.testomat.io/management/company/users-and-permissions) - check who can create and edit dashboards in your company. \ No newline at end of file +- [Users Roles & Access](https://docs.testomat.io/management/company/users-and-permissions) - check who can create and edit dashboards in your company. +- [Why does my dashboard query throw an error?](https://knowledge.testomat.io/reporting-analytics/custom-dashboard-creation-error-query/) - fix a widget query that fails. \ No newline at end of file diff --git a/src/content/docs/integrations/issues-management/linear.md b/src/content/docs/integrations/issues-management/linear.md index b7cee444..f256961f 100644 --- a/src/content/docs/integrations/issues-management/linear.md +++ b/src/content/docs/integrations/issues-management/linear.md @@ -115,3 +115,5 @@ Linear requirements refresh **once a day**. To pull the latest version right awa - [Issues Management Systems](https://docs.testomat.io/integrations/issues-management) - [AI-Requirements](https://docs.testomat.io/advanced/ai-powered-features/ai-requirements) - [Defects](https://docs.testomat.io/project/defects) +- [How do I activate the Linear integration?](https://knowledge.testomat.io/integrations/activate-linear-integration/) +- [Why does Linear integration say ‘team not found’?](https://knowledge.testomat.io/integrations/linear-integration-team-not-found/) diff --git a/src/content/docs/project/tests/bulk-test-selection.md b/src/content/docs/project/tests/bulk-test-selection.md index 2e9dbedd..e80d32b6 100644 --- a/src/content/docs/project/tests/bulk-test-selection.md +++ b/src/content/docs/project/tests/bulk-test-selection.md @@ -57,4 +57,5 @@ Choose the action you need and follow the prompts that appear. - [Test Priority](https://docs.testomat.io/project/tests/test-priority) - [Tags, Labels, and Assignees](https://docs.testomat.io/project/tests/tags-labels-and-assignees) - [Move Tests](https://docs.testomat.io/project/tests/move-tests) +- [Why do bulk-edit options differ between test cases?](https://knowledge.testomat.io/test-management/bulk-editing-options-automated-test-suites/) diff --git a/src/content/docs/project/tests/classical-test-case-editor.md b/src/content/docs/project/tests/classical-test-case-editor.md index 22e2194f..965cd160 100644 --- a/src/content/docs/project/tests/classical-test-case-editor.md +++ b/src/content/docs/project/tests/classical-test-case-editor.md @@ -300,3 +300,4 @@ In a Classical project, use the ID without `#`. - [BDD Test Case Editor](https://docs.testomat.io/project/tests/bdd-test-case-editor) - [Classical vs BDD](https://docs.testomat.io/project/tests/classical-vs-bdd) +- [Why do `---` dividers cause odd formatting in test cases?](https://knowledge.testomat.io/troubleshooting/dividers-cause-odd-formatting/) diff --git a/src/content/docs/project/tests/copying-tests-and-suites.md b/src/content/docs/project/tests/copying-tests-and-suites.md index 4f7dbabf..47f2bf44 100644 --- a/src/content/docs/project/tests/copying-tests-and-suites.md +++ b/src/content/docs/project/tests/copying-tests-and-suites.md @@ -124,3 +124,4 @@ Testomat.io remembers your duplicate settings and uses the same selections the n - [Suites and Folders](https://docs.testomat.io/project/tests/suites-and-folders) - [Tags, Labels, and Assignees](https://docs.testomat.io/project/tests/tags-labels-and-assignees) - [Bulk Edit](https://docs.testomat.io/advanced/bulk-edit-folder) +- [Can I remove the ‘Shared’ icon from copied test cases?](https://knowledge.testomat.io/test-management/remove-shared-icon-copied-test-cases/) diff --git a/src/content/docs/project/tests/create-a-test.md b/src/content/docs/project/tests/create-a-test.md index e646823a..8a274394 100644 --- a/src/content/docs/project/tests/create-a-test.md +++ b/src/content/docs/project/tests/create-a-test.md @@ -96,3 +96,4 @@ All four save options save your changes. Choose one based on what you want to do - [Classical Test Case Editor](https://docs.testomat.io/project/tests/classical-test-case-editor) - [Steps Database](https://docs.testomat.io/project/steps-snippets/steps) - [Tags](https://docs.testomat.io/advanced/tags-labels/tags) +- [How should I organize automated and manual tests in Testomat?](https://knowledge.testomat.io/test-management/organize-automated-manual-tests-testomat/) diff --git a/src/content/docs/project/tests/dynamic-parameters.md b/src/content/docs/project/tests/dynamic-parameters.md index 9681d045..6ee8caf2 100644 --- a/src/content/docs/project/tests/dynamic-parameters.md +++ b/src/content/docs/project/tests/dynamic-parameters.md @@ -123,4 +123,5 @@ Using `${}` everywhere keeps the syntax consistent. - [Test Steps and Expected Results](https://docs.testomat.io/project/tests/test-steps-and-expected-results) - [Edit Test Steps](https://docs.testomat.io/project/tests/edit-test-steps) - [Tags, Labels, and Assignees](https://docs.testomat.io/project/tests/tags-labels-and-assignees) +- [Can I add parameterised variables in a test?](https://knowledge.testomat.io/test-management/add-parameterised-variables-in-test/) diff --git a/src/content/docs/project/tests/restoring-deleted-tests.md b/src/content/docs/project/tests/restoring-deleted-tests.md index 3c07c56b..f46bc1bd 100644 --- a/src/content/docs/project/tests/restoring-deleted-tests.md +++ b/src/content/docs/project/tests/restoring-deleted-tests.md @@ -51,4 +51,6 @@ Attachments have a separate retention period and are restored from the **Attachm - [Move Tests](https://docs.testomat.io/project/tests/move-tests) - [Test Attachments](https://docs.testomat.io/project/tests/test-attachments) +- [How do I retrieve deleted tests in Pulse?](https://knowledge.testomat.io/troubleshooting/retrieve-deleted-tests-in-pulse/) +- [How to retrieve lost test data from empty folders?](https://knowledge.testomat.io/test-management/retrieve-lost-test-data-from-empty-folders/) diff --git a/src/content/docs/project/tests/sharing-tests-and-suites.md b/src/content/docs/project/tests/sharing-tests-and-suites.md index 6a905cde..77f23a90 100644 --- a/src/content/docs/project/tests/sharing-tests-and-suites.md +++ b/src/content/docs/project/tests/sharing-tests-and-suites.md @@ -174,4 +174,5 @@ After unlinking: - [Test URL and ID](https://docs.testomat.io/project/tests/test-url-and-id) - [Suites and Folders](https://docs.testomat.io/project/tests/suites-and-folders) +- [How can I share my test repo with a project leader who is not registered?](https://knowledge.testomat.io/account-access/share-test-repo-with-unregistered-project-leader/) \ No newline at end of file diff --git a/src/content/docs/project/tests/suites-and-folders.md b/src/content/docs/project/tests/suites-and-folders.md index 737e4275..90704f17 100644 --- a/src/content/docs/project/tests/suites-and-folders.md +++ b/src/content/docs/project/tests/suites-and-folders.md @@ -101,4 +101,5 @@ You can now add other suites to the folder. - [Create a Test](https://docs.testomat.io/project/tests/create-a-test) - [Copying Tests and Suites](https://docs.testomat.io/project/tests/copying-tests-and-suites) -- [Sharing Tests and Suites](https://docs.testomat.io/project/tests/sharing-tests-and-suites) \ No newline at end of file +- [Sharing Tests and Suites](https://docs.testomat.io/project/tests/sharing-tests-and-suites) +- [How should I organize automated and manual tests in Testomat?](https://knowledge.testomat.io/test-management/organize-automated-manual-tests-testomat/) \ No newline at end of file diff --git a/src/content/docs/project/tests/tags-labels-and-assignees.md b/src/content/docs/project/tests/tags-labels-and-assignees.md index 1666aff3..dcca42f0 100644 --- a/src/content/docs/project/tests/tags-labels-and-assignees.md +++ b/src/content/docs/project/tests/tags-labels-and-assignees.md @@ -94,4 +94,5 @@ Assigning a test in a run does not change its test assignment. - [Create a Test](https://docs.testomat.io/project/tests/create-a-test) - [Test Attachments](https://docs.testomat.io/project/tests/test-attachments) - [Tags](https://docs.testomat.io/advanced/tags-labels/tags/) +- [Can you parse pytest marks as tags in Testomat.io?](https://knowledge.testomat.io/test-management/parse-pytest-marks-as-tags/) \ No newline at end of file diff --git a/src/content/docs/project/tests/test-steps-and-expected-results.md b/src/content/docs/project/tests/test-steps-and-expected-results.md index 837ea513..c76ff9d2 100644 --- a/src/content/docs/project/tests/test-steps-and-expected-results.md +++ b/src/content/docs/project/tests/test-steps-and-expected-results.md @@ -156,4 +156,5 @@ The **Edit steps** control on the test preview page converts your steps to its o - [Classical Test Case Editor](https://docs.testomat.io/project/tests/classical-test-case-editor) - [Steps Database](https://docs.testomat.io/project/steps-snippets/steps) - [Keyboard Shortcuts](https://docs.testomat.io/advanced/shortcuts) +- [Can I customize the result fields for each test case?](https://knowledge.testomat.io/test-management/customize-test-result-fields/) \ No newline at end of file diff --git a/src/content/docs/project/tests/undetaching-tests.md b/src/content/docs/project/tests/undetaching-tests.md index 5858e7ce..ed44d815 100644 --- a/src/content/docs/project/tests/undetaching-tests.md +++ b/src/content/docs/project/tests/undetaching-tests.md @@ -79,4 +79,5 @@ If the test no longer has automation code, undetaching it changes the test to ** - [Test Tree Display](https://docs.testomat.io/project/tests/test-tree-display) - [Restoring Deleted Tests](https://docs.testomat.io/project/tests/restoring-deleted-tests) - [Import Tests From Source Code](https://docs.testomat.io/project/import-export/import/import-tests-from-source-code) +- [How to scope detachment to specific directories with the –partial flag?](https://knowledge.testomat.io/automation/scope-detachment-specific-directories-partial-flag/) \ No newline at end of file diff --git a/src/content/docs/tutorials/Interacting-via-API.md b/src/content/docs/tutorials/Interacting-via-API.md index 84ab316a..92974a3d 100644 --- a/src/content/docs/tutorials/Interacting-via-API.md +++ b/src/content/docs/tutorials/Interacting-via-API.md @@ -156,4 +156,6 @@ npx -y @testomatio/mcp@latest --token --project * See every endpoint, parameter, and schema in the [API Reference](https://docs.testomat.io/advanced/api-access/#api-reference). * Reporting from a test framework instead of raw requests? See the [Testomat.io Reporter](https://docs.testomat.io/test-reporting/reporter/#_top). -* Want to filter results precisely? Learn the query language in [TQL](https://docs.testomat.io/advanced/tql/#_top). \ No newline at end of file +* Want to filter results precisely? Learn the query language in [TQL](https://docs.testomat.io/advanced/tql/#_top). +* Not sure where to find your credentials? See [How do I get the project ID and API token?](https://knowledge.testomat.io/api/get-project-id-api-token/) +* Need to add tests to a specific folder? See [How do I push test cases to a folder via API?](https://knowledge.testomat.io/api/push-test-cases-to-folder-via-api/) \ No newline at end of file diff --git a/src/content/docs/tutorials/connect-chatgpt-to-testomat.md b/src/content/docs/tutorials/connect-chatgpt-to-testomat.md index 3e35179b..8575a3e7 100644 --- a/src/content/docs/tutorials/connect-chatgpt-to-testomat.md +++ b/src/content/docs/tutorials/connect-chatgpt-to-testomat.md @@ -94,3 +94,4 @@ ChatGPT can read and change the same things you can, so anything it writes appea - [MCP - Connect Claude](https://docs.testomat.io/tutorials/connect-claude-to-testomat) - [MCP - Connect with a Config File](https://docs.testomat.io/tutorials/mcp-connection) - [AI-Powered Features](https://docs.testomat.io/advanced/ai-powered-features) +- [Why can’t I connect to the Testomat.io MCP Server?](https://knowledge.testomat.io/ai/cannot-connect-testomat-mcp/) diff --git a/src/content/docs/tutorials/connect-claude-to-testomat.md b/src/content/docs/tutorials/connect-claude-to-testomat.md index ed52011c..b9209719 100644 --- a/src/content/docs/tutorials/connect-claude-to-testomat.md +++ b/src/content/docs/tutorials/connect-claude-to-testomat.md @@ -94,3 +94,5 @@ Claude can read and change the same things you can, so anything it writes appear - [MCP - Connect with a Config File](https://docs.testomat.io/tutorials/mcp-connection) - [Test Query Language (TQL)](https://docs.testomat.io/advanced/tql) - [API Access](https://docs.testomat.io/advanced/api-access) +- [Where can I find the Testomat MCP for Claude?](https://knowledge.testomat.io/ai/locate-testomat-mcp-for-claude/) +- [Why can’t I connect to the Testomat.io MCP Server?](https://knowledge.testomat.io/ai/cannot-connect-testomat-mcp/) diff --git a/src/content/docs/tutorials/mcp-connection.md b/src/content/docs/tutorials/mcp-connection.md index ed18bcc2..8c14543b 100644 --- a/src/content/docs/tutorials/mcp-connection.md +++ b/src/content/docs/tutorials/mcp-connection.md @@ -160,4 +160,6 @@ Once connected, your assistant works with your project through [Public API v2](h * Prefer signing in instead of editing a config file? See [MCP - Connect Claude](https://docs.testomat.io/tutorials/connect-claude-to-testomat) or [MCP - Connect ChatGPT](https://docs.testomat.io/tutorials/connect-chatgpt-to-testomat). * Need to establish a connection with Testomat.io? See [API Access](https://docs.testomat.io/advanced/api-access/) for more details. * Learn how to customize your test syntax at [Test Query Language (TQL)](https://docs.testomat.io/advanced/tql/). -* Read [Interacting via API](https://docs.testomat.io/tutorials/interacting-via-api/) to learn to interact with Testomat.io directly. \ No newline at end of file +* Read [Interacting via API](https://docs.testomat.io/tutorials/interacting-via-api/) to learn to interact with Testomat.io directly. +* Connection fails? See [Why can’t I connect to the Testomat.io MCP Server?](https://knowledge.testomat.io/ai/cannot-connect-testomat-mcp/) +* Labels don’t show up in tool calls? See [Why are custom labels missing in MCP tool calls?](https://knowledge.testomat.io/ai/custom-labels-missing-mcp-tool-calls/) \ No newline at end of file diff --git a/src/content/docs/tutorials/playwright.md b/src/content/docs/tutorials/playwright.md index e7d3f45e..4fdc1a01 100644 --- a/src/content/docs/tutorials/playwright.md +++ b/src/content/docs/tutorials/playwright.md @@ -247,4 +247,6 @@ TESTOMATIO={API_KEY} TESTOMATIO_TITLE="report for commit ${GIT_COMMIT}" TESTOMAT * Want to see Playwright tests in action? Find and install [our example](https://docs.testomat.io/project/import-export/import/import-js/#playwright) for more details. * Run your Playwright tests automatically on every commit - see [Continuous Integration](https://docs.testomat.io/integrations/continuous-integration/). * Spot unstable and slow tests across your runs in [Analytics](https://docs.testomat.io/project/analytics/). -* Get failures explained from your logs and traces with [AI-Powered Features](https://docs.testomat.io/advanced/ai-powered-features/ai-powered-features/). \ No newline at end of file +* Get failures explained from your logs and traces with [AI-Powered Features](https://docs.testomat.io/advanced/ai-powered-features/ai-powered-features/). +* Test counts don’t match? See [Why is there a test count mismatch between Playwright and Testomat?](https://knowledge.testomat.io/automation/test-count-mismatch-playwright-testomat/) +* Running in GitHub Actions? See [How do I set up GitHub Actions workflows for Playwright?](https://knowledge.testomat.io/automation/setup-github-actions-workflows-playwright/) \ No newline at end of file