github actions 发送Axios请求并获取JSON数据
1.推送的时候调用其他webhook
或任意http
请求
以下是一个模板
name: Axios
on:
push:
branches:
- main# 或者你使用的是哪个分支
jobs:
axios-action:
runs-on: ubuntu-latest
steps:
- name: Call Auth API
uses: actionsflow/axios@v1
id: api
with:
url: https://example.com/api/token
method: "GET"
# basic-auth: "${{ secrets.username }}:${{ secrets.password }}"
- run: echo ${{ steps.api.outputs.data }} # 打印数据
# - run: echo ${{ steps.api.outputs.data.data.token }}
#- name: Get current timestamp 获取当前时间戳
# id: get_timestamp
# run: echo "BUILD_TIME=$(date +'%s')" >> $GITHUB_ENV
#- run: echo ${{ env.BUILD_TIME }}
- name: Extract JSON Property 获取JSON数据
id: extract-json
run: |
getToken=$(echo '${{ steps.api.outputs.data }}' | jq -r '.data.token')
echo "token=$getToken" >> $GITHUB_ENV # 添加到环境变量里
- name: Call API
uses: actionsflow/axios@v1
id: api2
with:
url: https://example.com/api/user
method: "POST"
data: '{ "usename": "your_name" }'
headers: '{ "Authorization": "Bearer ${{ env.token }}" }'
获取JSON数据那里的代码 getToken=$(echo '${{ steps.api.outputs.data }}' | jq -r '.data.token')
其中 steps.api.outputs.data
这个是获取上一步ID 请求的响应数据,比如返回的数据结构为
{
"code": 0,
"data": {
"token": '123456789',
"expiration": 1724065758
}
}
要获取expiration
这个属性值,则修改jq -r '.data.token'
为 jq -r '.data.expiration'
即可
License:
CC BY 4.0