A GitHub Action to make a web request to any JSON API. Supports all HTTP methods, custom headers, JSON payload, data fetch and basic authentication.
uses: satak/webrequest-action@master
with:
  url: https://my-json-server.typicode.com/typicode/demo/posts
  method: GETuses: satak/webrequest-action@master
with:
  url: https://webhook.site/${{ secrets.WEBHOOK_ID }}
  method: POST
  payload: '{"name": "${{ env.MY_NAME }}"}'
  headers: '{"Authentication": "Token ${{ env.TOKEN }}"}'
  username: ${{ secrets.BASIC_AUTH_UN }}
  password: ${{ secrets.BASIC_AUTH_PW }}| Parameter | Required | Info | 
|---|---|---|
| url | true | Web request URL endpoint | 
| method | true | Web request method ( GET,POST,PUT,PATCH,DELETE) | 
| payload | false | Web request payload in JSON format | 
| headers | false | Web request headers in JSON format | 
| username | false | Basic auth username | 
| password | false | Basic auth password | 
Output format: JSON
{
  "output": {
    "url": "<str url>",
    "method": "<str method>",
    "payload": {},
    "time": "<str time>",
    "statusCode": "<int statusCode>",
    "data": "object/array data from API"
  }
}run: |
  $output = '${{ steps.webhook.outputs.output }}' | ConvertFrom-Json
  Write-Host "Time from output $($output.time) statusCode $($output.statusCode) data $($output.data)"