Tuesday 27 October 2015

RESTask for Tasker

Opt in for beta testing: https://play.google.com/apps/testing/com.freehaha.restask

This is a Tasker plugin providing alternative interface to access RESTful APIs (targeting GET, POST, PUT, DELETE).

This app is intended to work as a plugin to Tasker and does not provide a launcher icon so one must have Tasker installed in order to utilize this application.

*README*
Variables can be set synchronously or asynchronously.

With the default sync setting, the task will wait until the request is finished or is timed-out before executing the next task and you will be able to set the return code/response to local variables. Note that in synced mode you can only set local variables, i.e., variables with all lower-cased letters, this is a limitation of tasker API.

However, in async mode, the task will finish immediately and work in the background so you will not be able to set local variables in it (you can still use local variables for the parameters and stuff). With this mode, you can only set global variables as local variables will not be accessible to other tasks. Following is how to enable setting global variables in async mode:

1. To enable global variable set, you have to enable 'Allow External Access' in Tasker ( menu -> preference -> misc -> Allow External Access')

2. Return variables name should be global (with at least one capital letter) because it is set asynchronously in a different task and will not be accessible if it is set as a local variable.

3. Since the request is performed asynchronously, returned code/response might not be available immediately. If you want to capture the returned code/response, you can set an action to 'Wait Until' the variable 'is set'. But remember to clear the variable beforehand because these variables are global and will remain after tasks finished..
---
Cookies

The cookies will be found in the %hdr_set_cookie variable if your response header variable prefix is set to %hdr. If there are multiple Set-Cookie headers they will stored in the same variable separated by newlines.
---
Feel free to leave comments or send email to me if you have any suggestions to improve this application.

Special thanks to Arno Puder for helping me test the app.

Jagan Kannappan
This app came to the rescue when I needed to integrate tasker with smartthings rest endpoints, which required sending bearer tokens, and now I can control my switches with voice.
Rated: 5 Star

Júlio Souza
Works like a charm and the developer does a great support. Note to the developer: there is weird behaviour on the settings window I couldn't reproduce consistently, related to it losing the header and params data when I change the HTTP method or URL
Rated: 5 Star

Rehaan Phone
Thanks! This made it possible to post to the Spark Core API (something that Tasker was struggling to do with its built in Http Post task). Cheers.
Rated: 5 Star

Craig M
I have a custom/self-signed cert installed for apache and it would be nice to have a checkbox that just ignores the certificate.
Rated: 4 Star

Mike Bott
I used this to talk to Toggl. Works much better than Tasker's built-in HTTP calls.
Rated: 5 Star

Ryan Melena
Exactly what I needed for some more advanced Tasker REST tasks.
Rated: 5 Star

No comments:

Post a Comment