Generic Cause GenericWebhookEnvironmentContributor Received: {"object_kind":"push","event_name":"push","before":"070e303b9d86b8351cf11854d49280db4a352031","after":"9d4362d6cc2ddab8c014eaba584186dd455b4d1b","ref":"refs/heads/v3.0","checkout_sha":"9d4362d6cc2ddab8c014eaba584186dd455b4d1b","message":null,"user_id":6,"user_name":"liuyong","user_username":"liuyong","user_email":"","user_avatar":"https://www.gravatar.com/avatar/ea9c014430a3769478fc3f51da087dd2?s=80&d=identicon","project_id":606,"project":{"id":606,"name":"tc397_ota","description":"","web_url":"http://159.27.226.4/hardware/tc397_ota","avatar_url":null,"git_ssh_url":"git@159.27.226.4:hardware/tc397_ota.git","git_http_url":"http://159.27.226.4/hardware/tc397_ota.git","namespace":"Hardware","visibility_level":0,"path_with_namespace":"hardware/tc397_ota","default_branch":"main","ci_config_path":null,"homepage":"http://159.27.226.4/hardware/tc397_ota","url":"git@159.27.226.4:hardware/tc397_ota.git","ssh_url":"git@159.27.226.4:hardware/tc397_ota.git","http_url":"http://159.27.226.4/hardware/tc397_ota.git"},"commits":[{"id":"9d4362d6cc2ddab8c014eaba584186dd455b4d1b","message":"feat_out: v3.0 1.吉利汽车锁站切模式的逻辑仅适用于梁山港。 2. 蓬翔汽车修复遥控状态反馈的bug.\n","title":"feat_out: v3.0 1.吉利汽车锁站切模式的逻辑仅适用于梁山港。 2. 蓬翔汽车修复遥控状态反馈的bug.","timestamp":"2026-08-15T09:31:40+08:00","url":"http://159.27.226.4/hardware/tc397_ota/-/commit/9d4362d6cc2ddab8c014eaba584186dd455b4d1b","author":{"name":"liuyong","email":"liuyong@senior.auto"},"added":[],"modified":["TC397.hex"],"removed":[]}],"total_commits_count":1,"push_options":{},"repository":{"name":"tc397_ota","url":"git@159.27.226.4:hardware/tc397_ota.git","description":"","homepage":"http://159.27.226.4/hardware/tc397_ota","git_http_url":"http://159.27.226.4/hardware/tc397_ota.git","git_ssh_url":"git@159.27.226.4:hardware/tc397_ota.git","visibility_level":0}} Contributing variables: branch = refs/heads/v3.0 object_kind = push projectId = 606 projectName = tc397_ota runOpts = GitlabPush runOpts_0 = GitlabPush userName = liuyong Obtained hardware/tc397_ota.jenkinsfile from git http://159.27.226.4/weilikang/jenkinsfiles.git Loading library jenkinslib@master Attempting to resolve master from remote references... > git --version # timeout=10 > git --version # 'git version 2.25.1' using GIT_ASKPASS to set credentials gitlab_weilk > git ls-remote -h -- http://159.27.226.4/weilikang/jenkinslib.git # timeout=10 Found match: refs/heads/master revision 6eda9ac8f53c9e9a0fc26d9adfa349d451f80a63 The recommended git tool is: NONE using credential gitlab_weilk > git rev-parse --resolve-git-dir /var/lib/jenkins/workspace/tc397_ota@libs/e94781a6efe9f09486b8ea226d2b758971618b049d1fe436de6265fac85ceea3/.git # timeout=10 Fetching changes from the remote Git repository > git config remote.origin.url http://159.27.226.4/weilikang/jenkinslib.git # timeout=10 Fetching without tags Fetching upstream changes from http://159.27.226.4/weilikang/jenkinslib.git > git --version # timeout=10 > git --version # 'git version 2.25.1' using GIT_ASKPASS to set credentials gitlab_weilk > git fetch --no-tags --force --progress -- http://159.27.226.4/weilikang/jenkinslib.git +refs/heads/*:refs/remotes/origin/* # timeout=10 Checking out Revision 6eda9ac8f53c9e9a0fc26d9adfa349d451f80a63 (master) > git config core.sparsecheckout # timeout=10 > git checkout -f 6eda9ac8f53c9e9a0fc26d9adfa349d451f80a63 # timeout=10 Commit message: "Update orinModule64Choice.groovy" > git rev-list --no-walk 6eda9ac8f53c9e9a0fc26d9adfa349d451f80a63 # timeout=10 [Pipeline] Start of Pipeline [Pipeline] echo tc397_ota [Pipeline] echo GitlabPush [Pipeline] echo v3.0 [Pipeline] node Running on Jenkins in /var/lib/jenkins/workspace/tc397_ota [Pipeline] { [Pipeline] stage [Pipeline] { (Declarative: Checkout SCM) [Pipeline] checkout The recommended git tool is: NONE using credential gitlab_weilk > git rev-parse --resolve-git-dir /var/lib/jenkins/workspace/tc397_ota/.git # timeout=10 Fetching changes from the remote Git repository > git config remote.origin.url http://159.27.226.4/weilikang/jenkinsfiles.git # timeout=10 Fetching upstream changes from http://159.27.226.4/weilikang/jenkinsfiles.git > git --version # timeout=10 > git --version # 'git version 2.25.1' using GIT_ASKPASS to set credentials gitlab_weilk > git fetch --tags --force --progress -- http://159.27.226.4/weilikang/jenkinsfiles.git +refs/heads/*:refs/remotes/origin/* # timeout=10 > git rev-parse refs/remotes/origin/master^{commit} # timeout=10 Checking out Revision 5a88a9b6a5620171ede7924afb9741e9279e6bc9 (refs/remotes/origin/master) > git config core.sparsecheckout # timeout=10 > git checkout -f 5a88a9b6a5620171ede7924afb9741e9279e6bc9 # timeout=10 Commit message: "Update map-png.jenkinsfile" > git rev-list --no-walk 5a88a9b6a5620171ede7924afb9741e9279e6bc9 # timeout=10 [Pipeline] } [Pipeline] // stage [Pipeline] withEnv [Pipeline] { [Pipeline] withEnv [Pipeline] { [Pipeline] stage [Pipeline] { (checkout) [Pipeline] script [Pipeline] { [Pipeline] echo v3.0 [Pipeline] ansiColor [Pipeline] { [Pipeline] echo  >>>>>>>>>>拉取tc397_ota>>>>>>>>>>  [Pipeline] } [Pipeline] // ansiColor [Pipeline] sh + rm -rf /root/workspace/tc397_ota/tc397_ota /root/workspace/tc397_ota/tc397_ota_2026-08-13_15-41-03 /root/workspace/tc397_ota/tc397_ota_2026-08-13_15-41-03.zip /root/workspace/tc397_ota/version.json + mkdir /root/workspace/tc397_ota/tc397_ota/ [Pipeline] dir Running in /root/workspace/tc397_ota/tc397_ota [Pipeline] { [Pipeline] checkout The recommended git tool is: NONE using credential gitlab_ota Cloning the remote Git repository Cloning repository http://159.27.226.4/hardware/tc397_ota.git > git init /root/workspace/tc397_ota/tc397_ota # timeout=10 Fetching upstream changes from http://159.27.226.4/hardware/tc397_ota.git > git --version # timeout=10 > git --version # 'git version 2.25.1' using GIT_ASKPASS to set credentials gitlab_ota > git fetch --tags --force --progress -- http://159.27.226.4/hardware/tc397_ota.git +refs/heads/*:refs/remotes/origin/* # timeout=10 > git config remote.origin.url http://159.27.226.4/hardware/tc397_ota.git # timeout=10 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10 Avoid second fetch > git rev-parse origin/v3.0^{commit} # timeout=10 Checking out Revision 9d4362d6cc2ddab8c014eaba584186dd455b4d1b (origin/v3.0) > git config core.sparsecheckout # timeout=10 > git checkout -f 9d4362d6cc2ddab8c014eaba584186dd455b4d1b # timeout=10 Commit message: "feat_out: v3.0 1.吉利汽车锁站切模式的逻辑仅适用于梁山港。 2. 蓬翔汽车修复遥控状态反馈的bug." > git rev-list --no-walk 070e303b9d86b8351cf11854d49280db4a352031 # timeout=10 [Pipeline] } [Pipeline] // dir [Pipeline] sh + rm -rf /root/workspace/tc397_ota@tmp [Pipeline] } [Pipeline] // script [Pipeline] } [Pipeline] // stage [Pipeline] stage [Pipeline] { (zip->post) [Pipeline] script [Pipeline] { [Pipeline] ansiColor [Pipeline] { [Pipeline] echo  >>>>>>>>>>压缩成zip包>>>>>>>>>>  [Pipeline] } [Pipeline] // ansiColor [Pipeline] readJSON [Pipeline] withCredentials Masking supported pattern matches of $gitlabToken [Pipeline] { [Pipeline] httpRequest Warning: A secret was passed to "httpRequest" using Groovy String interpolation, which is insecure. Affected argument(s) used the following variable(s): [gitlabToken] See https://jenkins.io/redirect/groovy-string-interpolation for details. HttpMethod: GET URL: http://159.27.226.4/api/v4/projects?search=tc397_ota&per_page=100 Content-Type: application/json PRIVATE-TOKEN: ***** Sending request to url: http://159.27.226.4/api/v4/projects?search=tc397_ota&per_page=100 Response Code: HTTP/1.1 200 OK Response: [{"id":606,"description":"","name":"tc397_ota","name_with_namespace":"Hardware / tc397_ota","path":"tc397_ota","path_with_namespace":"hardware/tc397_ota","created_at":"2023-05-08T12:56:19.632Z","default_branch":"main","tag_list":[],"topics":[],"ssh_url_to_repo":"git@159.27.226.4:hardware/tc397_ota.git","http_url_to_repo":"http://159.27.226.4/hardware/tc397_ota.git","web_url":"http://159.27.226.4/hardware/tc397_ota","readme_url":null,"avatar_url":null,"forks_count":0,"star_count":0,"last_activity_at":"2026-08-15T01:31:48.362Z","namespace":{"id":13,"name":"Hardware","path":"hardware","kind":"group","full_path":"hardware","parent_id":null,"avatar_url":null,"web_url":"http://159.27.226.4/groups/hardware"},"_links":{"self":"http://159.27.226.4/api/v4/projects/606","issues":"http://159.27.226.4/api/v4/projects/606/issues","merge_requests":"http://159.27.226.4/api/v4/projects/606/merge_requests","repo_branches":"http://159.27.226.4/api/v4/projects/606/repository/branches","labels":"http://159.27.226.4/api/v4/projects/606/labels","events":"http://159.27.226.4/api/v4/projects/606/events","members":"http://159.27.226.4/api/v4/projects/606/members","cluster_agents":"http://159.27.226.4/api/v4/projects/606/cluster_agents"},"packages_enabled":true,"empty_repo":false,"archived":false,"visibility":"private","resolve_outdated_diff_discussions":false,"container_expiration_policy":{"cadence":"1d","enabled":false,"keep_n":10,"older_than":"90d","name_regex":".*","name_regex_keep":null,"next_run_at":"2023-05-09T12:56:19.671Z"},"issues_enabled":true,"merge_requests_enabled":true,"wiki_enabled":true,"jobs_enabled":true,"snippets_enabled":true,"container_registry_enabled":true,"service_desk_enabled":false,"service_desk_address":null,"can_create_merge_request_in":true,"issues_access_level":"enabled","repository_access_level":"enabled","merge_requests_access_level":"enabled","forking_access_level":"enabled","wiki_access_level":"enabled","builds_access_level":"enabled","snippets_access_level":"enabled","pages_access_level":"private","operations_access_level":"enabled","analytics_access_level":"enabled","container_registry_access_level":"enabled","security_and_compliance_access_level":"private","emails_disabled":null,"shared_runners_enabled":true,"lfs_enabled":true,"creator_id":6,"import_status":"none","open_issues_count":0,"ci_default_git_depth":20,"ci_forward_deployment_enabled":true,"ci_job_token_scope_enabled":false,"ci_separated_caches":true,"public_jobs":true,"build_timeout":3600,"auto_cancel_pending_pipelines":"enabled","build_coverage_regex":null,"ci_config_path":null,"shared_with_groups":[],"only_allow_merge_if_pipeline_succeeds":false,"allow_merge_on_skipped_pipeline":null,"restrict_user_defined_variables":false,"request_access_enabled":true,"only_allow_merge_if_all_discussions_are_resolved":false,"remove_source_branch_after_merge":true,"printing_merge_request_link_enabled":true,"merge_method":"merge","squash_option":"default_off","enforce_auth_checks_on_uploads":true,"suggestion_commit_message":null,"merge_commit_template":null,"squash_commit_template":null,"auto_devops_enabled":false,"auto_devops_deploy_strategy":"continuous","autoclose_referenced_issues":true,"keep_latest_artifact":true,"runner_token_expiration_interval":null,"permissions":{"project_access":{"access_level":30,"notification_level":3},"group_access":null}}] Success: Status code 200 is in the accepted range: 100:399 [Pipeline] } [Pipeline] // withCredentials [Pipeline] readJSON [Pipeline] echo hardware/tc397_ota [Pipeline] echo 606 [Pipeline] echo 606 [Pipeline] dir Running in /root/workspace/tc397_ota [Pipeline] { [Pipeline] dir Running in /root/workspace/tc397_ota/tc397_ota [Pipeline] { [Pipeline] sh + echo -n '{"module":[' [Pipeline] sh + git rev-parse --short HEAD [Pipeline] sh + python3 /root/weilk/project/get_git_now.py 606 9d4362d [Pipeline] echo "device":1,"device_name":"none","type":1,"project":"0" [Pipeline] sh + echo -n '{"repo_name":"tc397_ota","branch":"v3.0","port":"hairun","time":"2026-08-15_09-31-55","commit_id":"9d4362d","version":"","commit_msgs":",IHYzLjAgMS7lkInliKnmsb3ovabplIHnq5nliIfmqKHlvI/nmoTpgLvovpHku4XpgILnlKjkuo7mooHlsbHmuK/jgIIgMi4g6JOs57+U5rG96L2m5L+u5aSN6YGl5o6n54q25oCB5Y+N6aaI55qEYnVnLg==,"}],"device":1,"device_name":"none","type":1,"project":"0"}' [Pipeline] sh + cat /root/workspace/tc397_ota/version.json {"module":[{"repo_name":"tc397_ota","branch":"v3.0","port":"hairun","time":"2026-08-15_09-31-55","commit_id":"9d4362d","version":"","commit_msgs":",IHYzLjAgMS7lkInliKnmsb3ovabplIHnq5nliIfmqKHlvI/nmoTpgLvovpHku4XpgILnlKjkuo7mooHlsbHmuK/jgIIgMi4g6JOs57+U5rG96L2m5L+u5aSN6YGl5o6n54q25oCB5Y+N6aaI55qEYnVnLg==,"}],"device":1,"device_name":"none","type":1,"project":"0"} [Pipeline] } [Pipeline] // dir [Pipeline] sh + cp -r tc397_ota/ tc397_ota_2026-08-15_09-31-58 [Pipeline] sh + rm -rf tc397_ota_2026-08-15_09-31-58/.git/ [Pipeline] sh + zip -rq tc397_ota_2026-08-15_09-31-58.zip ./tc397_ota_2026-08-15_09-31-58/ ./version.json [Pipeline] sh + ls /root/workspace/tc397_ota/ tc397_ota tc397_ota_2026-08-15_09-31-58 tc397_ota_2026-08-15_09-31-58.zip tc397_ota@tmp version.json [Pipeline] sh + curl -X POST http://127.0.0.1:8090/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/tc397_ota/tc397_ota_2026-08-15_09-31-58.zip"' --form 'version=@"/root/workspace/tc397_ota/version.json"' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 342k 0 0 100 342k 0 1712k --:--:-- --:--:-- --:--:-- 1704k 100 342k 0 43 100 342k 199 1586k --:--:-- --:--:-- --:--:-- 1578k [Pipeline] echo {"msg":"操作成功","code":200,"data":""} [Pipeline] readJSON [Pipeline] echo [msg:操作成功, code:200, data:] [Pipeline] echo status:200 [Pipeline] echo {"msg":"操作成功","code":200,"data":""} [Pipeline] sh + curl -X POST http://61.153.150.243:2200/ota-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/tc397_ota/tc397_ota_2026-08-15_09-31-58.zip"' --form 'version=@"/root/workspace/tc397_ota/version.json"' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 342k 0 0 100 342k 0 255k 0:00:01 0:00:01 --:--:-- 255k 100 342k 0 0 100 342k 0 146k 0:00:02 0:00:02 --:--:-- 146k 100 342k 0 0 100 342k 0 102k 0:00:03 0:00:03 --:--:-- 102k 100 342k 0 0 100 342k 0 80792 0:00:04 0:00:04 --:--:-- 80792 100 342k 0 0 100 342k 0 65656 0:00:05 0:00:05 --:--:-- 65656 100 342k 0 0 100 342k 0 55296 0:00:06 0:00:06 --:--:-- 0 100 342k 0 0 100 342k 0 47760 0:00:07 0:00:07 --:--:-- 0 100 342k 0 0 100 342k 0 42032 0:00:08 0:00:08 --:--:-- 0 100 342k 0 0 100 342k 0 37530 0:00:09 0:00:09 --:--:-- 0 100 342k 0 0 100 342k 0 33900 0:00:10 0:00:10 --:--:-- 0 100 342k 0 0 100 342k 0 30910 0:00:11 0:00:11 --:--:-- 0 100 342k 0 0 100 342k 0 28405 0:00:12 0:00:12 --:--:-- 0 100 342k 0 0 100 342k 0 26275 0:00:13 0:00:13 --:--:-- 0 100 342k 0 0 100 342k 0 24442 0:00:14 0:00:14 --:--:-- 0 100 342k 0 0 100 342k 0 22849 0:00:15 0:00:15 --:--:-- 0 100 342k 0 43 100 342k 2 22458 0:00:15 0:00:15 --:--:-- 10 [Pipeline] echo {"msg":"操作成功","code":200,"data":""} [Pipeline] readJSON [Pipeline] echo [msg:操作成功, code:200, data:] [Pipeline] echo status:200 [Pipeline] echo {"msg":"操作成功","code":200,"data":""} [Pipeline] sh + curl -X POST http://172.16.110.148:60180/ota-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/tc397_ota/tc397_ota_2026-08-15_09-31-58.zip"' --form 'version=@"/root/workspace/tc397_ota/version.json"' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 342k 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 342k 0 0 100 342k 0 167k 0:00:02 0:00:02 --:--:-- 167k 100 342k 0 0 100 342k 0 112k 0:00:03 0:00:03 --:--:-- 112k 100 342k 0 0 100 342k 0 86746 0:00:04 0:00:04 --:--:-- 86746 100 342k 0 0 100 342k 0 69534 0:00:05 0:00:05 --:--:-- 69534 100 342k 0 0 100 342k 0 58022 0:00:06 0:00:06 --:--:-- 60017 100 342k 0 0 100 342k 0 49780 0:00:07 0:00:07 --:--:-- 0 100 342k 0 0 100 342k 0 43588 0:00:08 0:00:08 --:--:-- 0 100 342k 0 0 100 342k 0 38766 0:00:09 0:00:09 --:--:-- 0 100 342k 0 0 100 342k 0 34905 0:00:10 0:00:10 --:--:-- 0 100 342k 0 43 100 342k 3 32112 0:00:10 0:00:10 --:--:-- 8 100 342k 0 43 100 342k 3 32112 0:00:10 0:00:10 --:--:-- 11 [Pipeline] echo {"msg":"操作成功","code":200,"data":""} [Pipeline] readJSON [Pipeline] echo [msg:操作成功, code:200, data:] [Pipeline] echo status:200 [Pipeline] echo {"msg":"操作成功","code":200,"data":""} [Pipeline] sh + curl -X POST http://172.16.110.145:50080/ota-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/tc397_ota/tc397_ota_2026-08-15_09-31-58.zip"' --form 'version=@"/root/workspace/tc397_ota/version.json"' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 342k 0 0 100 342k 0 329k 0:00:01 0:00:01 --:--:-- 329k 100 342k 0 0 100 342k 0 167k 0:00:02 0:00:02 --:--:-- 167k 100 342k 0 0 100 342k 0 112k 0:00:03 0:00:03 --:--:-- 112k 100 342k 0 0 100 342k 0 86724 0:00:04 0:00:04 --:--:-- 86724 100 342k 0 0 100 342k 0 69520 0:00:05 0:00:05 --:--:-- 69520 100 342k 0 0 100 342k 0 58012 0:00:06 0:00:06 --:--:-- 0 100 342k 0 0 100 342k 0 49773 0:00:07 0:00:07 --:--:-- 0 100 342k 0 0 100 342k 0 43583 0:00:08 0:00:08 --:--:-- 0 100 342k 0 0 100 342k 0 38762 0:00:09 0:00:09 --:--:-- 0 100 342k 0 0 100 342k 0 34905 0:00:10 0:00:10 --:--:-- 0 100 342k 0 0 100 342k 0 31743 0:00:11 0:00:11 --:--:-- 0 100 342k 0 0 100 342k 0 29107 0:00:12 0:00:12 --:--:-- 0 100 342k 0 0 100 342k 0 26875 0:00:13 0:00:13 --:--:-- 0 100 342k 0 0 100 342k 0 24961 0:00:14 0:00:14 --:--:-- 0 100 342k 0 0 100 342k 0 23301 0:00:15 0:00:15 --:--:-- 0 100 342k 0 43 100 342k 2 21885 0:00:16 0:00:16 --:--:-- 8 100 342k 0 43 100 342k 2 21885 0:00:16 0:00:16 --:--:-- 10 [Pipeline] echo {"msg":"操作成功","code":200,"data":""} [Pipeline] readJSON [Pipeline] echo [msg:操作成功, code:200, data:] [Pipeline] echo status:200 [Pipeline] echo {"msg":"操作成功","code":200,"data":""} [Pipeline] sh + curl -X POST http://116.252.55.76:8026/ota-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/tc397_ota/tc397_ota_2026-08-15_09-31-58.zip"' --form 'version=@"/root/workspace/tc397_ota/version.json"' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 342k 0 43 100 342k 43 346k --:--:-- --:--:-- --:--:-- 346k 100 342k 0 43 100 342k 43 346k --:--:-- --:--:-- --:--:-- 346k [Pipeline] echo {"msg":"操作成功","code":200,"data":""} [Pipeline] readJSON [Pipeline] echo [msg:操作成功, code:200, data:] [Pipeline] echo status:200 [Pipeline] echo {"msg":"操作成功","code":200,"data":""} [Pipeline] sh + curl -X POST http://183.255.70.81:50080/ota-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/tc397_ota/tc397_ota_2026-08-15_09-31-58.zip"' --form 'version=@"/root/workspace/tc397_ota/version.json"' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 93 342k 0 0 93 320k 0 1099k --:--:-- --:--:-- --:--:-- 1095k 100 342k 0 0 100 342k 0 264k 0:00:01 0:00:01 --:--:-- 264k 100 342k 0 43 100 342k 26 208k 0:00:01 0:00:01 --:--:-- 207k [Pipeline] echo {"msg":"操作成功","code":200,"data":""} [Pipeline] readJSON [Pipeline] echo [msg:操作成功, code:200, data:] [Pipeline] echo status:200 [Pipeline] echo {"msg":"操作成功","code":200,"data":""} [Pipeline] sh + curl -X POST http://159.27.114.184:31018/ota-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/tc397_ota/tc397_ota_2026-08-15_09-31-58.zip"' --form 'version=@"/root/workspace/tc397_ota/version.json"' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 343k 100 497 100 342k 1684 1161k --:--:-- --:--:-- --:--:-- 1166k [Pipeline] echo Error

An error occurred.

Sorry, the page you are looking for is currently unavailable.
Please try again later.

If you are the system administrator of this resource then you should check the error log for details.

Faithfully yours, nginx.

[Pipeline] readJSON [Pipeline] } [Pipeline] // dir [Pipeline] } [Pipeline] // script [Pipeline] } [Pipeline] // stage [Pipeline] stage [Pipeline] { (Declarative: Post Actions) [Pipeline] script [Pipeline] { [Pipeline] echo always [Pipeline] } [Pipeline] // script [Pipeline] script [Pipeline] { [Pipeline] echo failure: zip->post [Pipeline] wrap [Pipeline] { [Pipeline] script [Pipeline] { [Pipeline] echo user: , telphone: [Pipeline] } [Pipeline] // script [Pipeline] sh + curl -X POST 'http://143.64.81.104:8080/robot/send?access_token=0e635ba9c724e48482d5e4146087ccb44e6b324d34f5e351b80db04fcf41017a' -H 'Content-Type: application/json' -d '{"msgtype": "markdown","markdown": {"title":"Jenkins通知","text": "# 版本编译失败 ### [tc397更新] --- - 任务名: [tc397_ota] - 任务号:# 275 - 阶段:zip->post - 状态: 上传失败 - 执行人:auto --- > 请检查失败原因 @"},"at": {"atMobiles": [""],"isAtAll": "false"} }' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 394 100 27 100 367 225 3058 --:--:-- --:--:-- --:--:-- 3283 [Pipeline] echo {"errcode":0,"errmsg":"ok"} [Pipeline] } [Pipeline] // wrap [Pipeline] } [Pipeline] // script [Pipeline] } [Pipeline] // stage [Pipeline] } [Pipeline] // withEnv [Pipeline] } [Pipeline] // withEnv [Pipeline] } [Pipeline] // node [Pipeline] End of Pipeline hudson.remoting.ProxyException: net.sf.json.JSONException: Invalid JSON String at net.sf.json.JSONSerializer.toJSON(JSONSerializer.java:143) at net.sf.json.JSONSerializer.toJSON(JSONSerializer.java:103) at net.sf.json.JSONSerializer.toJSON(JSONSerializer.java:84) at org.jenkinsci.plugins.pipeline.utility.steps.json.ReadJSONStepExecution.doRun(ReadJSONStepExecution.java:87) at org.jenkinsci.plugins.pipeline.utility.steps.AbstractFileOrTextStepExecution.run(AbstractFileOrTextStepExecution.java:29) at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda$start$0(SynchronousNonBlockingStepExecution.java:47) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Finished: FAILURE