bamboo-mcp-server 1.1.3 → 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/CHANGELOG.md +12 -0
- package/README.md +5 -3
- package/dist/bamboo-client.d.ts +2 -0
- package/dist/bamboo-client.js +13 -0
- package/dist/tools/deployments.js +13 -0
- package/dist/tools/plans.js +14 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
# [1.2.0](https://github.com/norus/atlassian-bamboo-mcp/compare/v1.1.3...v1.2.0) (2026-02-06)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **ci:** bump release job Node.js version from 20 to 22 ([b765d05](https://github.com/norus/atlassian-bamboo-mcp/commit/b765d0554851d63d676764269c4de603a12e13fd))
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* add clone plan and create deployment project tools ([b7ab0c3](https://github.com/norus/atlassian-bamboo-mcp/commit/b7ab0c3c83f98d40e25878e66b2a62e681ebd70e))
|
|
12
|
+
|
|
1
13
|
## [1.1.3](https://github.com/norus/atlassian-bamboo-mcp/compare/v1.1.2...v1.1.3) (2026-01-09)
|
|
2
14
|
|
|
3
15
|
|
package/README.md
CHANGED
|
@@ -37,7 +37,7 @@ No tab-switching, no manual navigation — just ask and get instant CI/CD insigh
|
|
|
37
37
|
|
|
38
38
|
## Features
|
|
39
39
|
|
|
40
|
-
- **
|
|
40
|
+
- **26 tools** covering all major Bamboo operations
|
|
41
41
|
- **Build logs** with actual content (not just URLs)
|
|
42
42
|
- **Deployment logs** with full output
|
|
43
43
|
- **Proxy support** for corporate environments
|
|
@@ -246,7 +246,7 @@ services:
|
|
|
246
246
|
| `bamboo_list_projects` | List all projects |
|
|
247
247
|
| `bamboo_get_project` | Get project details by key |
|
|
248
248
|
|
|
249
|
-
### Plans (
|
|
249
|
+
### Plans (6)
|
|
250
250
|
|
|
251
251
|
| Tool | Description |
|
|
252
252
|
|------|-------------|
|
|
@@ -255,6 +255,7 @@ services:
|
|
|
255
255
|
| `bamboo_search_plans` | Search plans by name |
|
|
256
256
|
| `bamboo_enable_plan` | Enable a build plan |
|
|
257
257
|
| `bamboo_disable_plan` | Disable a build plan |
|
|
258
|
+
| `bamboo_clone_plan` | Clone a build plan to a new plan |
|
|
258
259
|
|
|
259
260
|
### Branches (2)
|
|
260
261
|
|
|
@@ -282,12 +283,13 @@ services:
|
|
|
282
283
|
| `bamboo_get_build_queue` | Get current build queue |
|
|
283
284
|
| `bamboo_get_deployment_queue` | Get deployment queue status |
|
|
284
285
|
|
|
285
|
-
### Deployments (
|
|
286
|
+
### Deployments (6)
|
|
286
287
|
|
|
287
288
|
| Tool | Description |
|
|
288
289
|
|------|-------------|
|
|
289
290
|
| `bamboo_list_deployment_projects` | List deployment projects |
|
|
290
291
|
| `bamboo_get_deployment_project` | Get deployment project details |
|
|
292
|
+
| `bamboo_create_deployment_project` | Create a deployment project linked to a build plan |
|
|
291
293
|
| `bamboo_get_deployment_results` | Get deployment results for environment |
|
|
292
294
|
| `bamboo_get_deployment_result` | Get deployment result with logs |
|
|
293
295
|
| `bamboo_trigger_deployment` | Trigger a deployment |
|
package/dist/bamboo-client.d.ts
CHANGED
|
@@ -26,6 +26,7 @@ export declare class BambooClient {
|
|
|
26
26
|
}): Promise<unknown>;
|
|
27
27
|
enablePlan(planKey: string): Promise<unknown>;
|
|
28
28
|
disablePlan(planKey: string): Promise<unknown>;
|
|
29
|
+
clonePlan(sourceKey: string, destKey: string): Promise<unknown>;
|
|
29
30
|
listPlanBranches(planKey: string, params?: {
|
|
30
31
|
enabledOnly?: boolean;
|
|
31
32
|
startIndex?: number;
|
|
@@ -58,6 +59,7 @@ export declare class BambooClient {
|
|
|
58
59
|
getDeploymentQueue(): Promise<unknown>;
|
|
59
60
|
listDeploymentProjects(): Promise<unknown>;
|
|
60
61
|
getDeploymentProject(projectId: string | number): Promise<unknown>;
|
|
62
|
+
createDeploymentProject(name: string, planKey: string, description?: string): Promise<unknown>;
|
|
61
63
|
triggerDeployment(versionId: string | number, environmentId: string | number): Promise<unknown>;
|
|
62
64
|
getDeploymentResults(environmentId: string | number, params?: {
|
|
63
65
|
startIndex?: number;
|
package/dist/bamboo-client.js
CHANGED
|
@@ -104,6 +104,9 @@ export class BambooClient {
|
|
|
104
104
|
async disablePlan(planKey) {
|
|
105
105
|
return this.request(`/plan/${planKey}/enable`, { method: 'DELETE' });
|
|
106
106
|
}
|
|
107
|
+
async clonePlan(sourceKey, destKey) {
|
|
108
|
+
return this.request(`/clone/${sourceKey}:${destKey}`, { method: 'PUT' });
|
|
109
|
+
}
|
|
107
110
|
// Branch endpoints
|
|
108
111
|
async listPlanBranches(planKey, params) {
|
|
109
112
|
const query = buildQueryString({
|
|
@@ -319,6 +322,16 @@ export class BambooClient {
|
|
|
319
322
|
async getDeploymentProject(projectId) {
|
|
320
323
|
return this.request(`/deploy/project/${projectId}`);
|
|
321
324
|
}
|
|
325
|
+
async createDeploymentProject(name, planKey, description) {
|
|
326
|
+
return this.request('/deploy/project', {
|
|
327
|
+
method: 'PUT',
|
|
328
|
+
body: JSON.stringify({
|
|
329
|
+
name,
|
|
330
|
+
planKey: { key: planKey },
|
|
331
|
+
...(description && { description }),
|
|
332
|
+
}),
|
|
333
|
+
});
|
|
334
|
+
}
|
|
322
335
|
async triggerDeployment(versionId, environmentId) {
|
|
323
336
|
return this.request(`/queue/deployment?versionId=${versionId}&environmentId=${environmentId}`, { method: 'POST' });
|
|
324
337
|
}
|
|
@@ -21,6 +21,19 @@ export function registerDeploymentTools(server, client) {
|
|
|
21
21
|
return formatError(error);
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
|
+
server.tool('bamboo_create_deployment_project', 'Create a new Bamboo deployment project linked to a build plan', {
|
|
25
|
+
name: z.string().describe('Name of the deployment project'),
|
|
26
|
+
plan_key: z.string().describe('Build plan key to link (e.g., "PROJ-PLAN")'),
|
|
27
|
+
description: z.string().optional().describe('Description of the deployment project'),
|
|
28
|
+
}, async ({ name, plan_key, description }) => {
|
|
29
|
+
try {
|
|
30
|
+
const result = await client.createDeploymentProject(name, plan_key, description);
|
|
31
|
+
return jsonResponse(result);
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
return formatError(error);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
24
37
|
server.tool('bamboo_trigger_deployment', 'Trigger a deployment to an environment', {
|
|
25
38
|
version_id: z.string().describe('The release version ID to deploy'),
|
|
26
39
|
environment_id: z.string().describe('The target environment ID'),
|
package/dist/tools/plans.js
CHANGED
|
@@ -70,4 +70,18 @@ export function registerPlanTools(server, client) {
|
|
|
70
70
|
return formatError(error);
|
|
71
71
|
}
|
|
72
72
|
});
|
|
73
|
+
server.tool('bamboo_clone_plan', 'Clone an existing Bamboo build plan to a new plan', {
|
|
74
|
+
source_plan_key: z.string().describe('Source plan key (e.g., "PROJ-PLAN")'),
|
|
75
|
+
dest_project_key: z.string().describe('Destination project key (e.g., "NEWPROJ")'),
|
|
76
|
+
dest_plan_key: z.string().describe('New plan key within destination project (e.g., "NEWPLAN")'),
|
|
77
|
+
}, async ({ source_plan_key, dest_project_key, dest_plan_key }) => {
|
|
78
|
+
try {
|
|
79
|
+
const destKey = `${dest_project_key}-${dest_plan_key}`;
|
|
80
|
+
const result = await client.clonePlan(source_plan_key, destKey);
|
|
81
|
+
return jsonResponse(result);
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
return formatError(error);
|
|
85
|
+
}
|
|
86
|
+
});
|
|
73
87
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bamboo-mcp-server",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "MCP server for Atlassian Bamboo",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"@types/node": "^20.0.0",
|
|
53
53
|
"@vitest/coverage-v8": "^4.0.16",
|
|
54
54
|
"msw": "^2.12.7",
|
|
55
|
-
"semantic-release": "^
|
|
55
|
+
"semantic-release": "^25.0.2",
|
|
56
56
|
"typescript": "^5.3.0",
|
|
57
57
|
"vitest": "^4.0.16"
|
|
58
58
|
},
|