Rule Machine Not Setting Global Variable From HTTP GET

I'm using HTTP to control devices through RM 4.0 but now I want to capture the result so I can make use of it

If I run the HTTP GET command in a web browser I usually get a response in JSON format e.g. {"result":"success", ...

As far as I'm aware I can assign that response to a global string variable in RM and then use it in other rules so I've created one and assigned it an initial value

I've also created a rule which consists of the action
Set TestVariable from GET response http://.....

When I run the action the device carries out the command and that action shows up in the live log but the variable becomes empty. I assume it's now empty because it doesn't show up in the list of variables in RM but I can select it from the list if I choose to set a global variable

There's no error in the log file to suggest anything went wrong so I ran a packet capture and I do see a response coming back with that JSON information but for whatever reason it just results in an empty global variable

So what's the problem?