Never dreamt of creating and managing your GitLab projects from R? {gitlabr} is here to help you with that!
With {gitlabr}, you can interact with GitLabâs API to manage your projects, issues, merge requests, pipelines, wikis, and more.
Now, the automation of your regular tasks with GitLab is just a few lines of R code away.
You can install the most recent stable version from CRAN using:
To install the development version using devtools, type:
See the CONTRIBUTING.md for instructions on how to run tests locally and contributor information.
Recommended GitLab versionsGitLab 11.6 or higher is generally recommended when using {gitlabr} version 2.0.0 or higher. This {gitlabr} version uses the GitLab API v4.
Quick Start ExampleR code using {gitlabr} to perform some common GitLab actions can look like this
api
https://gitlab.com/-/profile/personal_access_tokens
GITLAB_COM_TOKEN
with usethis::edit_r_environ()
and restart your sessionmax_page
, otherwise the entire GitLab.com will be downloaded hereâ¦owned = FALSE
to retrieve all projects except ours.# a tibble is returned, as is always by {gitlabr} functions
gl_list_projects(max_page = 2, owned = FALSE)
#> # A tibble: 40 Ã 129
#> id name name_with_namespace path path_with_namespace created_at
#> <chr> <chr> <chr> <chr> <chr> <chr>
#> 1 57865685 nodejsappl⦠Arsalan Ahmed Zia ⦠node⦠arsalanahmedzia_th⦠2024-05-1â¦
#> 2 57865684 Self-Hoste⦠Anand R / Self-Hos⦠self⦠anandr72/self-host⦠2024-05-1â¦
#> 3 57865661 cuda handcat / cuda cuda handcat/cuda 2024-05-1â¦
#> 4 57865656 TicTacToe Debeleac Vincenzzi⦠tict⦠Andreidoo/tictactoe 2024-05-1â¦
#> 5 57865597 Sparks Git⦠Nicolas Tatard / S⦠spar⦠tatardnicolas47/sp⦠2024-05-1â¦
#> 6 57865595 Sparks Git⦠Patrick Poncy / Sp⦠spar⦠PatSopra/sparks-gi⦠2024-05-1â¦
#> 7 57865594 Sparks Git⦠Emie Bourdeau / Sp⦠spar⦠Emie_Bourdeau/spar⦠2024-05-1â¦
#> 8 57865590 ComMan UI ossama hassari / C⦠comm⦠ossamahassari98/co⦠2024-05-1â¦
#> 9 57865581 Sparks Git⦠Raphaël Mechali / ⦠spar⦠RaphaelMechali/spa⦠2024-05-1â¦
#> 10 57865574 copy local⦠mvaskuri / copy lo⦠copy⦠mvaskuri1/copy-loc⦠2024-05-1â¦
#> # â¹ 30 more rows
#> # â¹ 123 more variables: default_branch <chr>, ssh_url_to_repo <chr>,
#> # http_url_to_repo <chr>, web_url <chr>, readme_url <chr>, forks_count <chr>,
#> # star_count <chr>, last_activity_at <chr>, namespace.id <chr>,
#> # namespace.name <chr>, namespace.path <chr>, namespace.kind <chr>,
#> # namespace.full_path <chr>, namespace.avatar_url <chr>,
#> # namespace.web_url <chr>, container_registry_image_prefix <chr>, â¦
Work with a specific project
ID = 20384533
on GitLab.commain
, you need to specify it with gitlabr_options_set()
gl_list_files()
gl_list_issues()
gl_list_issues(project = my_project)
#> # A tibble: 2 Ã 40
#> id iid project_id title description state created_at updated_at author.id
#> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
#> 1 6952⦠2 20384533 A se⦠The blog p⦠open⦠2020-08-0⦠2020-08-0⦠4809823
#> 2 6952⦠1 20384533 An e⦠No desc in⦠open⦠2020-08-0⦠2020-08-0⦠4809823
#> # â¹ 31 more variables: author.username <chr>, author.name <chr>,
#> # author.state <chr>, author.locked <chr>, author.avatar_url <chr>,
#> # author.web_url <chr>, type <chr>, user_notes_count <chr>,
#> # merge_requests_count <chr>, upvotes <chr>, downvotes <chr>,
#> # confidential <chr>, issue_type <chr>, web_url <chr>,
#> # time_stats.time_estimate <chr>, time_stats.total_time_spent <chr>,
#> # task_completion_status.count <chr>, â¦
Note that recent version of GitLab may have anti-spam on opening issues, leading to ERROR with gl_create_issue()
if you abuse the API. You will need to open the issue manually in this case.
If an API request is not already available in {gitlabr}, function gitlab()
allows to use any request of the GitLab API https://docs.gitlab.com/ce/api/.
For instance, the API documentation shows how to create a new project in https://docs.gitlab.com/ce/api/projects.html#create-project:
POST
projects
name
or path
(if name
not set)default_branch
is an attribute that can be set if wanted, but not requiredThe corresponding use of gitlab()
is:
Implement whatever suits your needs !
Unset connection Using GitLab CI with {gitlabr}{gitlabr} can also be used to create a .gitlab-ci.yml
file to test, build and check an R package, a bookdown, ⦠using GitLabâs CI software. Use gitlabr::use_gitlab_ci()
with a specific type
in your project and your CI should be ready to start in the next commit.
There are pre-defined templates:
bookdown-production.yml
bookdown.yml
check-coverage-pkgdown-renv.yml
check-coverage-pkgdown.yml
vignette("a-gitlabr", package = "gitlabr")
Youâre welcome to contribute to {gitlabr} by editing the source code, adding more convenience functions, filing issues, etc. CONTRIBUTING.md compiles some information helpful in that process.
Code of ConductPlease note that the gitlabr project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.
Note that the {gitlabr} package was originally created by Jirka Lewandowski. The present repository is a fork to be able to continue development of this package.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4