GitLab API | gitlab gem で Wikiを clone するためのコードを生成する
概要
gitlab gem で Wikiを clone するためのコードを生成します。
GitLabでは、例えば some_group グループの some_project プロジェクトがあった場合に、
以下のようなリポジトリに wiki が保存されます。
git@some_ip:some_group/some_project.wiki.git
それを前提に、GitLabに登録されている全てのプロジェクトの Wiki を clone するための
git のコードを生成してみます。
サンプル
require 'gitlab'
Gitlab.configure do |config|
config.endpoint = 'http://some_path/api/v3'
config.private_token = 'your token'
end
projects = Gitlab.projects # デフォルトは20件取得なので20以上のプロジェクトがある場合はページ設定の変更や、ページング処理が必要
projects.each do |project|
wiki_git_repo = project.ssh_url_to_repo.gsub(/\.git/, '.wiki.git')
puts "git clone #{wiki_git_repo}"
end
出力例
git clone git@some_ip:some_group/some_project1.wiki.git
git clone git@some_ip:some_group/some_project2.wiki.git
git clone git@some_ip:some_group/some_project3.wiki.git
git clone git@some_ip:some_group/some_project4.wiki.git
git clone git@some_ip:some_group/some_project5.wiki.git
git clone git@some_ip:some_group/some_project6.wiki.git
git clone git@some_ip:some_group/some_project7.wiki.git
git clone git@some_ip:some_group/some_project8.wiki.git
git clone git@some_ip:some_group/some_project9.wiki.git
git clone git@some_ip:some_group/some_project10.wiki.git
参照
GitLab gem RubyGems
https://rubygems.org/gems/gitlabGitLab gem GitHub
https://github.com/NARKOZ/gitlab