/macos-gitlab

MacOS application which presents GitLab merge request information in top bar

Primary LanguagePythonMIT LicenseMIT

GitLab Merge Requests (menu bar app for Mac)

check release

GitLab Merge Requests is a MacOS menu bar app that shows number of opened MRs (owned and assigned as a reviewer) and enables quick navigation to specific MR on GitLab.

drawing

Motivation

  • We work daily on multiple projects on GitLab ๐ŸฆŠ, since we use merge request (MR) mechanism and we want to iterate quickly sometimes we have multiple opened MRs of our own and a few on which we are assigned as reviewers, when that happens there is some chance we will forget about an active MR which would prolong the task. Since we work on MacOS we thought that making a simple menu bar app would be a good way of solving that issue.

๐ŸŒŸ Look how beautiful it is ๐Ÿ˜

drawing

Features

  • Present total number of your MRs and MRs on which you are assigned as a reviewer
  • List all your MRs and enable navigation
  • List all MRs on which you are assigned as a reviewer and enable navigation
  • Setup of the app
  • Quit the app

Installing

Currently only manual installation is supported and have in mind that the app is not verified by Apple so some additional steps are required.

Steps:

  • Download release.zip file from the latest release
  • Extract files from the .zip archive
  • Move extracted file to your Applications folder
  • Hold Control, click on the application file and once the menu popup is shown click on Open
  • Now alert popup should appear
  • If you see the option to open the application go ahead and open it ๐ŸŽ‰
  • In case you didn't get the option to open the application in the first try click on Cancel
    • Hold control and click on the app again, choose Open and a new alert should appear with the option to open the application ๐ŸŽ‰
  • After getting the app to open once, you shouldn't have any more problems in the future. Please refer to Apple's documentation for further reference

Setup

So youโ€™ve installed the app, what next hmmm hmmm ๐Ÿค” SETUPPPPP YEAH ๐Ÿฅ

In just few steps

  1. If the installation went successfully you should see the new (way to cool) app in top menu bar like presented below, x means that the app is not connected so letโ€™s change that

App not connected image

  1. By clicking on the icon you will see a drop down menu
  2. Notice that there is a preferences section, this is where the setup magic happens ๐ŸŽฉ
  3. Click on the GitLab Username and populate your username
  4. Click on the GitLab URL and populate URL. In case you are using GitLab Cloud you can leave this one empty
  5. Click on the GitLab Token and setup your personal token. In case you donโ€™t have one read this guide on how to set it up
  6. Wohoooooo all should be done and ready now ๐ŸŽˆ

Launch on startup

If you want to have this app active all the time you should configure your OS to launch this app on startup, if not have in mind that after every system restart you would need start the app manually.

For setting up launch on startup check this guide

Contributing

First make sure you've checked details within the CONTRIBUTING.md file.

Development

Steps for development setup are presented below:

  • Clone the repo
  • Navigate to the repo root folder
  • run make setup to install all dev and prod dependencies (it uses pip)
  • You are ready to go ๐Ÿฅณ
    • For example if you are using VSCode just start the debug while main.py file is opened

How to run tests:

  • From the root folder run make test

How to run lint:

  • From the root folder run make lint

You can also run tests and lint together by running make check

Roadmap

  • Currently these are all the features we need but in case we and some more people find something else useful we can build it up. If this app shows useful to certain amount of people or we find that we need some options which are not available in this super awesome and simple lib (rumps) we could switch it to Electron and make it available for all platforms (Mac, Windows, Linux)

License