If you have ever wanted to integrate Kanbanize with another system on the internet it is simple and easy to do with the web service caller, which has been implemented as part of the runtime policies module.
Here’s how you can use it. First, go to the Business Rules module and choose either the “Card is updated” or the “Card is moved” rule:
Note: these are the most commonly used rules in the scenario. It works with other rules as well.
Once you’ve chosen one of the rules, just click on it to open the respective configuration panel. One of the actions to the right side of the panel is “Invoke web service”.
Click the Add new action link to add a call to an external web service and then click the “Not Set” link to configure the parameters. The configuration panel looks like that:
You can configure the following options:
Name – a human-readable identifier for the web service call
URL – the address of the endpoint service.
Note: Using the "add card fields" dropdown you can dynamically set the ID values directly populated from the card into the URL, for which the corresponding business rule has been triggered.
Method – which HTTP method should be used for the call
Authentication – None, basic, and API Key authentication are supported.
HTTP Body – Whether you want to send the payload as raw JSON-encoded values, directly in the HTTP body
Parameters – parameters to be sent to the endpoint service
Headers – custom headers to be sent to the endpoint service
Additionally, the POST, PUT, DELETE and PATH requests send additional parameters –
Default Payload Parameter: ‘kanbanize_payload’ that contains information about the card that has been created or moved. The payload is in the following format:
{
“trigger” : “taskCreated”,
“timestamp” : “2015-03-04T14:19:38+00:00”,
“card” : {
“taskid” : “35156”,
“title” : “”,
“description” : “”,
“tcolor” : “#34a97b”,
“priority” : “Average”,
“size” : null,
“owner” : “testAdmin”,
“deadline” : null,
“typeName” : “”,
“tags” : “”,
“extLink” : “”,
“reporter” : “testAdmin”,
“createdAt” : “2015-03-04 14:19:33”,
“columnname” : “Requested”,
“lanename” : “Default Swimlane”,
“boardName” : “my board”,
“customFields” : [
],
“boardid” : “131”
}
}
When the payload is received by the endpoint, the content of “kanbanize_payload” can be parsed, and then the required actions can be performed by the external system.
Dynamic Custom Parameters: Using the "+" you could dynamically send parameter values directly populated by the fields of the card, for which the corresponding business rule has been triggered. Apart from that, you can now send the payload as raw, JSON-encoded values, directly in the body of the HTTP request.
For your convenience, there is a Test Service button that will send a pre-canned request for testing and debugging purposes only.