Skip to content

ifit/webrequest-action

 
 

Repository files navigation

Web Request Action

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.

Test Status Release

Usage

GET request

uses: satak/webrequest-action@master
with:
  url: https://my-json-server.typicode.com/typicode/demo/posts
  method: GET

POST request with headers and basic auth

uses: 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 }}

Inputs

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

Outputs

Output format: JSON

{
  "output": {
    "url": "<str url>",
    "method": "<str method>",
    "payload": {},
    "time": "<str time>",
    "statusCode": "<int statusCode>",
    "data": "object/array data from API"
  }
}

Example output usage

run: |
  $output = '${{ steps.webhook.outputs.output }}' | ConvertFrom-Json
  Write-Host "Time from output $($output.time) statusCode $($output.statusCode) data $($output.data)"

License

MIT

Packages

No packages published

Languages

  • JavaScript 99.4%
  • PowerShell 0.6%