This article describes how you can synchronize issues (or any other types of tasks) from Azure DevOps to Kanbanize using Integromat as а middleware integration platform.
Summary
Using Integromat, you can build different one-directional and bi-directional integration scenarios between Azure DevOps and Kanbanize. Here are some of the abilities of the connection:
Abilities:
- Synchronize newly created Azure DevOps tasks to Kanbanize as cards.
- Update card details (title, description, assignee, tags).
- Move cards to different columns based on Azure DevOps task status.
- Add new comments.
- The integration supports task type synchronization. To enable it you need to manually map task types in Azure DevOps with card types in Kanbanize (same names) and the integration will start using Kanbanize card types automatically. No additional changes are required.
- If you would like to synchronize tags from Azure DevOps to Kanbanize, the same tags must be available and assigned to your Kanbanize board.
- Task transition synchronization is available when the state in Azure DevOps has the same name as the column in Kanbanize.
- If you would like to synchronize assignees too, the users in both systems must have the same usernames.
Note: Depending on the setup you need, the integration could be implemented to run from Azure DevOps to Kanbanize and/or from Kanbanize to Azure DevOps.
Important:
1. The integration can be one-directional and bi-directional.
2. This article explains how the integration with Azure DevOps with Azure board to Kanbanize swimlane mapping as well as Board-to-Board mapping can be used.
Real-time optimizations
Integromat uses polling to synchronize data. This could be done every 15 min, 5 min or even every single minute, depending on your integration payment plan. Most platforms have 15 min in their free offerings. However, if you need real-time data integration you can use a generic HTTP WebHook Connector. The WebHook Connector will provide a unique URL for your scenario.
Using Dedicated Integration User
To prevent loops in bi-directional integrations we suggest creating and using a dedicated integration user with special credentials. The user will make modifications on behalf of the Azure DevOps system when in Kanbanize and the other way around. It is also better for traceability and proper functioning of the integration, having the right permissions, log history entries, etc.
Note: If you use your own user for example as the integration one, a modification made by you in Kanbanize will not be reflected in Azure DevOps as the system will treat this as an anti-loop mechanism and will prevent these changes from happening.
Multiple Teams
When you have multiple teams working in Kanbanize and/or in Azure DevOps and you need to bridge them. For example, Team A, Team B, and Team C are working in Azure DevOps and Team K is working in Kanbanize and receives requests/tasks in the form of issues, opened in Azure DevOps.
As the rest of the teams are used to Azure DevOps, they report issues in the Team K repository in Azure DevOps and they also expect to receive comments and updates in Azure DevOps, while Team K uses the Kanban Method advantages and a complex workflow setup in Kanbanize.
Note: We do not recommend implementing scenarios where the team is expected to be able to work equally between the two systems. Like, half of the team is using only Azure DevOps and the other members are using only Kanbanize.
Board to Board mapping
For the Integration with board to board mapping when data flows from Kanbanize to Azure DevOps there are some rules:
- Workspace name in Kanbanize must be the same as Project name in Azure DevOps;
- Board name in Kanbanize must be the same as Board name in Azure DevOps.
- These are the default requirements since these names are required to build the correct AreaPath value and create a task (issue, epic, etc.) on the correct Azure DevOps board.
- When you import templates to your corporate Integromat account, you have full access to integration parameters and you can modify the integration to find the best set of features that fits your needs.
For Commits
To trigger the integration you just need to add “#taskid 1234” or “#id 1234” in front of the commit title. Once you push your changes to the remote repository, the integration will iterate all the commits and check the title to find the card ID. If there is one, this commit will be added to a card as a comment with a link to this commit in Azure DevOps. If there is no card ID in the title, this commit will be skipped.
For Pull Requests
Every time you make actions related to pull requests (create, merge, etc.), Azure DevOps will be sending a payload to Integromat. This integration will handle two types of actions:
Opened - there is a new pull request. If there is a “#taskid 1234” or “#id 1234”, a link to this pull requested will be automatically added as an External link to a card in Kanbanize. If there is no ID available in the title, a new card will be created.
Merged - when a “merge” event appears and there is a “#taskid 1234” or “#id 1234” in the title, this card will be moved to “Done”. If there is no such column on a board or card ID is missing, no changes will be made. You can change the column name and move cards to a different location if it is required.
Ready to Use Integration Templates
We have prepared ready-to-use templates with the most common scenarios to deploy inside Integromat. Just reach out to our Support Team with details on your integration scenario and the team will put you on the right path to set this integration up!