drym3r / emacs-gitlab

A Gitlab client for Emacs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

emacs-gitlab

License GPL 3 Coverage Status

Master :

  • MELPA Stable
  • Circle CI

Develop:

  • Melpa Status
  • Circle CI

Package gitlab provides a REST client to the Gitlab API.

Installation

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].

Manual

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)

Usage

  • Setup your Gitlab configurations :

      $ (setq gitlab-host "https://gitlab.com"
              gitlab-username "foo"
              gitlab-password "bar")
    
  • Open a session :

      $ M-x gitlab-login
    
  • Show user's projects with helm interface:

      $ M-x helm-gitlab-projects
    

projects

  • Show user's issues with helm interface:

      $ M-x helm-gitlab-issues
    

Ask the api: (where project-id can be an int or a string of the form "username/projectname".

  • issues:

issues

see gitlab-list-project-issues (project-id &optional page per-page params), where params can be '((state . \"opened\")) to list the open issues

  • labels: gitlab-list-project-labels

Development

Cask

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

Tests

  • Setup your Gitlab informations :

      $ cat $HOME/.emacs-gitlab.rc
      #!/bin/bash
      export GITLAB_HOST="https://gitlab.com"
      export GITLAB_USERNAME="yourusername"
      export GITLAB_PASSWORD="yourpassword"
      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

Changelog

A changelog is available here.

License

See LICENSE.

Contact

Nicolas Lamirault nicolas.lamirault@gmail.com

About

A Gitlab client for Emacs

License:GNU General Public License v2.0


Languages

Language:Emacs Lisp 97.2%Language:Makefile 2.8%