xray-mcp 1.1.4 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -134,15 +134,21 @@ npm run dev
134
134
  "projectKey": "ABC",
135
135
  "summary": "Verify login functionality",
136
136
  "description": "Test that users can log in with valid credentials",
137
- "testType": "Manual",
137
+ "testType": "Unstructured",
138
138
  "labels": ["login", "authentication"],
139
139
  "priority": "High"
140
140
  }
141
141
  ```
142
142
 
143
+ **Test Types:**
144
+ - `Unstructured` - Free-form text steps (default, use with `add_manual_test_steps`)
145
+ - `Manual` - Structured manual steps (Xray's native format)
146
+ - `Cucumber` - Gherkin/BDD scenarios
147
+ - `Generic` - Generic automated tests
148
+
143
149
  #### Add Manual Test Steps
144
150
 
145
- **Important:** Test cases must be created with `testType: "Manual"` before adding steps.
151
+ **Important:** Test cases must be created with `testType: "Unstructured"` (default) to use this tool.
146
152
 
147
153
  ```json
148
154
  {
@@ -161,7 +167,10 @@ npm run dev
161
167
  }
162
168
  ```
163
169
 
164
- **Migration from Azure DevOps:** This tool is perfect for migrating test cases from ADO. Create the test case first using `create_test_case` with `testType: "Manual"`, then use `add_manual_test_steps` with the returned `issueId`.
170
+ **Migration from Azure DevOps:** This tool is perfect for migrating test cases from ADO:
171
+ 1. Create test case with `testType: "Unstructured"` (default)
172
+ 2. Use the returned `issueId` with `add_manual_test_steps`
173
+ 3. Steps are formatted as pipe-delimited text: "1. Action|Data|Result"
165
174
 
166
175
  #### Search Test Cases
167
176
 
package/dist/index.js CHANGED
@@ -37,9 +37,9 @@ const tools = [
37
37
  },
38
38
  testType: {
39
39
  type: 'string',
40
- enum: ['Manual', 'Cucumber', 'Generic'],
41
- description: 'The type of test case',
42
- default: 'Manual',
40
+ enum: ['Unstructured', 'Manual', 'Cucumber', 'Generic'],
41
+ description: 'The type of test case. Use "Unstructured" for free-form text steps (compatible with add_manual_test_steps)',
42
+ default: 'Unstructured',
43
43
  },
44
44
  labels: {
45
45
  type: 'array',
@@ -554,7 +554,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
554
554
  projectKey: args.projectKey,
555
555
  summary: args.summary,
556
556
  description: args.description,
557
- testType: args.testType || 'Manual',
557
+ testType: args.testType || 'Unstructured',
558
558
  labels: args.labels,
559
559
  priority: args.priority,
560
560
  };
@@ -12,7 +12,7 @@ export interface TestCase {
12
12
  key?: string;
13
13
  summary: string;
14
14
  description?: string;
15
- testType?: 'Manual' | 'Cucumber' | 'Generic';
15
+ testType?: 'Unstructured' | 'Manual' | 'Cucumber' | 'Generic';
16
16
  projectKey: string;
17
17
  labels?: string[];
18
18
  components?: string[];
@@ -112,8 +112,8 @@ export class XrayClient {
112
112
  */
113
113
  async createTestCase(testCase) {
114
114
  const mutation = `
115
- mutation CreateTest($jira: JSON!, $testType: UpdateTestTypeInput, $unstructured: String) {
116
- createTest(jira: $jira, testType: $testType, unstructured: $unstructured) {
115
+ mutation CreateTest($jira: JSON!, $testType: UpdateTestTypeInput) {
116
+ createTest(jira: $jira, testType: $testType) {
117
117
  test {
118
118
  issueId
119
119
  jira(fields: ["key"])
@@ -143,8 +143,7 @@ export class XrayClient {
143
143
  jiraFields.fields.priority = { name: testCase.priority };
144
144
  }
145
145
  const variables = {
146
- jira: jiraFields,
147
- unstructured: testCase.description || ''
146
+ jira: jiraFields
148
147
  };
149
148
  if (testCase.testType) {
150
149
  variables.testType = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xray-mcp",
3
- "version": "1.1.4",
3
+ "version": "1.2.0",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "bin": {