@structured-world/gitlab-mcp 6.2.0 → 6.2.1
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/dist/src/entities/pipelines/registry.js +181 -229
- package/dist/src/entities/pipelines/registry.js.map +1 -1
- package/dist/src/entities/pipelines/schema-readonly.d.ts +25 -23
- package/dist/src/entities/pipelines/schema-readonly.js +90 -83
- package/dist/src/entities/pipelines/schema-readonly.js.map +1 -1
- package/dist/src/entities/pipelines/schema.d.ts +27 -30
- package/dist/src/entities/pipelines/schema.js +41 -27
- package/dist/src/entities/pipelines/schema.js.map +1 -1
- package/dist/src/entities/utils.d.ts +1 -0
- package/dist/src/entities/utils.js +2 -1
- package/dist/src/entities/utils.js.map +1 -1
- package/dist/structured-world-gitlab-mcp-6.2.1.tgz +0 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/dist/structured-world-gitlab-mcp-6.2.0.tgz +0 -0
|
@@ -46,267 +46,219 @@ const fetch_1 = require("../../utils/fetch");
|
|
|
46
46
|
const logger_1 = require("../../logger");
|
|
47
47
|
exports.pipelinesToolRegistry = new Map([
|
|
48
48
|
[
|
|
49
|
-
"
|
|
49
|
+
"browse_pipelines",
|
|
50
50
|
{
|
|
51
|
-
name: "
|
|
52
|
-
description:
|
|
53
|
-
inputSchema: z.toJSONSchema(schema_readonly_1.
|
|
51
|
+
name: "browse_pipelines",
|
|
52
|
+
description: 'BROWSE pipelines. Actions: "list" searches pipelines with filtering, "get" retrieves single pipeline details, "jobs" lists jobs in pipeline, "triggers" lists bridge/trigger jobs, "job" gets single job details, "logs" fetches job console output.',
|
|
53
|
+
inputSchema: z.toJSONSchema(schema_readonly_1.BrowsePipelinesSchema),
|
|
54
54
|
handler: async (args) => {
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
[
|
|
63
|
-
"get_pipeline",
|
|
64
|
-
{
|
|
65
|
-
name: "get_pipeline",
|
|
66
|
-
description: "ANALYZE: Get comprehensive details about a specific pipeline run. Use when: Debugging CI/CD failures and issues, Inspecting pipeline configuration and timing, Understanding what triggered the run. Returns commit details, branch/tag info, duration metrics, and failure reasons. Essential for pipeline troubleshooting.",
|
|
67
|
-
inputSchema: z.toJSONSchema(schema_readonly_1.GetPipelineSchema),
|
|
68
|
-
handler: async (args) => {
|
|
69
|
-
const options = schema_readonly_1.GetPipelineSchema.parse(args);
|
|
70
|
-
return gitlab_api_1.gitlab.get(`projects/${(0, projectIdentifier_1.normalizeProjectId)(options.project_id)}/pipelines/${options.pipeline_id}`);
|
|
71
|
-
},
|
|
72
|
-
},
|
|
73
|
-
],
|
|
74
|
-
[
|
|
75
|
-
"list_pipeline_jobs",
|
|
76
|
-
{
|
|
77
|
-
name: "list_pipeline_jobs",
|
|
78
|
-
description: "INSPECT: Get all CI/CD jobs within a pipeline run. Use when: Identifying failed jobs and stages, Understanding pipeline job structure, Analyzing job timing and performance. Returns job names, stages, status, duration, and runner info. Supports filtering by scope (failed, success, manual) for targeted troubleshooting.",
|
|
79
|
-
inputSchema: z.toJSONSchema(schema_readonly_1.ListPipelineJobsSchema),
|
|
80
|
-
handler: async (args) => {
|
|
81
|
-
const options = schema_readonly_1.ListPipelineJobsSchema.parse(args);
|
|
82
|
-
return gitlab_api_1.gitlab.get(`projects/${(0, projectIdentifier_1.normalizeProjectId)(options.project_id)}/pipelines/${options.pipeline_id}/jobs`, { query: (0, gitlab_api_1.toQuery)(options, ["project_id", "pipeline_id"]) });
|
|
83
|
-
},
|
|
84
|
-
},
|
|
85
|
-
],
|
|
86
|
-
[
|
|
87
|
-
"list_pipeline_trigger_jobs",
|
|
88
|
-
{
|
|
89
|
-
name: "list_pipeline_trigger_jobs",
|
|
90
|
-
description: "BRIDGE: List jobs that trigger downstream pipelines in multi-project setups. Use when: Understanding cross-project CI/CD flows, Debugging pipeline dependencies, Analyzing parent-child pipeline connections. Bridge jobs link projects together. Returns trigger configuration and downstream pipeline status.",
|
|
91
|
-
inputSchema: z.toJSONSchema(schema_readonly_1.ListPipelineTriggerJobsSchema),
|
|
92
|
-
handler: async (args) => {
|
|
93
|
-
const options = schema_readonly_1.ListPipelineTriggerJobsSchema.parse(args);
|
|
94
|
-
return gitlab_api_1.gitlab.get(`projects/${(0, projectIdentifier_1.normalizeProjectId)(options.project_id)}/pipelines/${options.pipeline_id}/bridges`, { query: (0, gitlab_api_1.toQuery)(options, ["project_id", "pipeline_id"]) });
|
|
95
|
-
},
|
|
96
|
-
},
|
|
97
|
-
],
|
|
98
|
-
[
|
|
99
|
-
"get_pipeline_job",
|
|
100
|
-
{
|
|
101
|
-
name: "get_pipeline_job",
|
|
102
|
-
description: "DETAILS: Get detailed information about a specific CI/CD job. Use when: Debugging individual job failures, Inspecting job configuration and variables, Understanding job dependencies and artifacts. Shows job script, runner tags, artifact paths, and failure details. Essential for job-level troubleshooting.",
|
|
103
|
-
inputSchema: z.toJSONSchema(schema_readonly_1.GetPipelineJobOutputSchema),
|
|
104
|
-
handler: async (args) => {
|
|
105
|
-
const options = schema_readonly_1.GetPipelineJobOutputSchema.parse(args);
|
|
106
|
-
return gitlab_api_1.gitlab.get(`projects/${(0, projectIdentifier_1.normalizeProjectId)(options.project_id)}/jobs/${options.job_id}`);
|
|
107
|
-
},
|
|
108
|
-
},
|
|
109
|
-
],
|
|
110
|
-
[
|
|
111
|
-
"get_pipeline_job_output",
|
|
112
|
-
{
|
|
113
|
-
name: "get_pipeline_job_output",
|
|
114
|
-
description: "LOGS: Fetch console output/logs from a CI/CD job execution. Use when: Debugging job failures and errors, Reviewing test results and build output, Analyzing command execution traces. Supports output limiting for large logs. Returns raw text showing all commands and output. Critical for troubleshooting CI/CD issues.",
|
|
115
|
-
inputSchema: z.toJSONSchema(schema_readonly_1.GetPipelineJobOutputSchema),
|
|
116
|
-
handler: async (args) => {
|
|
117
|
-
const options = schema_readonly_1.GetPipelineJobOutputSchema.parse(args);
|
|
118
|
-
const { project_id, job_id, limit, max_lines, start } = options;
|
|
119
|
-
const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/projects/${(0, projectIdentifier_1.normalizeProjectId)(project_id)}/jobs/${job_id}/trace`;
|
|
120
|
-
const response = await (0, fetch_1.enhancedFetch)(apiUrl);
|
|
121
|
-
if (!response.ok) {
|
|
122
|
-
throw new Error(`GitLab API error: ${response.status} ${response.statusText}`);
|
|
123
|
-
}
|
|
124
|
-
let trace = await response.text();
|
|
125
|
-
const lines = trace.split("\n");
|
|
126
|
-
const totalLines = lines.length;
|
|
127
|
-
const defaultMaxLines = 200;
|
|
128
|
-
let processedLines = [];
|
|
129
|
-
let maxLinesToShow = defaultMaxLines;
|
|
130
|
-
if (max_lines !== undefined) {
|
|
131
|
-
maxLinesToShow = max_lines;
|
|
132
|
-
}
|
|
133
|
-
else if (limit !== undefined) {
|
|
134
|
-
maxLinesToShow = limit;
|
|
135
|
-
}
|
|
136
|
-
let outOfBoundsMessage = "";
|
|
137
|
-
if (start !== undefined && start < 0) {
|
|
138
|
-
processedLines = lines.slice(start);
|
|
139
|
-
if (processedLines.length > maxLinesToShow) {
|
|
140
|
-
processedLines = processedLines.slice(-maxLinesToShow);
|
|
55
|
+
const input = schema_readonly_1.BrowsePipelinesSchema.parse(args);
|
|
56
|
+
switch (input.action) {
|
|
57
|
+
case "list": {
|
|
58
|
+
const { project_id, action: _action, ...queryOptions } = input;
|
|
59
|
+
return gitlab_api_1.gitlab.get(`projects/${(0, projectIdentifier_1.normalizeProjectId)(project_id)}/pipelines`, {
|
|
60
|
+
query: (0, gitlab_api_1.toQuery)(queryOptions, []),
|
|
61
|
+
});
|
|
141
62
|
}
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
63
|
+
case "get": {
|
|
64
|
+
const { project_id, pipeline_id } = input;
|
|
65
|
+
return gitlab_api_1.gitlab.get(`projects/${(0, projectIdentifier_1.normalizeProjectId)(project_id)}/pipelines/${pipeline_id}`);
|
|
66
|
+
}
|
|
67
|
+
case "jobs": {
|
|
68
|
+
const { project_id, pipeline_id, action: _action, ...queryOptions } = input;
|
|
69
|
+
return gitlab_api_1.gitlab.get(`projects/${(0, projectIdentifier_1.normalizeProjectId)(project_id)}/pipelines/${pipeline_id}/jobs`, { query: (0, gitlab_api_1.toQuery)(queryOptions, []) });
|
|
147
70
|
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
71
|
+
case "triggers": {
|
|
72
|
+
const { project_id, pipeline_id, action: _action, ...queryOptions } = input;
|
|
73
|
+
return gitlab_api_1.gitlab.get(`projects/${(0, projectIdentifier_1.normalizeProjectId)(project_id)}/pipelines/${pipeline_id}/bridges`, { query: (0, gitlab_api_1.toQuery)(queryOptions, []) });
|
|
74
|
+
}
|
|
75
|
+
case "job": {
|
|
76
|
+
const { project_id, job_id } = input;
|
|
77
|
+
return gitlab_api_1.gitlab.get(`projects/${(0, projectIdentifier_1.normalizeProjectId)(project_id)}/jobs/${job_id}`);
|
|
78
|
+
}
|
|
79
|
+
case "logs": {
|
|
80
|
+
const { project_id, job_id, limit, max_lines, start } = input;
|
|
81
|
+
const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/projects/${(0, projectIdentifier_1.normalizeProjectId)(project_id)}/jobs/${job_id}/trace`;
|
|
82
|
+
const response = await (0, fetch_1.enhancedFetch)(apiUrl);
|
|
83
|
+
if (!response.ok) {
|
|
84
|
+
throw new Error(`GitLab API error: ${response.status} ${response.statusText}`);
|
|
85
|
+
}
|
|
86
|
+
let trace = await response.text();
|
|
87
|
+
const lines = trace.split("\n");
|
|
88
|
+
const totalLines = lines.length;
|
|
89
|
+
const defaultMaxLines = 200;
|
|
90
|
+
let processedLines = [];
|
|
91
|
+
let maxLinesToShow = defaultMaxLines;
|
|
92
|
+
if (max_lines !== undefined) {
|
|
93
|
+
maxLinesToShow = max_lines;
|
|
94
|
+
}
|
|
95
|
+
else if (limit !== undefined) {
|
|
96
|
+
maxLinesToShow = limit;
|
|
97
|
+
}
|
|
98
|
+
let outOfBoundsMessage = "";
|
|
99
|
+
if (start !== undefined && start < 0) {
|
|
100
|
+
processedLines = lines.slice(start);
|
|
101
|
+
if (processedLines.length > maxLinesToShow) {
|
|
102
|
+
processedLines = processedLines.slice(-maxLinesToShow);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
else if (start !== undefined && start >= 0) {
|
|
106
|
+
if (start >= totalLines) {
|
|
107
|
+
processedLines = [];
|
|
108
|
+
outOfBoundsMessage = `[OUT OF BOUNDS: Start position ${start} exceeds total lines ${totalLines}. Available range: 0-${totalLines - 1}]`;
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
processedLines = lines.slice(start, start + maxLinesToShow);
|
|
112
|
+
if (start + maxLinesToShow > totalLines) {
|
|
113
|
+
const availableFromStart = totalLines - start;
|
|
114
|
+
outOfBoundsMessage = `[PARTIAL REQUEST: Requested ${maxLinesToShow} lines from position ${start}, but only ${availableFromStart} lines available]`;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
processedLines = lines.slice(-maxLinesToShow);
|
|
153
120
|
}
|
|
121
|
+
const actualDataLines = processedLines.length;
|
|
122
|
+
if (outOfBoundsMessage) {
|
|
123
|
+
processedLines.unshift(outOfBoundsMessage);
|
|
124
|
+
}
|
|
125
|
+
if (processedLines.length < totalLines && !outOfBoundsMessage) {
|
|
126
|
+
const truncatedCount = totalLines - actualDataLines;
|
|
127
|
+
processedLines.unshift(`[LOG TRUNCATED: Showing last ${actualDataLines} of ${totalLines} lines - ${truncatedCount} lines hidden]`);
|
|
128
|
+
}
|
|
129
|
+
trace = processedLines.join("\n");
|
|
130
|
+
return { trace, totalLines, shownLines: actualDataLines };
|
|
131
|
+
}
|
|
132
|
+
default: {
|
|
133
|
+
const _exhaustive = input;
|
|
134
|
+
throw new Error(`Unknown action: ${_exhaustive.action}`);
|
|
154
135
|
}
|
|
155
136
|
}
|
|
156
|
-
else {
|
|
157
|
-
processedLines = lines.slice(-maxLinesToShow);
|
|
158
|
-
}
|
|
159
|
-
const actualDataLines = processedLines.length;
|
|
160
|
-
if (outOfBoundsMessage) {
|
|
161
|
-
processedLines.unshift(outOfBoundsMessage);
|
|
162
|
-
}
|
|
163
|
-
if (processedLines.length < totalLines && !outOfBoundsMessage) {
|
|
164
|
-
const truncatedCount = totalLines - actualDataLines;
|
|
165
|
-
processedLines.unshift(`[LOG TRUNCATED: Showing last ${actualDataLines} of ${totalLines} lines - ${truncatedCount} lines hidden]`);
|
|
166
|
-
}
|
|
167
|
-
trace = processedLines.join("\n");
|
|
168
|
-
return { trace, totalLines, shownLines: actualDataLines };
|
|
169
137
|
},
|
|
170
138
|
},
|
|
171
139
|
],
|
|
172
140
|
[
|
|
173
|
-
"
|
|
141
|
+
"manage_pipeline",
|
|
174
142
|
{
|
|
175
|
-
name: "
|
|
176
|
-
description:
|
|
177
|
-
inputSchema: z.toJSONSchema(schema_1.
|
|
143
|
+
name: "manage_pipeline",
|
|
144
|
+
description: 'MANAGE pipelines. Actions: "create" triggers new pipeline on branch/tag with optional variables, "retry" re-runs failed/canceled pipeline, "cancel" stops running pipeline.',
|
|
145
|
+
inputSchema: z.toJSONSchema(schema_1.ManagePipelineSchema),
|
|
178
146
|
handler: async (args) => {
|
|
179
|
-
const
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
const errorDetails = [];
|
|
203
|
-
const messageObj = errorBody.message;
|
|
204
|
-
Object.keys(messageObj).forEach(key => {
|
|
205
|
-
const value = messageObj[key];
|
|
206
|
-
if (Array.isArray(value)) {
|
|
207
|
-
errorDetails.push(`${key}: ${value.join(", ")}`);
|
|
147
|
+
const input = schema_1.ManagePipelineSchema.parse(args);
|
|
148
|
+
switch (input.action) {
|
|
149
|
+
case "create": {
|
|
150
|
+
const { project_id, ref, variables } = input;
|
|
151
|
+
const queryParams = new URLSearchParams();
|
|
152
|
+
queryParams.set("ref", ref);
|
|
153
|
+
const body = {};
|
|
154
|
+
if (variables && variables.length > 0) {
|
|
155
|
+
body.variables = variables;
|
|
156
|
+
}
|
|
157
|
+
const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/projects/${(0, projectIdentifier_1.normalizeProjectId)(project_id)}/pipeline?${queryParams}`;
|
|
158
|
+
const response = await (0, fetch_1.enhancedFetch)(apiUrl, {
|
|
159
|
+
method: "POST",
|
|
160
|
+
headers: { "Content-Type": "application/json" },
|
|
161
|
+
body: JSON.stringify(body),
|
|
162
|
+
});
|
|
163
|
+
if (!response.ok) {
|
|
164
|
+
let errorMessage = `GitLab API error: ${response.status} ${response.statusText}`;
|
|
165
|
+
try {
|
|
166
|
+
const errorBody = (await response.json());
|
|
167
|
+
if (errorBody.message) {
|
|
168
|
+
if (typeof errorBody.message === "string") {
|
|
169
|
+
errorMessage += ` - ${errorBody.message}`;
|
|
208
170
|
}
|
|
209
|
-
else {
|
|
210
|
-
errorDetails
|
|
171
|
+
else if (typeof errorBody.message === "object" && errorBody.message !== null) {
|
|
172
|
+
const errorDetails = [];
|
|
173
|
+
const messageObj = errorBody.message;
|
|
174
|
+
Object.keys(messageObj).forEach(key => {
|
|
175
|
+
const value = messageObj[key];
|
|
176
|
+
if (Array.isArray(value)) {
|
|
177
|
+
errorDetails.push(`${key}: ${value.join(", ")}`);
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
errorDetails.push(`${key}: ${String(value)}`);
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
if (errorDetails.length > 0) {
|
|
184
|
+
errorMessage += ` - ${errorDetails.join("; ")}`;
|
|
185
|
+
}
|
|
211
186
|
}
|
|
212
|
-
});
|
|
213
|
-
if (errorDetails.length > 0) {
|
|
214
|
-
errorMessage += ` - ${errorDetails.join("; ")}`;
|
|
215
187
|
}
|
|
188
|
+
if (typeof errorBody.error === "string") {
|
|
189
|
+
errorMessage += ` - ${errorBody.error}`;
|
|
190
|
+
}
|
|
191
|
+
if (Array.isArray(errorBody.errors)) {
|
|
192
|
+
errorMessage += ` - ${errorBody.errors.map(e => String(e)).join(", ")}`;
|
|
193
|
+
}
|
|
194
|
+
logger_1.logger.error({ status: response.status, errorBody, url: apiUrl }, "manage_pipeline create failed");
|
|
216
195
|
}
|
|
196
|
+
catch {
|
|
197
|
+
logger_1.logger.error({ status: response.status, url: apiUrl }, "manage_pipeline create failed (could not parse error)");
|
|
198
|
+
}
|
|
199
|
+
throw new Error(errorMessage);
|
|
217
200
|
}
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
}
|
|
224
|
-
logger_1.logger.error({ status: response.status, errorBody, url: apiUrl }, "create_pipeline failed");
|
|
201
|
+
const pipeline = (await response.json());
|
|
202
|
+
return pipeline;
|
|
203
|
+
}
|
|
204
|
+
case "retry": {
|
|
205
|
+
const { project_id, pipeline_id } = input;
|
|
206
|
+
return gitlab_api_1.gitlab.post(`projects/${(0, projectIdentifier_1.normalizeProjectId)(project_id)}/pipelines/${pipeline_id}/retry`);
|
|
225
207
|
}
|
|
226
|
-
|
|
227
|
-
|
|
208
|
+
case "cancel": {
|
|
209
|
+
const { project_id, pipeline_id } = input;
|
|
210
|
+
return gitlab_api_1.gitlab.post(`projects/${(0, projectIdentifier_1.normalizeProjectId)(project_id)}/pipelines/${pipeline_id}/cancel`);
|
|
211
|
+
}
|
|
212
|
+
default: {
|
|
213
|
+
const _exhaustive = input;
|
|
214
|
+
throw new Error(`Unknown action: ${_exhaustive.action}`);
|
|
228
215
|
}
|
|
229
|
-
throw new Error(errorMessage);
|
|
230
216
|
}
|
|
231
|
-
const pipeline = (await response.json());
|
|
232
|
-
return pipeline;
|
|
233
|
-
},
|
|
234
|
-
},
|
|
235
|
-
],
|
|
236
|
-
[
|
|
237
|
-
"retry_pipeline",
|
|
238
|
-
{
|
|
239
|
-
name: "retry_pipeline",
|
|
240
|
-
description: "RETRY: Re-run a previously failed or canceled pipeline with same configuration. Use when: Retrying after fixing flaky tests, Recovering from temporary failures, Re-running without losing successful job results. Retries failed/canceled jobs while preserving successful ones. More efficient than creating new pipeline.",
|
|
241
|
-
inputSchema: z.toJSONSchema(schema_1.RetryPipelineSchema),
|
|
242
|
-
handler: async (args) => {
|
|
243
|
-
const options = schema_1.RetryPipelineSchema.parse(args);
|
|
244
|
-
return gitlab_api_1.gitlab.post(`projects/${(0, projectIdentifier_1.normalizeProjectId)(options.project_id)}/pipelines/${options.pipeline_id}/retry`);
|
|
245
|
-
},
|
|
246
|
-
},
|
|
247
|
-
],
|
|
248
|
-
[
|
|
249
|
-
"cancel_pipeline",
|
|
250
|
-
{
|
|
251
|
-
name: "cancel_pipeline",
|
|
252
|
-
description: 'CANCEL: Stop a currently executing pipeline and all its jobs. Use when: Halting unnecessary or incorrect runs, Stopping problematic deployments, Freeing up busy runners. Cancels all pending and running jobs immediately. Pipeline status changes to "canceled" and cannot be resumed.',
|
|
253
|
-
inputSchema: z.toJSONSchema(schema_1.CancelPipelineSchema),
|
|
254
|
-
handler: async (args) => {
|
|
255
|
-
const options = schema_1.CancelPipelineSchema.parse(args);
|
|
256
|
-
return gitlab_api_1.gitlab.post(`projects/${(0, projectIdentifier_1.normalizeProjectId)(options.project_id)}/pipelines/${options.pipeline_id}/cancel`);
|
|
257
|
-
},
|
|
258
|
-
},
|
|
259
|
-
],
|
|
260
|
-
[
|
|
261
|
-
"play_pipeline_job",
|
|
262
|
-
{
|
|
263
|
-
name: "play_pipeline_job",
|
|
264
|
-
description: "PLAY: Trigger a manual job that requires user intervention. Use when: Executing deployment gates and approvals, Running optional or conditional jobs, Proceeding with manual pipeline steps. Manual jobs pause pipeline flow until explicitly triggered. Can pass job variables for runtime configuration.",
|
|
265
|
-
inputSchema: z.toJSONSchema(schema_1.PlayPipelineJobSchema),
|
|
266
|
-
handler: async (args) => {
|
|
267
|
-
const options = schema_1.PlayPipelineJobSchema.parse(args);
|
|
268
|
-
const { project_id, job_id, ...body } = options;
|
|
269
|
-
return gitlab_api_1.gitlab.post(`projects/${(0, projectIdentifier_1.normalizeProjectId)(project_id)}/jobs/${job_id}/play`, {
|
|
270
|
-
body,
|
|
271
|
-
contentType: "json",
|
|
272
|
-
});
|
|
273
217
|
},
|
|
274
218
|
},
|
|
275
219
|
],
|
|
276
220
|
[
|
|
277
|
-
"
|
|
221
|
+
"manage_pipeline_job",
|
|
278
222
|
{
|
|
279
|
-
name: "
|
|
280
|
-
description:
|
|
281
|
-
inputSchema: z.toJSONSchema(schema_1.
|
|
223
|
+
name: "manage_pipeline_job",
|
|
224
|
+
description: 'MANAGE pipeline jobs. Actions: "play" triggers manual job with optional variables, "retry" re-runs failed/canceled job, "cancel" stops running job.',
|
|
225
|
+
inputSchema: z.toJSONSchema(schema_1.ManagePipelineJobSchema),
|
|
282
226
|
handler: async (args) => {
|
|
283
|
-
const
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
227
|
+
const input = schema_1.ManagePipelineJobSchema.parse(args);
|
|
228
|
+
switch (input.action) {
|
|
229
|
+
case "play": {
|
|
230
|
+
const { project_id, job_id, job_variables_attributes } = input;
|
|
231
|
+
const body = {};
|
|
232
|
+
if (job_variables_attributes) {
|
|
233
|
+
body.job_variables_attributes = job_variables_attributes;
|
|
234
|
+
}
|
|
235
|
+
return gitlab_api_1.gitlab.post(`projects/${(0, projectIdentifier_1.normalizeProjectId)(project_id)}/jobs/${job_id}/play`, {
|
|
236
|
+
body,
|
|
237
|
+
contentType: "json",
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
case "retry": {
|
|
241
|
+
const { project_id, job_id } = input;
|
|
242
|
+
return gitlab_api_1.gitlab.post(`projects/${(0, projectIdentifier_1.normalizeProjectId)(project_id)}/jobs/${job_id}/retry`);
|
|
243
|
+
}
|
|
244
|
+
case "cancel": {
|
|
245
|
+
const { project_id, job_id, force } = input;
|
|
246
|
+
const query = force ? { force: "true" } : undefined;
|
|
247
|
+
return gitlab_api_1.gitlab.post(`projects/${(0, projectIdentifier_1.normalizeProjectId)(project_id)}/jobs/${job_id}/cancel`, {
|
|
248
|
+
query,
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
default: {
|
|
252
|
+
const _exhaustive = input;
|
|
253
|
+
throw new Error(`Unknown action: ${_exhaustive.action}`);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
297
256
|
},
|
|
298
257
|
},
|
|
299
258
|
],
|
|
300
259
|
]);
|
|
301
260
|
function getPipelinesReadOnlyToolNames() {
|
|
302
|
-
return [
|
|
303
|
-
"list_pipelines",
|
|
304
|
-
"get_pipeline",
|
|
305
|
-
"list_pipeline_jobs",
|
|
306
|
-
"list_pipeline_trigger_jobs",
|
|
307
|
-
"get_pipeline_job",
|
|
308
|
-
"get_pipeline_job_output",
|
|
309
|
-
];
|
|
261
|
+
return ["browse_pipelines"];
|
|
310
262
|
}
|
|
311
263
|
function getPipelinesToolDefinitions() {
|
|
312
264
|
return Array.from(exports.pipelinesToolRegistry.values());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/entities/pipelines/registry.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/entities/pipelines/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -124,8 +124,9 @@ export declare const GitLabPipelineTriggerJobSchema: z.ZodObject<{
|
|
|
124
124
|
web_url: z.ZodString;
|
|
125
125
|
}, z.core.$strip>>;
|
|
126
126
|
}, z.core.$strip>;
|
|
127
|
-
export declare const
|
|
128
|
-
project_id: z.ZodCoercedString<unknown
|
|
127
|
+
export declare const BrowsePipelinesSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
128
|
+
project_id: z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodCoercedString<unknown>>;
|
|
129
|
+
action: z.ZodLiteral<"list">;
|
|
129
130
|
scope: z.ZodOptional<z.ZodEnum<{
|
|
130
131
|
pending: "pending";
|
|
131
132
|
running: "running";
|
|
@@ -181,14 +182,14 @@ export declare const ListPipelinesSchema: z.ZodObject<{
|
|
|
181
182
|
}>>;
|
|
182
183
|
page: z.ZodOptional<z.ZodNumber>;
|
|
183
184
|
per_page: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
184
|
-
}, z.core.$strip
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
pipeline_id: z.ZodCoercedString<unknown
|
|
188
|
-
}, z.core.$strip
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
pipeline_id: z.ZodCoercedString<unknown
|
|
185
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
186
|
+
project_id: z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodCoercedString<unknown>>;
|
|
187
|
+
action: z.ZodLiteral<"get">;
|
|
188
|
+
pipeline_id: z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodCoercedString<unknown>>;
|
|
189
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
190
|
+
project_id: z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodCoercedString<unknown>>;
|
|
191
|
+
action: z.ZodLiteral<"jobs">;
|
|
192
|
+
pipeline_id: z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodCoercedString<unknown>>;
|
|
192
193
|
scope: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
193
194
|
pending: "pending";
|
|
194
195
|
failed: "failed";
|
|
@@ -202,10 +203,10 @@ export declare const ListPipelineJobsSchema: z.ZodObject<{
|
|
|
202
203
|
include_retried: z.ZodOptional<z.ZodBoolean>;
|
|
203
204
|
page: z.ZodOptional<z.ZodNumber>;
|
|
204
205
|
per_page: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
205
|
-
}, z.core.$strip
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
pipeline_id: z.ZodCoercedString<unknown
|
|
206
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
207
|
+
project_id: z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodCoercedString<unknown>>;
|
|
208
|
+
action: z.ZodLiteral<"triggers">;
|
|
209
|
+
pipeline_id: z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodCoercedString<unknown>>;
|
|
209
210
|
scope: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
210
211
|
pending: "pending";
|
|
211
212
|
failed: "failed";
|
|
@@ -221,18 +222,19 @@ export declare const ListPipelineTriggerJobsSchema: z.ZodObject<{
|
|
|
221
222
|
include_retried: z.ZodOptional<z.ZodBoolean>;
|
|
222
223
|
page: z.ZodOptional<z.ZodNumber>;
|
|
223
224
|
per_page: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
224
|
-
}, z.core.$strip
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
job_id: z.ZodCoercedString<unknown
|
|
225
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
226
|
+
project_id: z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodCoercedString<unknown>>;
|
|
227
|
+
action: z.ZodLiteral<"job">;
|
|
228
|
+
job_id: z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodCoercedString<unknown>>;
|
|
229
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
230
|
+
project_id: z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodCoercedString<unknown>>;
|
|
231
|
+
action: z.ZodLiteral<"logs">;
|
|
232
|
+
job_id: z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodCoercedString<unknown>>;
|
|
228
233
|
limit: z.ZodOptional<z.ZodNumber>;
|
|
229
234
|
max_lines: z.ZodOptional<z.ZodNumber>;
|
|
230
235
|
start: z.ZodOptional<z.ZodNumber>;
|
|
231
|
-
}, z.core.$strip>;
|
|
236
|
+
}, z.core.$strip>], "action">;
|
|
237
|
+
export type BrowsePipelinesInput = z.infer<typeof BrowsePipelinesSchema>;
|
|
232
238
|
export type GitLabPipeline = z.infer<typeof GitLabPipelineSchema>;
|
|
233
239
|
export type GitLabPipelineJob = z.infer<typeof GitLabPipelineJobSchema>;
|
|
234
240
|
export type GitLabPipelineTriggerJob = z.infer<typeof GitLabPipelineTriggerJobSchema>;
|
|
235
|
-
export type ListPipelinesOptions = z.infer<typeof ListPipelinesSchema>;
|
|
236
|
-
export type GetPipelineOptions = z.infer<typeof GetPipelineSchema>;
|
|
237
|
-
export type ListPipelineJobsOptions = z.infer<typeof ListPipelineJobsSchema>;
|
|
238
|
-
export type ListPipelineTriggerJobsOptions = z.infer<typeof ListPipelineTriggerJobsSchema>;
|