Gitlab Time in Lane : a chrome extension
Tags: gitlab, chrome, javascript, lithtml
Published: 2019-06-25 13:09:41

---
title: Gitlab Time in Lane : a chrome extension
published: true
tags: gitlab,chrome,javascript,lit-html
canonical_url: https://lengrand.fr/gitlab-time-in-lane-a-chrome-extension/
---

 ![Gitlab Time in Lane : a chrome extension](https://images.unsplash.com/photo-1531030874896-fdef6826f2f7?ixlib=rb-1.2.1&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=1080&fit=max&ixid=eyJhcHBfaWQiOjExNzczfQ)

Hey there,

My team at ING let go of SCRUM a while ago, and instead moved towards something more [kanbanish](https://en.wikipedia.org/wiki/Kanban). We still have a long way to go to get good at it, but we're working on it :).

The main reason for us to move was that even though we are responsible for a single business process, we maintain several applications. This makes it hard to find a single sprint goal every time, **as we usually bring smaller, more iterative increments to production.**

We use Gitlab boards to monitor our progress. This has the huge advantage of being able to **couple issues with merge requests** , which makes a lot of sense. One of the things we struggle with though, **is to know how long someone has been busy with something**.

The following picture is not very telling for example, you have no idea how long I've been busy refactoring my Javascript :

<!--kg-card-begin: image-->

![Gitlab Time in Lane : a chrome extension](https://lengrand.fr/content/images/2019/06/Screen-Shot-2019-06-09-at-12.03.49-PM.png)

<!--kg-card-end: image-->

Having nothing to do last Friday night, I created a **[small chrome extension](https://chrome.google.com/webstore/detail/jecodijiblfkhcgnllajecjpngbngaoi/publish-accepted?authuser=0&hl=en)** to fix it. When the extension detects that you are on a Gitlab board, **it will request for the amount of days this issue has stayed in the same lane**. Simple, but useful.

This gives us the following result, which should be much more telling (and you can also see that the sun is shining and that I've been slacking :)):

<!--kg-card-begin: image-->

![Gitlab Time in Lane : a chrome extension](https://lengrand.fr/content/images/2019/06/Screen-Shot-2019-06-09-at-12.03.34-PM.png)

<!--kg-card-end: image-->

The extension itself is very minimalistic, and you only need to [setup a personal access token](https://gitlab.com/profile/personal_access_tokens) to get it working.

<!--kg-card-begin: image-->

![Gitlab Time in Lane : a chrome extension](https://lengrand.fr/content/images/2019/06/Screen-Shot-2019-06-09-at-12.09.11-PM.png)

<!--kg-card-end: image-->

The main concept of the extension revolves around a simple [MutationObserver](https://developer.mozilla.org/en/docs/Web/API/MutationObserver), coupled to Gitlab API calls. The settings are synchronized in the chrome storage, so the extension will be synced on all your devices. The UI is made using [Vaadin's library of Web Components](https://vaadin.com/components). I tried using lion, and they worked fine but being more of a back-end guy I ended up going for a styled library :).

Let's keep it to this for now. You can try the extension **[here](https://chrome.google.com/webstore/detail/gitlab-issues-time-in-lan/jecodijiblfkhcgnllajecjpngbngaoi)**. Give it a spin and let me know what you think!

You can find the [source code here](https://gitlab.com/jlengrand/gitlab-issues-time-in-lane) (and help is welcome) and [give feedback](https://gitlab.com/jlengrand/gitlab-issues-time-in-lane) here (or on Twitter [@jlengrand](https://twitter.com/jlengrand)).


Talk soon! Going bouldering now :)