Create HTTP Requests in GitHub Actions
Find a file
Frank Jogeleit 0929a0c636
Ignored status codes (#26)
* Implement StatusCode ignore list
2021-03-19 17:28:53 +01:00
.github/workflows Ignored status codes (#26) 2021-03-19 17:28:53 +01:00
dist Ignored status codes (#26) 2021-03-19 17:28:53 +01:00
src Ignored status codes (#26) 2021-03-19 17:28:53 +01:00
.gitignore Init Action 2020-02-24 10:23:15 +01:00
action.yml Ignored status codes (#26) 2021-03-19 17:28:53 +01:00
LICENSE Initial commit 2020-02-24 08:05:44 +01:00
package-lock.json Ignored status codes (#26) 2021-03-19 17:28:53 +01:00
package.json Ignored status codes (#26) 2021-03-19 17:28:53 +01:00
README.md Ignored status codes (#26) 2021-03-19 17:28:53 +01:00

HTTP Request Action

Create HTTP Requests from GitHub Actions. This action allows GitHub events to engage with tools like Ansible AWX that use HTTP APIs.

Example

jobs:
  deployment:
    runs-on: ubuntu-latest
    steps:
    - name: Deploy Stage
      uses: fjogeleit/http-request-action@master
      with:
        url: 'https://ansible.io/api/v2/job_templates/84/launch/'
        method: 'POST'
        username: ${{ secrets.AWX_USER }}
        password: ${{ secrets.AWX_PASSWORD }}

Request Configuration

Argument Description Default
url Request URL required Field
method Request Method POST
contentType Request ContentType application/json
data Request Body Content as JSON String, only for POST / PUT / PATCH Requests '{}'
files Map of key / absolute file paths send as multipart/form-data request to the API, if set the contentType is set to multipart/form-data, values provided by data will be added as additional FormData values, nested objects are not supported. Example provided in the test Workflow of this Action '{}'
timeout Request Timeout in ms 5000 (5s)
username Username for Basic Auth
password Password for Basic Auth
bearerToken Bearer Authentication Token (without Bearer Prefix)
customHeaders Additional header values as JSON string, keys in this object overwrite default headers like Content-Type '{}'
escapeData Escape newlines in data string content. Use 'true' (string) as value to enable it
preventFailureOnNoResponse Prevent this Action to fail if the request respond without an response. Use 'true' (string) as value to enable it
ignoreStatusCodes Prevent this Action to fail if the request respond with one of the configured Status Codes. Example: '404,401'

Response

Variable Description
response Response as JSON String

To display HTTP response data in the GitHub Actions log give the request an id and access its outputs

steps:
  - name: Make Request
    id: myRequest
    uses: fjogeleit/http-request-action@master
    with:
      url: "http://yoursite.com/api"
  - name: Show Response
    run: echo ${{ steps.myRequest.outputs.response }}

Additional Information

Additional information is available if debug logging is enabled:

  • Instance Configuration (Url / Timeout / Headers)
  • Request Data (Body / Auth / Method)

To enable debug logging in GitHub Actions create a secret ACTIONS_RUNNER_DEBUG with a value of true