Skip to content

Commit fd99e70

Browse files
[QTM4J] Initial SmartBear MCP Integration for Test Case & Project Operations (#476)
* Merge pull request #430 from SmartBear/QFJV-16868 [QTM4J] QFJV-16868 : Project Setup Related Skills * feat: implement QTM4J API client with authentication and field resolution tools * feat: refactor CreateTestCase to use resolution-helper and improve field resolution logic * feat: streamline field resolution logic in CreateTestCase by optimizing imports and function calls * feat: update import paths for API client and related modules, add tests for field metadata fetcher and resolvers * feat: implement resolver registry and multiple resolvers for field resolution, update project context handling, and enhance test case retrieval * feat: rename SearchTestCases to GetTestCases and update related imports and tests * feat: rename SearchTestCase schema to GetTestCase and update related imports * feat: update import statement for GetTestCases and add CLAUDE.md for project guidance * feat: add UpdateTestCase tool for updating existing test cases with auto-resolving fields * fix: standardize folderId string quotes in create-test-case.ts * test: update expectations for FIELD_CONFIG to include FOLDER entry * feat: add QTM4J integration with environment variable setup and documentation * feat: update documentation to include QTM4J integration and related configuration details * fix: remove outdated example for retrieving test cases in getting-started documentation * fix: update QTM4J documentation for clarity and consistency * feat: enhance QTM4J integration documentation and update references * fix: update Qtm4jClient and project context tests for improved handling of undefined values * feat: add QTM4J API key and base URL configuration to local server setup * feat: add QTM4J API methods for creating test cases and retrieving projects * feat: update project schema to allow nullable avatarUrl and projectTypeKey * feat: integrate cache service into QTM4J resolvers and client for improved data handling (#477) * fix: remove unwanted QTM4J tools from CHANGELOG.md (#478) --------- Co-authored-by: Jaydeep Kumbhani <jaydeep.kumbhani@smartbear.com>
1 parent 814bbd0 commit fd99e70

54 files changed

Lines changed: 7202 additions & 30 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1313
- [Common] Add graceful shutdown on SIGTERM/SIGINT in HTTP mode: drains active sessions (closes Streamable HTTP and SSE transports, runs per-client `cleanupSession` hooks including Reflect WebSocket teardown), with a configurable deadline via `MCP_SHUTDOWN_TIMEOUT_MS` (default 25s) [#455](https://github.com/SmartBear/smartbear-mcp/pull/455)
1414
- [Common] Split health/readiness probes: `GET /health` is now liveness-only and always returns 200 when the process is responsive; `GET /ready` is the readiness probe and returns 503 during drain so load balancers stop routing new sessions to draining pods. Both probes set `Cache-Control: no-store`. [#455](https://github.com/SmartBear/smartbear-mcp/pull/455)
1515
- [Common] Add product prefix to registered resources and prompts [#458](https://github.com/SmartBear/smartbear-mcp/pull/458)
16+
- [QTM4J] Add QTM4J (QMetry Test Management for Jira) capabilities to MCP [#476](https://github.com/SmartBear/smartbear-mcp/pull/476)
1617

1718
### Fixed
1819

README.md

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
</div>
1919
<br />
2020

21-
A Model Context Protocol (MCP) server which provides AI assistants with seamless access to SmartBear's suite of testing and monitoring tools, including [BugSnag](https://www.bugsnag.com/), [Reflect](https://reflect.run), [Swagger](https://www.smartbear.com/api-hub), [PactFlow](https://pactflow.io/), [Pact Broker](https://docs.pact.io/), [QMetry](https://www.qmetry.com/), [Zephyr](https://smartbear.com/test-management/zephyr/) and [Collaborator](https://smartbear.com/product/collaborator/).
21+
A Model Context Protocol (MCP) server which provides AI assistants with seamless access to SmartBear's suite of testing and monitoring tools, including [BugSnag](https://www.bugsnag.com/), [Reflect](https://reflect.run), [Swagger](https://www.smartbear.com/api-hub), [PactFlow](https://pactflow.io/), [Pact Broker](https://docs.pact.io/), [QMetry](https://www.qmetry.com/), [QTM4J](https://www.qmetry.com/qmetry-test-management-for-jira), [Zephyr](https://smartbear.com/test-management/zephyr/) and [Collaborator](https://smartbear.com/product/collaborator/).
2222

2323
## What is MCP?
2424

@@ -37,6 +37,7 @@ See individual guides for suggested prompts and supported tools and resources:
3737
- [QMetry](https://developer.smartbear.com/smartbear-mcp/docs/qmetry-integration) - QMetry Test Management capabilities
3838
- [Zephyr](https://developer.smartbear.com/smartbear-mcp/docs/zephyr-integration) - Zephyr Test Management capabilities
3939
- [Collaborator](https://developer.smartbear.com/smartbear-mcp/docs/collaborator-integration) - Review and Remote System Configuration management capabilities
40+
- [QTM4J](https://developer.smartbear.com/smartbear-mcp/docs/qtm4j-integration) - QTM4J Test Management for Jira capabilities
4041

4142
## Remote MCP Servers
4243

@@ -50,12 +51,12 @@ For BugSnag, Swagger, and Zephyr, SmartBear hosts Remote MCP Servers that you ca
5051

5152
See the [Remote MCP Servers guide](https://developer.smartbear.com/smartbear-mcp/docs/remote-mcp-servers) for per-client setup instructions. You can connect to multiple remote servers at the same time.
5253

53-
> **Need Reflect, QMetry, PactFlow, or Collaborator?** These products are only available via the local npm package below, which bundles all products into a single MCP server.
54+
> **Need Reflect, QMetry, QTM4J, PactFlow, or Collaborator?** These products are only available via the local npm package below, which bundles all products into a single MCP server.
5455
5556
## Prerequisites
5657

5758
- Node.js 20+ and npm
58-
- Access to SmartBear products (BugSnag, Reflect, Swagger, QMetry, or Zephyr)
59+
- Access to SmartBear products (BugSnag, Reflect, Swagger, QMetry, QTM4J or Zephyr)
5960
- Valid API tokens for the products you want to integrate
6061

6162
## Local MCP Server Installation (npm)
@@ -101,7 +102,9 @@ Alternatively, you can use `npx` (or globally install) the `@smartbear/mcp` pack
101102
"ZEPHYR_BASE_URL": "${input:zephyr_base_url}",
102103
"COLLABORATOR_BASE_URL": "${input:collab_base_url}",
103104
"COLLABORATOR_USERNAME": "${input:collab_username}",
104-
"COLLABORATOR_LOGIN_TICKET": "${input:collab_login_ticket}"
105+
"COLLABORATOR_LOGIN_TICKET": "${input:collab_login_ticket}",
106+
"QTM4J_API_KEY": "${input:qtm4j_api_key}",
107+
"QTM4J_BASE_URL": "${input:qtm4j_base_url}"
105108
}
106109
}
107110
},
@@ -213,7 +216,19 @@ Alternatively, you can use `npx` (or globally install) the `@smartbear/mcp` pack
213216
"type": "promptString",
214217
"description": "Collab login ticket",
215218
"password": true
216-
}
219+
},
220+
{
221+
"id": "qtm4j_api_key",
222+
"type": "promptString",
223+
"description": "QTM4J API Key",
224+
"password": true
225+
},
226+
{
227+
"id": "qtm4j_base_url",
228+
"type": "promptString",
229+
"description": "US region (default): https://qtmcloud.qmetry.com. Australia region: https://syd-qtmcloud.qmetry.com.",
230+
"password": false
231+
}
217232
]
218233
}
219234
```
@@ -250,7 +265,9 @@ Add the following configuration to your `claude_desktop_config.json` to launch t
250265
"ZEPHYR_BASE_URL": "https://api.zephyrscale.smartbear.com/v2",
251266
"COLLABORATOR_BASE_URL": "your collab base url",
252267
"COLLABORATOR_USERNAME": "your collab user name",
253-
"COLLABORATOR_LOGIN_TICKET": "your collab login ticket"
268+
"COLLABORATOR_LOGIN_TICKET": "your collab login ticket",
269+
"QTM4J_API_KEY": "your_qtm4j_key",
270+
"QTM4J_BASE_URL": "https://qtmcloud.qmetry.com"
254271
}
255272
}
256273
}

docs/custom-words.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ pacticipant
2323
pacticipants
2424
petstore
2525
qmetry
26+
qtm4j
27+
qtmcloud
2628
Reactnative
2729
reindexing
2830
SCIM

docs/products/SmartBear MCP Server/getting-started.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@ The SmartBear MCP Server is available in two deployment modes: **remote hosted s
22

33
## Comparison
44

5-
| | [Remote MCP Servers](/smartbear-mcp/docs/remote-mcp-servers) | [Local MCP Server](/smartbear-mcp/docs/local-server) |
6-
|---|---|---|
7-
| **Products** | Swagger, BugSnag, Zephyr | All products (incl. Reflect, QMetry, PactFlow, Collaborator) |
8-
| **Setup** | None — add a URL to your MCP client | Install via npm (Node.js 20+) |
9-
| **Authentication** | OAuth browser flow | API tokens via environment variables |
10-
| **Configuration** | Headers and query string | Environment variables |
11-
| **Best for** | Quick setup for a single product | Multi-product workflows |
5+
| | [Remote MCP Servers](/smartbear-mcp/docs/remote-mcp-servers) | [Local MCP Server](/smartbear-mcp/docs/local-server) |
6+
|---|---|---------------------------------------------------------------------|
7+
| **Products** | Swagger, BugSnag, Zephyr | All products (incl. Reflect, QMetry, QTM4J, PactFlow, Collaborator) |
8+
| **Setup** | None — add a URL to your MCP client | Install via npm (Node.js 20+) |
9+
| **Authentication** | OAuth browser flow | API tokens via environment variables |
10+
| **Configuration** | Headers and query string | Environment variables |
11+
| **Best for** | Quick setup for a single product | Multi-product workflows |
1212

1313
## Which should I use?
1414

@@ -18,7 +18,7 @@ The SmartBear MCP Server is available in two deployment modes: **remote hosted s
1818
- You prefer OAuth login over managing API tokens in environment variables
1919

2020
**Use the Local MCP Server if:**
21-
- You need access to Reflect, QMetry, PactFlow, or Collaborator tools
21+
- You need access to Reflect, QMetry, QTM4J, PactFlow, or Collaborator tools
2222
- You want all SmartBear tools available in a single MCP server
2323
- You are using an MCP client that does not yet support HTTP/OAuth transport
2424

0 commit comments

Comments
 (0)