diff --git a/.woodpecker.yml b/.woodpecker.yml
index e27eb3e..04a1889 100644
--- a/.woodpecker.yml
+++ b/.woodpecker.yml
@@ -410,61 +410,28 @@ steps:
# 阶段7: 企业微信通知
# ============================================
notify-wechat-success:
- image: python:3.11-slim
+ image: curlimages/curl:latest
environment:
WECHAT_WEBHOOK:
from_secret: wechat_webhook
commands:
- - python3 -c "
- import os
- import json
- import urllib.request
- from datetime import datetime
+ - |
+ BRANCH="${CI_COMMIT_BRANCH:-unknown}"
+ COMMIT="${CI_COMMIT_SHA:0:7}"
+ MESSAGE=$(echo "${CI_COMMIT_MESSAGE:-no message}" | tr '\n' ' ' | sed 's/"/\\"/g')
+ AUTHOR="${CI_COMMIT_AUTHOR:-unknown}"
+ PIPELINE_NUMBER="${CI_PIPELINE_NUMBER:-0}"
+ REPO_ID="${CI_REPO_ID:-1}"
+ TIMESTAMP=$(date "+%Y-%m-%d %H:%M:%S")
- branch = os.environ.get('CI_COMMIT_BRANCH', 'unknown')
- commit = os.environ.get('CI_COMMIT_SHA', 'unknown')[:7]
- message = os.environ.get('CI_COMMIT_MESSAGE', 'no message').replace('\n', ' ').replace('\"', \"'\")
- author = os.environ.get('CI_COMMIT_AUTHOR', 'unknown')
- pipeline_number = os.environ.get('CI_PIPELINE_NUMBER', '0')
- repo_id = os.environ.get('CI_REPO_ID', '1')
- pipeline_url = f'https://ci.f.novalon.cn/repos/{repo_id}/pipeline/{pipeline_number}'
- timestamp = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
-
- content = f'''## 🚀 Novalon Website 部署通知
-
-> **构建状态**: 成功
-
-**项目信息**
-> 分支: \`{branch}\`
-> 提交: \`{commit}\`
-> 作者: {author}
-
-**提交信息**
-> {message}
-
-**操作**
-> [查看构建详情]({pipeline_url})
-
----
-> 时间: {timestamp}
-> Pipeline #{pipeline_number}'''
-
- data = {
- 'msgtype': 'markdown',
- 'markdown': {
- 'content': content
+ curl -X POST "$WECHAT_WEBHOOK" \
+ -H 'Content-Type: application/json' \
+ -d "{
+ \"msgtype\": \"markdown\",
+ \"markdown\": {
+ \"content\": \"## 🚀 Novalon Website 部署通知\\n\\n> **构建状态**: 成功\\n\\n**项目信息**\\n> 分支: \`${BRANCH}\`\\n> 提交: \`${COMMIT}\`\\n> 作者: ${AUTHOR}\\n\\n**提交信息**\\n> ${MESSAGE}\\n\\n**操作**\\n> [查看构建详情](https://ci.f.novalon.cn/repos/${REPO_ID}/pipeline/${PIPELINE_NUMBER})\\n\\n---\\n> 时间: ${TIMESTAMP}\\n> Pipeline #${PIPELINE_NUMBER}\"
}
- }
-
- req = urllib.request.Request(
- os.environ['WECHAT_WEBHOOK'],
- data=json.dumps(data).encode('utf-8'),
- headers={'Content-Type': 'application/json'}
- )
-
- with urllib.request.urlopen(req) as response:
- print(response.read().decode('utf-8'))
- "
+ }"
when:
event:
- push
@@ -475,61 +442,28 @@ steps:
- success
notify-wechat-failure:
- image: python:3.11-slim
+ image: curlimages/curl:latest
environment:
WECHAT_WEBHOOK:
from_secret: wechat_webhook
commands:
- - python3 -c "
- import os
- import json
- import urllib.request
- from datetime import datetime
+ - |
+ BRANCH="${CI_COMMIT_BRANCH:-unknown}"
+ COMMIT="${CI_COMMIT_SHA:0:7}"
+ MESSAGE=$(echo "${CI_COMMIT_MESSAGE:-no message}" | tr '\n' ' ' | sed 's/"/\\"/g')
+ AUTHOR="${CI_COMMIT_AUTHOR:-unknown}"
+ PIPELINE_NUMBER="${CI_PIPELINE_NUMBER:-0}"
+ REPO_ID="${CI_REPO_ID:-1}"
+ TIMESTAMP=$(date "+%Y-%m-%d %H:%M:%S")
- branch = os.environ.get('CI_COMMIT_BRANCH', 'unknown')
- commit = os.environ.get('CI_COMMIT_SHA', 'unknown')[:7]
- message = os.environ.get('CI_COMMIT_MESSAGE', 'no message').replace('\n', ' ').replace('\"', \"'\")
- author = os.environ.get('CI_COMMIT_AUTHOR', 'unknown')
- pipeline_number = os.environ.get('CI_PIPELINE_NUMBER', '0')
- repo_id = os.environ.get('CI_REPO_ID', '1')
- pipeline_url = f'https://ci.f.novalon.cn/repos/{repo_id}/pipeline/{pipeline_number}'
- timestamp = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
-
- content = f'''## 🚀 Novalon Website 部署通知
-
-> **构建状态**: 失败
-
-**项目信息**
-> 分支: \`{branch}\`
-> 提交: \`{commit}\`
-> 作者: {author}
-
-**提交信息**
-> {message}
-
-**操作**
-> [查看构建详情]({pipeline_url})
-
----
-> 时间: {timestamp}
-> Pipeline #{pipeline_number}'''
-
- data = {
- 'msgtype': 'markdown',
- 'markdown': {
- 'content': content
+ curl -X POST "$WECHAT_WEBHOOK" \
+ -H 'Content-Type: application/json' \
+ -d "{
+ \"msgtype\": \"markdown\",
+ \"markdown\": {
+ \"content\": \"## 🚀 Novalon Website 部署通知\\n\\n> **构建状态**: 失败\\n\\n**项目信息**\\n> 分支: \`${BRANCH}\`\\n> 提交: \`${COMMIT}\`\\n> 作者: ${AUTHOR}\\n\\n**提交信息**\\n> ${MESSAGE}\\n\\n**操作**\\n> [查看构建详情](https://ci.f.novalon.cn/repos/${REPO_ID}/pipeline/${PIPELINE_NUMBER})\\n\\n---\\n> 时间: ${TIMESTAMP}\\n> Pipeline #${PIPELINE_NUMBER}\"
}
- }
-
- req = urllib.request.Request(
- os.environ['WECHAT_WEBHOOK'],
- data=json.dumps(data).encode('utf-8'),
- headers={'Content-Type': 'application/json'}
- )
-
- with urllib.request.urlopen(req) as response:
- print(response.read().decode('utf-8'))
- "
+ }"
when:
event:
- push