@daghis/teamcity-mcp 2.0.0 → 2.0.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 +7 -0
- package/dist/index.js +12 -13
- package/package.json +1 -1
- package/server.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.0.1](https://github.com/Daghis/teamcity-mcp/compare/teamcity-mcp-v2.0.0...teamcity-mcp-v2.0.1) (2025-12-23)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* resolve HTTP 400 when updating artifactRules via update_build_config ([#335](https://github.com/Daghis/teamcity-mcp/issues/335)) ([21614ad](https://github.com/Daghis/teamcity-mcp/commit/21614ad9af4e7a519a0ece0d7c41b90a10f74a73))
|
|
9
|
+
|
|
3
10
|
## [2.0.0](https://github.com/Daghis/teamcity-mcp/compare/teamcity-mcp-v1.13.1...teamcity-mcp-v2.0.0) (2025-12-22)
|
|
4
11
|
|
|
5
12
|
|
package/dist/index.js
CHANGED
|
@@ -1195,7 +1195,7 @@ function debug2(message, meta) {
|
|
|
1195
1195
|
// package.json
|
|
1196
1196
|
var package_default = {
|
|
1197
1197
|
name: "@daghis/teamcity-mcp",
|
|
1198
|
-
version: "2.0.
|
|
1198
|
+
version: "2.0.1",
|
|
1199
1199
|
description: "Model Control Protocol server for TeamCity CI/CD integration with AI coding assistants",
|
|
1200
1200
|
mcpName: "io.github.Daghis/teamcity",
|
|
1201
1201
|
main: "dist/index.js",
|
|
@@ -2327,8 +2327,6 @@ var BuildConfigurationCloneManager = class {
|
|
|
2327
2327
|
};
|
|
2328
2328
|
|
|
2329
2329
|
// src/teamcity/build-configuration-update-manager.ts
|
|
2330
|
-
var ARTIFACT_RULES_SETTINGS_FIELD = "settings/artifactRules";
|
|
2331
|
-
var ARTIFACT_RULES_LEGACY_FIELD = "artifactRules";
|
|
2332
2330
|
var isArtifactRulesRetryableError = (error3) => {
|
|
2333
2331
|
if (error3 == null || typeof error3 !== "object") return false;
|
|
2334
2332
|
if (!("response" in error3)) return false;
|
|
@@ -2336,9 +2334,12 @@ var isArtifactRulesRetryableError = (error3) => {
|
|
|
2336
2334
|
const status = response?.status;
|
|
2337
2335
|
return status === 400 || status === 404;
|
|
2338
2336
|
};
|
|
2339
|
-
var setArtifactRulesWithFallback = async (
|
|
2337
|
+
var setArtifactRulesWithFallback = async (http, buildTypeId, artifactRules) => {
|
|
2338
|
+
const encodedId = encodeURIComponent(buildTypeId);
|
|
2340
2339
|
try {
|
|
2341
|
-
await
|
|
2340
|
+
await http.put(`/app/rest/buildTypes/${encodedId}/settings/artifactRules`, artifactRules, {
|
|
2341
|
+
headers: { "Content-Type": "text/plain" }
|
|
2342
|
+
});
|
|
2342
2343
|
} catch (err) {
|
|
2343
2344
|
if (!isArtifactRulesRetryableError(err)) {
|
|
2344
2345
|
throw err;
|
|
@@ -2349,7 +2350,9 @@ var setArtifactRulesWithFallback = async (api, buildTypeId, artifactRules) => {
|
|
|
2349
2350
|
status
|
|
2350
2351
|
});
|
|
2351
2352
|
try {
|
|
2352
|
-
await
|
|
2353
|
+
await http.put(`/app/rest/buildTypes/${encodedId}/artifactRules`, artifactRules, {
|
|
2354
|
+
headers: { "Content-Type": "text/plain" }
|
|
2355
|
+
});
|
|
2353
2356
|
} catch (fallbackError) {
|
|
2354
2357
|
debug2("Legacy artifact rules update failed", {
|
|
2355
2358
|
buildTypeId,
|
|
@@ -2569,11 +2572,7 @@ var BuildConfigurationUpdateManager = class {
|
|
|
2569
2572
|
if (settings.length > 0) {
|
|
2570
2573
|
for (const setting of settings) {
|
|
2571
2574
|
if (setting.name === "artifactRules") {
|
|
2572
|
-
await setArtifactRulesWithFallback(
|
|
2573
|
-
this.client.modules.buildTypes,
|
|
2574
|
-
currentConfig.id,
|
|
2575
|
-
setting.value
|
|
2576
|
-
);
|
|
2575
|
+
await setArtifactRulesWithFallback(this.client.http, currentConfig.id, setting.value);
|
|
2577
2576
|
continue;
|
|
2578
2577
|
}
|
|
2579
2578
|
await this.client.modules.buildTypes.setBuildTypeField(
|
|
@@ -42025,7 +42024,7 @@ var FULL_MODE_TOOLS = [
|
|
|
42025
42024
|
}
|
|
42026
42025
|
if (typedArgs.artifactRules !== void 0) {
|
|
42027
42026
|
await setArtifactRulesWithFallback(
|
|
42028
|
-
adapter.
|
|
42027
|
+
adapter.http,
|
|
42029
42028
|
typedArgs.buildTypeId,
|
|
42030
42029
|
typedArgs.artifactRules
|
|
42031
42030
|
);
|
|
@@ -42048,7 +42047,7 @@ var FULL_MODE_TOOLS = [
|
|
|
42048
42047
|
}
|
|
42049
42048
|
if (typedArgs.artifactRules !== void 0) {
|
|
42050
42049
|
await setArtifactRulesWithFallback(
|
|
42051
|
-
adapter.
|
|
42050
|
+
adapter.http,
|
|
42052
42051
|
typedArgs.buildTypeId,
|
|
42053
42052
|
typedArgs.artifactRules
|
|
42054
42053
|
);
|
package/package.json
CHANGED
package/server.json
CHANGED
|
@@ -7,13 +7,13 @@
|
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
9
|
"websiteUrl": "https://github.com/Daghis/teamcity-mcp",
|
|
10
|
-
"version": "2.0.
|
|
10
|
+
"version": "2.0.1",
|
|
11
11
|
"packages": [
|
|
12
12
|
{
|
|
13
13
|
"registryType": "npm",
|
|
14
14
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
15
15
|
"identifier": "@daghis/teamcity-mcp",
|
|
16
|
-
"version": "2.0.
|
|
16
|
+
"version": "2.0.1",
|
|
17
17
|
"runtimeHint": "npx",
|
|
18
18
|
"runtimeArguments": [
|
|
19
19
|
{
|