A Gitlab client for Emacs
Emacs Lisp Makefile
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.circleci Fix build failure Feb 9, 2018
contrib addons for issues to org file Jul 10, 2015
test Merge branch 'develop' Mar 12, 2018
var Add screenshots Apr 19, 2015
.dir-locals.el Init project Nov 4, 2014
.gitignore update build Nov 5, 2014
.projectile Init project Nov 4, 2014
.travis.yml FIX build Travis May 29, 2015
CONTRIBUTING.md update branch Oct 12, 2015
Cask FIX Continuous integration May 19, 2016
ChangeLog.md update changelog May 19, 2016
LICENSE Init project Nov 4, 2014
Makefile FIX build Travis May 29, 2015
README.md Merge branch 'develop' Mar 12, 2018
VERSION Bumped version to 0.4.0 May 20, 2015
gitlab-api.el Remove user name, password and login instances Feb 9, 2018
gitlab-browse.el Support browsing the gitlab web interface Aug 30, 2016
gitlab-groups.el Refactoring tools May 19, 2016
gitlab-http.el Do not use private token if nil Feb 10, 2018
gitlab-issues.el Give query paramaters as params to list-project-issues function Sep 8, 2016
gitlab-milestones.el Refactoring tools May 19, 2016
gitlab-mode.el Merge branch 'develop' Mar 12, 2018
gitlab-notes.el Refactoring tools May 19, 2016
gitlab-projects.el Merge branch 'develop' Mar 12, 2018
gitlab-session.el Remove user name, password and login instances Feb 9, 2018
gitlab-ui.el FIX faces names May 19, 2016
gitlab-users.el Refactoring tools May 19, 2016
gitlab-utils.el Refactoring tools May 19, 2016
gitlab-version.el Refactoring utils May 19, 2016
gitlab.el Support browsing the gitlab web interface Aug 30, 2016
helm-gitlab.el Refactoring authentication May 19, 2016
ivy-gitlab.el FIX typo and faces May 19, 2016



License GPL 3 Coverage Status

Master :

  • MELPA Stable
  • Circle CI


  • Melpa Status
  • Circle CI

Package gitlab provides a REST client to the Gitlab API.


Installation via package.el

package.el is the built-in package manager in Emacs.

emacs-gitlab is available on the two major community maintained repositories - MELPA STABLE, MELPA.

You can install gitlab with the following commnad:

M-x package-install [RET] gitlab [RET]

or by adding this bit of Emacs Lisp code to your Emacs initialization file (.emacs or init.el):

(unless (package-installed-p 'gitlab)
  (package-install 'gitlab))

If the installation doesn't work try refreshing the package list:

M-x package-refresh-contents [RET]

Keep in mind that MELPA packages are built automatically from the master branch, meaning bugs might creep in there from time to time. Never-the-less, installing from MELPA is the recommended way of obtaining emacs-gitlab, as the master branch is normally quite stable and "stable" (tagged) builds are released somewhat infrequently.

With the most recent builds of Emacs, you can pin emacs-gitlab to always use MELPA Stable by adding this to your Emacs initialization:

(add-to-list 'package-pinned-packages '(gitlab . "melpa-stable") t)

Via el-get

el-get is another popular package manager for Emacs. If you're an el-get user just do M-x el-get-install [RET] gitlab [RET].


You can install emacs-gitlab manually by placing it on your load-path and require ing it. Many people favour the folder ~/.emacs.d/vendor.

(add-to-list 'load-path "~/.emacs.d/vendor/")
(require 'gitlab)


  • Setup your Gitlab configurations :

      $ (setq gitlab-host "https://gitlab.com"
              gitlab-token-id "foo")
  • Show user's projects with helm interface:

      $ M-x helm-gitlab-projects


  • Show user's issues with helm interface:

      $ M-x helm-gitlab-issues
  • Open current issue:

      $ M-x gitlab-open-issue
      $ o
  • Close current issue:

      $ M-x gitlab-close-issue
      $ c



gitlab use Cask for dependencies management. Install it and retrieve dependencies :

$ curl -fsSkL https://raw.github.com/cask/cask/master/go | python
$ export PATH="$HOME/.cask/bin:$PATH"
$ cask


  • Setup your Gitlab informations :

      $ cat $HOME/.emacs-gitlab.rc
      export GITLAB_HOST="https://gitlab.com"
      export GITLAB_TOKEN_ID="yourtokenid"
      export GITLAB_PROJECT_ID=111222
      export GITLAB_PROJECT_NAME="myproject"
      export GITLAB_PROJECT_DESCRIPTION="a project description"
      export GITLAB_ISSUE_ID=145645
      export GITLAB_ISSUE_TITLE="the issue title"
  • Launch unit tests :

      $ . $HOME/.emacs-gitlab.rc
      $ make clean test

Support / Contribute

See here


A changelog is available here.




Nicolas Lamirault nicolas.lamirault@gmail.com