Fun facts

Here’s some nice things about Rungutan that will help you build the most complex workflows you could imagine with little to no stress:

JSON escape the DATA payload

We only accept string for payload, but that shouldn’t stop you from actually sending a JSON value like this:

{
  "method": "POST",
  "path": "/my/post/path",
  "data": " {\"this\": \"payload\", \"is\": \"escaped\"} ",
  "headers": {
    "content-type": "application/json"
  }
}

Fetch key from response body that has nested keys

If your response JSON looks like this for instance:

{
  "a":"b",
  "c": {
    "d": "e",
    "f": {
      "g": "h"
    }
  }
}

And you would like to fetch the value of __[“c”][“f”][“g”]__ then your extract key would look like this:

{
    "extract": [
        {
            "parameter_name": "extracted_key",
            "location": "body",
            "key": "c.f.g"
        }
    ]
}

Fetch key from response body that has arrays and/or nested keys

If your response JSON looks like this for instance:

{
  "a":"b",
  "c": {
    "d": "e",
    "f": {
      "g": "h"
    },
    "i": [
      {
        "j": "k"
      },
      {
        "l": "m"
      }
    ]
  }
}

And you would like to fetch the __1st__ value of __[“c”][“i”]__ and specifically the __”j”__ property in it, then you would write your extract key like this:

{
    "extract": [
        {
            "parameter_name": "extracted_key",
            "location": "body",
            "key": "c.i.0.j"
        }
    ]
}

Define an API key and have your team members use it without know it

First, define the API key as a SENSITIVE vault key in Vault, with any name that you find fit, such as: my_api_key, and then use it in your workflow like this:

If your response JSON looks like this for instance:

"workflow": [
    {
        "path": "/v1/api/tests/list",
        "method": "POST",
        "data": "{\"team_id\":\"rungutan\"}",
        "headers": {
            "X-Api-Key": "${vault.my_api_key}",
            "content-type": "application/json"
        },
        "extract": [
            {
                "parameter_name": "testId",
                "location": "body",
                "key": "Tests.0.test_id"
            }
        ]
    }
]

Some steps show blank data on my results page :(

If you look closely, the steps that show “blank data”, aren’t just any steps, they are the “last” steps of your workflow.

The reason (usually) why they show up blank is simple -> API calls in PREVIOUS steps resulted in an error (response code NOT between 200 and 399).

Our platform, in order to protect YOUR own infrastructure, does NOT continue with a future step of the workflow, if the previous one has failed.

So in short, all you would have to do is click on the “CSV Failures” button, check the failures for the previous steps and fix them :)

Hoep that helps! If not, well, you know how to reach us :)