Update Ngrok URL #81
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Update Ngrok URL | |
on: | |
workflow_dispatch: # 手动触发 | |
schedule: | |
- cron: '0 * * * *' # 每小时运行一次 | |
jobs: | |
update-url: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
with: | |
token: ${{ secrets.PAT_TOKEN }} | |
- name: Get Ngrok URL | |
run: | | |
# 读取之前保存的 public_url | |
PREVIOUS_URL=$(cat README.md | grep "Current Ngrok Public URL" | cut -d ":" -f 2) | |
# 使用 curl 获取 ngrok URL,并将结果保存到临时文件 | |
curl -X GET \ | |
-H "Authorization: Bearer ${{secrets.NGROK_TOKEN}}" \ | |
-H "Ngrok-Version: 2" \ | |
https://api.ngrok.com/endpoints > ngrok_info.json | |
# 提取 public_url 并保存到环境变量 | |
PUBLIC_URL=$(cat ngrok_info.json | jq -r '.endpoints[0].public_url') | |
# 比较当前的 public_url 和之前保存的 public_url 是否相同 | |
if [ "$PUBLIC_URL" != "$PREVIOUS_URL" ]; then | |
# 将 public_url 写入 README.md | |
echo "Current Ngrok Public URL: $PUBLIC_URL" > temp_readme.md | |
# 替换 README.md | |
mv temp_readme.md README.md | |
echo "FLAG=true" >> $GITHUB_OUTPUT | |
else | |
echo "Ngrok Public URL has not changed. Exiting..." | |
echo "FLAG=false" >> $GITHUB_OUTPUT | |
fi | |
- name: Commit changes | |
if: ${{ steps.update-url.outputs.FLAG == true }} | |
run: | | |
git config --local user.email "[email protected]" | |
git config --local user.name "GitHub Action" | |
git add . | |
git commit -m "Update Ngrok Public URL" | |
git push https://${{secrets.PAT_TOKEN}}@github.com/ayachensiyuan/getNgrokUrl.git HEAD:main | |