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 # 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 POST_STATUS: "draft" run: | FORMATTED_TIME=$(TZ='Asia/Shanghai' date "+%Y年%m月%d日") # 使用 jq 生成 JSON 数据,以确保没有格式错误 JSON_PAYLOAD=$(jq -n \ --arg title "${FORMATTED_TIME}最新每天更新OpenWRT&LEDE x86/64 软路由精品稳定版固件下载含插件" \ --arg content "${{ env.wp_content }}" \ --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 "更新失败"