From 080c3ebc4fc1f231f85ce5c73b1538801e0c194f Mon Sep 17 00:00:00 2001 From: kdletters Date: Sat, 15 Aug 2026 19:18:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=A2=84=E8=A7=88=E9=83=A8?= =?UTF-8?q?=E7=BD=B2=E7=BB=93=E6=9E=9C=E5=AD=97=E6=AE=B5=E5=86=B2=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 使用权威 branch 和 resolvedCommit 字段解析 Jenkins 产物 移除与附加 source 字段冲突的旧别名 保留状态解析错误上下文以便安全排障 --- server-rs/crates/preview-deployer-server/src/jenkins.rs | 9 ++++----- server-rs/crates/preview-deployer-server/src/tests.rs | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/server-rs/crates/preview-deployer-server/src/jenkins.rs b/server-rs/crates/preview-deployer-server/src/jenkins.rs index 19d9e8be3..74cf27217 100644 --- a/server-rs/crates/preview-deployer-server/src/jenkins.rs +++ b/server-rs/crates/preview-deployer-server/src/jenkins.rs @@ -52,9 +52,7 @@ pub struct PreviewResult { #[serde(alias = "id")] pub deployment_id: Option, pub project_name: Option, - #[serde(alias = "sourceBranch")] pub branch: Option, - #[serde(alias = "sourceCommit")] pub resolved_commit: Option, pub status: Option, pub health: Option, @@ -273,10 +271,11 @@ impl JenkinsClient { if !response.status().is_success() { return Err(format!("Jenkins 状态返回 HTTP {}", response.status())); } - response - .json() + let bytes = response + .bytes() .await - .map_err(|_| "Jenkins 状态响应格式无效".to_string()) + .map_err(|error| format!("Jenkins 状态响应正文读取失败: {error}"))?; + serde_json::from_slice(&bytes).map_err(|error| format!("Jenkins 状态响应格式无效: {error}")) } async fn get_json_with_retry(&self, url: Url) -> Result { diff --git a/server-rs/crates/preview-deployer-server/src/tests.rs b/server-rs/crates/preview-deployer-server/src/tests.rs index 615981c31..dc13bf960 100644 --- a/server-rs/crates/preview-deployer-server/src/tests.rs +++ b/server-rs/crates/preview-deployer-server/src/tests.rs @@ -130,7 +130,7 @@ async fn mock_artifact(axum::extract::Path(build): axum::extract::Path) -> "deploymentId": "preview-63d38d3da6bc9b06", "projectName": "genarrative-preview-63d38d3da6bc9b06", "branch": "feature/preview-ui", - "sourceCommit": "0123456789abcdef0123456789abcdef01234567", + "resolvedCommit": "0123456789abcdef0123456789abcdef01234567", "phase": "RUNNING", "healthStatus": "HEALTHY", "webUrl": "http://192.168.35.82:8400",