name: 发布wordpress文章 on: push: branches: - main jobs: generate_changelog: runs-on: ubuntu-latest steps: # 检出代码 - name: 🛒 检出代码 uses: https://git.aoun.ltd/actions/checkout@v4 # 设置时区 - name: 设置时区 env: TZ: Asia/Shanghai run: date # 验证时区设置是否生效 # 1. 读取 README.md 内容 - name: 读取 README.md 内容 id: read_wp run: | CONTENT=$(> $GITHUB_ENV echo "$CONTENT" >> $GITHUB_ENV echo "EOF" >> $GITHUB_ENV # 2. 读取固件版本 DISTRIB_REVISION.txt - name: 读取 DISTRIB_REVISION.txt 中的固件版本 id: read_firmware run: | if [ -f DISTRIB_REVISION.txt ]; then FIRMWARE_VERSION=$(sed -n '2p' DISTRIB_REVISION.txt | xargs) echo "firmware_version=$FIRMWARE_VERSION" >> $GITHUB_ENV else echo "固件版本文件不存在,设置默认值" >&2 echo "firmware_version=Unknown" >> $GITHUB_ENV fi # 3. 更新 WordPress 文章 - name: 更新 WordPress 文章 env: WORDPRESS_URL: ${{ secrets.WORDPRESS_URL }} WORDPRESS_USERNAME: ${{ secrets.WORDPRESS_USERNAME }} WORDPRESS_PASSWORD: ${{ secrets.WORDPRESS_PASSWORD }} POST_ID: 829 # 替换为文章ID POST_STATUS: "draft" # 设置文章状态为 'publish' (可以更改为 'draft' 或 'pending') run: | # 获取当前中国时间 FORMATTED_TIME=$(TZ='Asia/Shanghai' date "+%Y年%m月%d日") # 定义更新的数据内容 JSON_PAYLOAD=$(jq -n \ --arg content "$wp_content" \ --arg title "${FORMATTED_TIME}最新每天更新OpenWRT&LEDE x86/64 软路由精品稳定版固件下载含插件" \ --arg post_status "$POST_STATUS" \ --arg firmware_version "${{ env.firmware_version }}" \ --arg kernel_version "6.X" \ --arg file_size "1024MB" \ --arg update_time "$FORMATTED_TIME" \ '{title: $title, description: $content, post_status: $post_status, custom_fields: [{key: "wb_dl_firmware_version", value: $firmware_version}, {key: "wb_dl_kernel_version", value: $kernel_version}, {key: "wb_dl_file_size", value: $file_size}, {key: "wb_dl_update_time", value: $update_time}]}' ) # 更新 WordPress 文章 RESPONSE=$(curl -s -X POST "$WORDPRESS_URL" \ --header "Content-Type: application/json" \ --user "$WORDPRESS_USERNAME:$WORDPRESS_PASSWORD" \ --data "$JSON_PAYLOAD") # 检查响应状态 echo "$RESPONSE" | jq . || echo "更新失败"