@daghis/teamcity-mcp 1.1.0 → 1.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/CHANGELOG.md +14 -0
- package/dist/index.js +137 -0
- package/dist/index.js.map +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.2.1](https://github.com/Daghis/teamcity-mcp/compare/v1.2.0...v1.2.1) (2025-09-16)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* **tools:** ensure multi-ref branchSpec; remove alias logic ([#103](https://github.com/Daghis/teamcity-mcp/issues/103)) ([5012439](https://github.com/Daghis/teamcity-mcp/commit/5012439caa926422960d5ac569579a3a725732ad))
|
|
9
|
+
|
|
10
|
+
## [1.2.0](https://github.com/Daghis/teamcity-mcp/compare/v1.1.0...v1.2.0) (2025-09-15)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
* **tools:** add VCS root property management tools + integration test ([#95](https://github.com/Daghis/teamcity-mcp/issues/95)) ([13bbe17](https://github.com/Daghis/teamcity-mcp/commit/13bbe178564a53564aad4fcdb99bb3f2e5db4cb8))
|
|
16
|
+
|
|
3
17
|
## [1.1.0](https://github.com/Daghis/teamcity-mcp/compare/v1.0.6...v1.1.0) (2025-09-14)
|
|
4
18
|
|
|
5
19
|
|
package/dist/index.js
CHANGED
|
@@ -25681,6 +25681,143 @@ var DEV_TOOLS = [
|
|
|
25681
25681
|
);
|
|
25682
25682
|
}
|
|
25683
25683
|
},
|
|
25684
|
+
{
|
|
25685
|
+
name: "set_vcs_root_property",
|
|
25686
|
+
description: "Set a single VCS root property (e.g., branch, branchSpec, url)",
|
|
25687
|
+
inputSchema: {
|
|
25688
|
+
type: "object",
|
|
25689
|
+
properties: {
|
|
25690
|
+
id: { type: "string", description: "VCS root ID" },
|
|
25691
|
+
name: { type: "string", description: "Property name (e.g., branch, branchSpec, url)" },
|
|
25692
|
+
value: { type: "string", description: "Property value" }
|
|
25693
|
+
},
|
|
25694
|
+
required: ["id", "name", "value"]
|
|
25695
|
+
},
|
|
25696
|
+
handler: async (args) => {
|
|
25697
|
+
const schema = import_zod4.z.object({
|
|
25698
|
+
id: import_zod4.z.string().min(1),
|
|
25699
|
+
name: import_zod4.z.string().min(1),
|
|
25700
|
+
value: import_zod4.z.string()
|
|
25701
|
+
});
|
|
25702
|
+
return runTool(
|
|
25703
|
+
"set_vcs_root_property",
|
|
25704
|
+
schema,
|
|
25705
|
+
async (typed) => {
|
|
25706
|
+
const api = TeamCityAPI.getInstance();
|
|
25707
|
+
await api.vcsRoots.setVcsRootProperty(typed.id, typed.name, typed.value, {
|
|
25708
|
+
headers: { "Content-Type": "text/plain", Accept: "text/plain" }
|
|
25709
|
+
});
|
|
25710
|
+
return json({
|
|
25711
|
+
success: true,
|
|
25712
|
+
action: "set_vcs_root_property",
|
|
25713
|
+
id: typed.id,
|
|
25714
|
+
name: typed.name
|
|
25715
|
+
});
|
|
25716
|
+
},
|
|
25717
|
+
args
|
|
25718
|
+
);
|
|
25719
|
+
},
|
|
25720
|
+
mode: "full"
|
|
25721
|
+
},
|
|
25722
|
+
{
|
|
25723
|
+
name: "delete_vcs_root_property",
|
|
25724
|
+
description: "Delete a single VCS root property",
|
|
25725
|
+
inputSchema: {
|
|
25726
|
+
type: "object",
|
|
25727
|
+
properties: {
|
|
25728
|
+
id: { type: "string", description: "VCS root ID" },
|
|
25729
|
+
name: { type: "string", description: "Property name" }
|
|
25730
|
+
},
|
|
25731
|
+
required: ["id", "name"]
|
|
25732
|
+
},
|
|
25733
|
+
handler: async (args) => {
|
|
25734
|
+
const schema = import_zod4.z.object({ id: import_zod4.z.string().min(1), name: import_zod4.z.string().min(1) });
|
|
25735
|
+
return runTool(
|
|
25736
|
+
"delete_vcs_root_property",
|
|
25737
|
+
schema,
|
|
25738
|
+
async (typed) => {
|
|
25739
|
+
const api = TeamCityAPI.getInstance();
|
|
25740
|
+
await api.vcsRoots.deleteVcsRootProperty(typed.id, typed.name);
|
|
25741
|
+
return json({
|
|
25742
|
+
success: true,
|
|
25743
|
+
action: "delete_vcs_root_property",
|
|
25744
|
+
id: typed.id,
|
|
25745
|
+
name: typed.name
|
|
25746
|
+
});
|
|
25747
|
+
},
|
|
25748
|
+
args
|
|
25749
|
+
);
|
|
25750
|
+
},
|
|
25751
|
+
mode: "full"
|
|
25752
|
+
},
|
|
25753
|
+
{
|
|
25754
|
+
name: "update_vcs_root_properties",
|
|
25755
|
+
description: "Update common VCS root properties in one call",
|
|
25756
|
+
inputSchema: {
|
|
25757
|
+
type: "object",
|
|
25758
|
+
properties: {
|
|
25759
|
+
id: { type: "string", description: "VCS root ID" },
|
|
25760
|
+
url: { type: "string", description: "Repository URL" },
|
|
25761
|
+
branch: { type: "string", description: "Default branch (e.g., refs/heads/main)" },
|
|
25762
|
+
branchSpec: {
|
|
25763
|
+
oneOf: [
|
|
25764
|
+
{ type: "string", description: "Branch spec as newline-delimited string" },
|
|
25765
|
+
{ type: "array", items: { type: "string" }, description: "Array of branch spec lines" }
|
|
25766
|
+
]
|
|
25767
|
+
},
|
|
25768
|
+
checkoutRules: { type: "string", description: "Checkout rules" }
|
|
25769
|
+
},
|
|
25770
|
+
required: ["id"]
|
|
25771
|
+
},
|
|
25772
|
+
handler: async (args) => {
|
|
25773
|
+
const schema = import_zod4.z.object({
|
|
25774
|
+
id: import_zod4.z.string().min(1),
|
|
25775
|
+
url: import_zod4.z.string().min(1).optional(),
|
|
25776
|
+
branch: import_zod4.z.string().min(1).optional(),
|
|
25777
|
+
branchSpec: import_zod4.z.union([import_zod4.z.string().min(1), import_zod4.z.array(import_zod4.z.string().min(1)).min(1)]).optional(),
|
|
25778
|
+
checkoutRules: import_zod4.z.string().min(1).optional()
|
|
25779
|
+
});
|
|
25780
|
+
return runTool(
|
|
25781
|
+
"update_vcs_root_properties",
|
|
25782
|
+
schema,
|
|
25783
|
+
async (typed) => {
|
|
25784
|
+
const api = TeamCityAPI.getInstance();
|
|
25785
|
+
const properties = [];
|
|
25786
|
+
if (typeof typed.url === "string") properties.push({ name: "url", value: typed.url });
|
|
25787
|
+
if (typeof typed.branch === "string")
|
|
25788
|
+
properties.push({ name: "branch", value: typed.branch });
|
|
25789
|
+
if (typeof typed.checkoutRules === "string")
|
|
25790
|
+
properties.push({ name: "checkout-rules", value: typed.checkoutRules });
|
|
25791
|
+
if (typed.branchSpec !== void 0) {
|
|
25792
|
+
const value = Array.isArray(typed.branchSpec) ? typed.branchSpec.join("\n") : typed.branchSpec;
|
|
25793
|
+
properties.push({ name: "branchSpec", value });
|
|
25794
|
+
}
|
|
25795
|
+
if (properties.length === 0) {
|
|
25796
|
+
return json({
|
|
25797
|
+
success: true,
|
|
25798
|
+
action: "update_vcs_root_properties",
|
|
25799
|
+
id: typed.id,
|
|
25800
|
+
updated: 0
|
|
25801
|
+
});
|
|
25802
|
+
}
|
|
25803
|
+
await api.vcsRoots.setVcsRootProperties(
|
|
25804
|
+
typed.id,
|
|
25805
|
+
void 0,
|
|
25806
|
+
{ property: properties },
|
|
25807
|
+
{ headers: { "Content-Type": "application/json", Accept: "application/json" } }
|
|
25808
|
+
);
|
|
25809
|
+
return json({
|
|
25810
|
+
success: true,
|
|
25811
|
+
action: "update_vcs_root_properties",
|
|
25812
|
+
id: typed.id,
|
|
25813
|
+
updated: properties.length
|
|
25814
|
+
});
|
|
25815
|
+
},
|
|
25816
|
+
args
|
|
25817
|
+
);
|
|
25818
|
+
},
|
|
25819
|
+
mode: "full"
|
|
25820
|
+
},
|
|
25684
25821
|
// === Queue (read-only) ===
|
|
25685
25822
|
{
|
|
25686
25823
|
name: "list_queued_builds",
|