Abilities:
1. Track commits as comments in a corresponding Kanban card. (Only commit and push events are tracked.)
2. Track GitLab project issues as cards in a Kanbanize board
3. Update card details
4. Update card status
5. Log time to card
The integration is in one direction only – from GitLab to Kanbanize.
For example, when an issue is closed, the corresponding Kanbanize card is moved to Done but moving a card to Done in Kanbanize will not get the issue closed in GitLab.
Setup:
1. In Kanbanize, go to Administration -> Integrations -> GitLab -> Configuration
2. Enable the integration and setup and copy the URL to use in GitLab.
3. Go to your GitLab project page -> Settings
4. Click on Integrations.
5. Set up a Webhook:
URL – paste the URL generated in Step 2
Trigger:
Push events – If enabled, all branches and all commits of the project are inspected for Kanbanize card IDs.
Comments and Issues events – If enabled, GitLab project issues will be tracked in a Kanbanize board.
An additional URL parameter is required – issuesboardid – The ID of the board that must keep the project issue cards.
And you are good to go! From now on, every commit message will be processed in Kanbanize and your changes will be reflected on the corresponding Kanban card. When a local branch is pushed to a repository all local commits will also be processed one by one.
Important: There is a known problem of missing payload data, that is needed for the integration to work, when testing with an example request. It is recommended to test the integration out with a 'real' test issue for this reason.
Usage:
The integration can update Kanbаnize cards through "#" hashtag commands in the message.
Track commits
#taskid / #id – this is a required parameter for the integration to work. You can provide it in one of these three formats:
- #id 1234 (can be anywhere in the commit message and takes priority if present)
- #taskid 1234 (can be anywhere in the commit message and takes priority if present)
- 1234 (must always be the first thing in your commit message)
Examples of commit messages:
- `Change in the logging module. #id 1234`
- `Change in the logging module. #taskid 1234`
- `1234 Change in the logging module.`
Track GitLab project issues
Upon configuration as per the requirements, when an issue is created a new Kanbanize card will be created. Each issue update will be reflected on the card.
Mapping:
GitLab | Kanbanize | ||||
GitLab issue | <-> | Kanbanize card | |||
Title | <-> | Title | |||
Description | <-> | Description | |||
Weight | <-> | Size | |||
Due date | <-> | Deadline | |||
Assignee | <-> | Assignee | |||
Labels | <-> | Tags * |
* If a tag matches an available card type in the Issue tracking board in Kanbanize, the type will be set to the card accordingly
Note: GitLab allows Automatic issue closing - if issue tracking is enabled and your commit message is related to a GitLab issue, you don’t have to provide a task id parameter.
Update card details
#title, #description, #priority, #assignee (with alias @<username>), #color, #size, #tags, #deadline, #extlink, #type
All these parameters can be changed via the commit message using our API functions.
Examples of commit messages:
- `Change in the logging module. #taskid 1234 #priority high #color ffaaff #deadline 2014-12-12 @Peter`
- `1234 Change in the logging module. @Peter`
Move a card
#column, #lane, #boardid, #position, #exceedingreason (if you are to exceed the WIP limit, provide a reason with this parameter)
Examples of commit messages:
- `1234 #column "In Progress"` - move the card to the "In Progress" column
- `1234 #column Done #boardid 12 #position 1` - move the card to the "Done" column to the board with id 12
- `1234 #column “Done.Ready for Deployment” #lane bugs #boardid 12 #position 1` - move the card to the "Ready for Deployment" column to the board with id 12. The card will be placed in top position in the "Bugs" swimlane.
We also support a bunch of move shortcuts that make it all easier
#move “Ready for testing/Platform Team” – Move the task to the “Ready for testing” column and the “Platform Team” swimlane
#move Development/ – Move the task to the Development column
#move “/Platform Team” – Move the task to the Platform Team swimlane
#requested – Move a task to the first column in the Requested section
#inprogress – Move a task to the first column in the In Progress section
#done – Move a task to the first column in the Done section
#<section> first – Move a task to the first column in the section
#<section> 2 – Move a task to the second column in the section
#<section> last – Move a task to the last column in the section
<section> can be any of the following: requested, progress, done
Update card status
#block, #editblock, #unblock
Examples of commit messages:
- 1234 #block “Not enough resources.”
- 1234 #editblock “Still not enough resources.”
- 1234 #unblock
Log time to card
#loggedtime – The number of hours you want to log to the task.
Examples of commit messages:
- `1234 #loggedtime 2`
- `1234 #loggedtime 0.5`