Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -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 = [
Expand Down Expand Up @@ -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' } },
],
},
]),
Expand Down
4 changes: 4 additions & 0 deletions src/components/Links.astro
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand Down
105 changes: 105 additions & 0 deletions src/components/MarkdownContent.astro
Original file line number Diff line number Diff line change
@@ -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 ?? [];
---

<Default><slot /></Default>

{
match && (
<aside class="kb-link not-content">
<div>
<p class="kb-link__title">Have a question about {topic}?</p>
<p class="kb-link__text">See answers to common questions in the Testomat.io Knowledge Base.</p>
</div>
<a class="kb-link__button" href={`${KB}/${slug}/`} target="_blank">
Open Knowledge Base
<svg aria-hidden="true" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M7 17 17 7M8 7h9v9" /></svg>
</a>
</aside>
)
}

<style>
.kb-link {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
margin-top: 2.5rem;
padding: 1rem 1.25rem;
border: 1px solid var(--sl-color-gray-5);
border-radius: 0.75rem;
background: var(--sl-color-gray-7, var(--sl-color-gray-6));
}

.kb-link__title {
margin: 0;
font-weight: 600;
color: var(--sl-color-white);
}

.kb-link__text {
margin: 0.25rem 0 0;
font-size: var(--sl-text-sm);
color: var(--sl-color-gray-2);
}

.kb-link__button {
display: inline-flex;
flex-shrink: 0;
align-items: center;
gap: 0.375rem;
padding: 0.5rem 1rem;
border-radius: 0.5rem;
background: var(--sl-color-accent);
color: var(--sl-color-black);
font-size: var(--sl-text-sm);
font-weight: 600;
text-decoration: none;
}

.kb-link__button:hover {
background: var(--sl-color-accent-high);
}

@media (max-width: 50rem) {
.kb-link {
flex-direction: column;
align-items: flex-start;
}
}
</style>
Original file line number Diff line number Diff line change
Expand Up @@ -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.
- [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.
2 changes: 2 additions & 0 deletions src/content/docs/integrations/issues-management/linear.md
Original file line number Diff line number Diff line change
Expand Up @@ -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/)
1 change: 1 addition & 0 deletions src/content/docs/project/tests/bulk-test-selection.md
Original file line number Diff line number Diff line change
Expand Up @@ -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/)

Original file line number Diff line number Diff line change
Expand Up @@ -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/)
1 change: 1 addition & 0 deletions src/content/docs/project/tests/copying-tests-and-suites.md
Original file line number Diff line number Diff line change
Expand Up @@ -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/)
1 change: 1 addition & 0 deletions src/content/docs/project/tests/create-a-test.md
Original file line number Diff line number Diff line change
Expand Up @@ -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/)
1 change: 1 addition & 0 deletions src/content/docs/project/tests/dynamic-parameters.md
Original file line number Diff line number Diff line change
Expand Up @@ -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/)

2 changes: 2 additions & 0 deletions src/content/docs/project/tests/restoring-deleted-tests.md
Original file line number Diff line number Diff line change
Expand Up @@ -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/)

1 change: 1 addition & 0 deletions src/content/docs/project/tests/sharing-tests-and-suites.md
Original file line number Diff line number Diff line change
Expand Up @@ -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/)

3 changes: 2 additions & 1 deletion src/content/docs/project/tests/suites-and-folders.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
- [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/)
Original file line number Diff line number Diff line change
Expand Up @@ -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/)

Original file line number Diff line number Diff line change
Expand Up @@ -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/)

1 change: 1 addition & 0 deletions src/content/docs/project/tests/undetaching-tests.md
Original file line number Diff line number Diff line change
Expand Up @@ -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/)

4 changes: 3 additions & 1 deletion src/content/docs/tutorials/Interacting-via-API.md
Original file line number Diff line number Diff line change
Expand Up @@ -156,4 +156,6 @@ npx -y @testomatio/mcp@latest --token <PROJECT_TOKEN> --project <PROJECT_ID>

* 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).
* 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/)
1 change: 1 addition & 0 deletions src/content/docs/tutorials/connect-chatgpt-to-testomat.md
Original file line number Diff line number Diff line change
Expand Up @@ -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/)
2 changes: 2 additions & 0 deletions src/content/docs/tutorials/connect-claude-to-testomat.md
Original file line number Diff line number Diff line change
Expand Up @@ -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/)
4 changes: 3 additions & 1 deletion src/content/docs/tutorials/mcp-connection.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
* 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/)
4 changes: 3 additions & 1 deletion src/content/docs/tutorials/playwright.md
Original file line number Diff line number Diff line change
Expand Up @@ -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/).
* 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/)
Loading