Setup an Open Source Kanban board for SAP with Integromat (Focused Build)
— UPDATE: Focused Build SP08 revisits the API integration with new OData services and BAdIs! Check out What’s New in Focused Build 2.0 SP 8 – SAP Help Portal for more information! —
In this blog post, I will show you how to use the “glue of the internet”, known as Integromat, to setup a basic integration between an Open Source Kanban board and SAP Focused Build. I get sometimes asked by customers whether their internal team can easily connect products together and this is one option to do it.
I am in no way affiliated with Integromat and you reproduce this example with any other automated connect-cloud apps such as Zapier, or more traditional API Management tools (Apigee, SAP API Hub, etc.). You can also reproduce a similar example with other SAP products as long as they offer an endpoint for you to connect with.
As an introduction, you need to understand what are the three tools I am using in this blog:
- SAP Focused Build: A “free” pre-configured add-on for SAP Solution Manager that helps you manage SAP implementation projects such as S/4 in an agile manner. It is an excellent tool for what I am about to demonstrate because of its Github Jira integration, and the fact that it revolves around common agile concepts such as Epics, User Stories, and so on. No standard kanban board included, though.
- Taiga: A free Open Source project management tool with a very flexible REST API. It presents different modules such as Epics and Issues management, Wiki documentation, but also a Kanban board. A good alternative is Wekan among many.
- Integromat: A paying tool for automating manual processes without any programming skills. They have a pretty good free-tier, which is more than enough for what we are about to experiment. Again, we could also just code without using any external tool.
The integration workflow we want to achieve is straightforward:
- Create a Work Item in SAP Focused Build;
- Triggers the creation of a User Story in Taiga;
- Change the status of the User Story in Taiga;
- Verify the status of the work package has changed in SAP Focused Build.
(I apologize for the quality, image weight restrictions apply)
Simple, right? Well, please note that the standard API for Focused Build only allows you to create items in the external tools and update the status back in Focused Build. This is a limitation on the API, but you are free to customize it or face different limitations in the case of another SAP product.
First things first, we will assume that SAP Focused Build is properly setup (see API documentation here) and that you have a Work Package ready for use. The general context for Focused Build is the implementation of an S/4 project where you create a project timeline in the tool, then document the requirements that are derived from your Fit/Gap workshops, and eventually transform these requirements into actionable items. These items are known as Work Packages (= Epics), from which you can scope and create different Work Items (= User Stories) that are assigned to your developers in order to start the work in the system. Each of these steps have a specific set of Fiori Apps that are tailored per profile (e.g. PMO, Architect, Developer, Tester, etc.).
A good example of the relationship between SAP Focused Build and an external requirements tool such as Jira (or Taiga, in our case) is documented on Github:
Here is my Work Package and my scope. In standard, the Work Items are generated out of the package through a workflow: changing the status to “Scope finalized” will create the items and assign them to the responsible team (here, External DEV Team) or individual. This is where we want our Work Item not only to be created in SAP Focused Build, but also in Taiga!
Now is the time for Integromat to enter the room. After creating a free account, you will need to create a scenario: this is a step-by-step of what will happen whenever a request will be sent over to Integromat from SAP Focused Build. As you can see here, I have 3 scenarios: 1) SAP to Taiga – Create; 2) SAP to Taiga – Update; 3) Taiga to SAP – Update. I will only cover the first part here.
That particular scenario looks like this, isn’t she a beauty?
- Webhooks: A webhook is a listener. Whenever a request is sent to the webhook, it triggers the workflow. Here, the request is sent by SAP Focused Build whenever a Work Item is created;
- JSON Aggregate: The SAP request has to be transformed so it can be acknowledged by Taiga, don’t forget that both tools have nothing in common except their capability to send and receive requests over the web;
- JSON Parse: After the request is transformed, it is parsed. This is a way of saying: “Clean up all this data so I can transfer it to the next tool without having to worry it cannot be read properly.”;
- HTTP POST: Generates a token for authentification on Taiga;
- HTTP POST: Maps the parsed request values from SAP Focused Build with Taiga fields;
- HTTP POST: Adds the GUID value to a custom field in Taiga to be reused later (there are tons of ways to make it transparent for the user without showing it as a custom field in the card).
When you create a new scenario, just click the empty screen to add a module and search for Webhooks. Give it a name and Integromat will automatically generate a webhook address and start listening for a request, so it can determine its structure for later mapping. For now, you can check the “Advanced Settings” checkbox and paste the example payload from the API documentation (section 5.1) so you don’t need to trigger the integration just yet.
Once the webhook is ready and loaded with SAP Focused Build request structure, all fields can be mapped to other modules in the scenario. For example, you can create a module “Aggregate JSON” to which you can upload a payload example of what the external expects when creating a User Story, and map field values on both sides.
Another example for the final HTTP request updating the GUID value in the Taiga custom field:
Now, as a prerequisite to your Taiga project, you should enable a webhook. Go to the Admin tab and navigate to Integrations / Webhooks. Create a new webhook and assign the Integromat webhook URL. This will generate a test request.
What do we have now? A Work Package ready for creation in SAP Focused Build, an Integromat scenario that is listening for the SAP request and can transform it for Taiga, and a Taiga project that is listening for the Integromat request. The last step before testing is to update SAP Focused Build customizing with the Integromat webhook URL! In SPRO, navigate to SAP Solution Manager / Focused Build / Integration / Integrate External Tools; and select the “Mapping for external Tool integration” option.
There, assign the project to which your Work Package belongs, a profile and update the “URI for creation” field with your Integromat information. Other fields can be customized based on the API documentation.
What’s left? Testing, of course. Back to your Integromat scenario, simple click “Run once” and create your Work Item in SAP Focused Build. Watch the Integromat scenario execute the request – all is green, all is well. You’re done.
Thanks for “listening”!