Learn R Programming

⚠️There's a newer version (2.0.1) of this package.Take me there.

gitlabr

Installation

You can install the most recent stable version from CRAN using:

install.packages("gitlabr")

To install the development version, in a console type:

git clone https://github.com/jirkalewandowski/gitlabr.git
R -e "library(devtools); document('gitlabr'); install('gitlabr')"

Recommended Gitlab versions & Roadmap

Gitlab 9.0 or higher is generally recommended when using gitlabr version 0.9 or higher, since this package version uses the gitlab API v4, older versions use API v3, which was the standard before Gitlab 9.0. Older versions of Gitlab using API v3 are sill supported by gitlabr 0.9, see details section "API version" of the documentation of gl_connection on how to use them. From gitlabr 1.0 on (expected in the second half of 2017), API v3 usage will be deprecated.

Quick Start Example

R code using gitlabr to perform some easy, common gitlab actions can look like this:

library(gitlabr)

# connect as a fixed user to a gitlab instance
my_gitlab <- gl_connection("https://gitlab.points-of-interest.cc",
                           login = "testibaer",
                           password = readLines("secrets/gitlab_password.txt"))
# a function is returned
# its first argument is the request (name or function), optionally followed by parameters

my_gitlab(gl_list_projects) # a data_frame is returned, as is always by gitlabr functions

my_gitlab(gl_list_files, project = "gitlabr", path = "R")

# create a new issue
new_feature_issue <- my_gitlab(gl_new_issue, project = "testor", "Implement new feature")

# requests via gitlabr always return data_frames, so you can use all common manipulations
require(dplyr)
example_user <-
  my_gitlab("users") %>%
    filter(username == "testibaer")

# assign issue to a user
my_gitlab(gl_assign_issue, project = "testor",
          new_feature_issue$iid,
          assignee_id = example_user$id)

my_gitlab(gl_list_issues, "testor", state = "opened")

# close issue
my_gitlab(gl_close_issue, project = "testor", new_feature_issue$iid)$state

Further information

  • For a comprehensive overview & introduction see the vignette("quick-start-gitlabr")
  • When writing custom extensions ("convenience functions") for gitlabr or when you experience any trouble, the very extensive Gitlab API documentation can be helpful.
  • gitlabr is developed on https://gitlab.points-of-interest.cc/points-of-interest/gitlabr -- Github and Gitlab.com are mirrors of this repository, but can be used for filing issues or merge requests.

Copy Link

Version

Install

install.packages('gitlabr')

Monthly Downloads

762

Version

0.9

License

GPL (>= 3)

Maintainer

Jirka Lewandowski

Last Published

April 25th, 2017

Functions in gitlabr (0.9)

gitlabr

Interface to gitlab API on high and low levels
gitlabr_0_7_renaming

renamings from gitlabr version 0.6.4 to 0.7
gl_get_comments

Get the comments/notes of a commit or issue
gl_connection

Connect to a specific gitlab instance API
gl_proj_req

Create a project specific request
gl_push_file

Upload a file to a gitlab repository
pipe_into

Pipe into specific formal argument
set_gitlab_connection

Get/set a gitlab connection for all calls
gl_create_merge_request

Create a merge request
gl_new_issue

Post a new issue or edit one
update_gitlabr_code

Convert gitlabr legacy code to 0.7 compatible
gl_list_branches

List, create and delete branches
gitlab

Request Gitlab API
gl_get_commits

Get commits and diff from a project repository
gl_get_project_id

Get a project id by name
gl_archive

Get zip archive of a specific repository
gl_pipelines

Access the Gitlab CI builds
gl_ci_job

Define Gitlab CI jobs
gitlabr-deprecated

Deprecated functions
gl_list_issues

Get issues of a project or user
gl_repository

Access to repository functions and files in Gitlab API
glLoginInput

Shiny module to login to gitlab API
gl_to_issue_id

Translate projectwide issue id to global gitlab API issue id
iff

Apply a function if and only if test is TRUE
gl_list_projects

List projects in Gitlab