367b68a01d
It adds a brand new importer for Gitea! This is a continuation of !6945 started by @bkc. Gitea aims to be 100% GitHub-compatible but there's a few differences: - Gitea is not an OAuth provider (yet): https://github.com/go-gitea/gitea/issues/27 - This means we cannot map Gitea users given an assignee ID => assignees are not set on imported issues and merge requests - No releases API for now: https://github.com/go-gitea/gitea/issues/330 - API version is `v1` (GitHub is `v3`) - The IID field for milestones is `id` compared to `number` in GitHub. - Issues, PRs, milestones, labels don't have a `url` field (the importer now fallback to `''` in that case) **Known issues:** - Comments are not imported because comments JSON always have a blank `html_url`/`issue_url`/`pull_request_url`, so the IID cannot be extracted and the issuable cannot be found... :( This is tracked in https://github.com/go-gitea/gitea/issues/401, and solved by https://github.com/gogits/gogs/pull/3624 but this needs to be submitted / merged in Gitea. This is noted in the documentation. ## Are there points in the code the reviewer needs to double check? 1. I've made `Import::GiteaController` inherit from `Import::GithubController` since both controllers should be identical in the long-term and their current differences are small. 1. I've added a base `IssuableFormatter` class from which `IssueFormatter` & `PullRequestFormatter` inherit 1. I've added shared examples for GitHub/Gitea importer classes 1. I've made `Gitlab::ImportSources` more robust and tested! 🎄 1. I've added routing specs for import routes! 🎄 Closes #22348 See merge request !8116 |
||
---|---|---|
.. | ||
environments | ||
initializers | ||
locales | ||
routes | ||
application.rb | ||
aws.yml.example | ||
boot.rb | ||
database.yml.env | ||
database.yml.mysql | ||
database.yml.postgresql | ||
dependency_decisions.yml | ||
environment.rb | ||
gitlab.yml.example | ||
license_finder.yml | ||
mail_room.yml | ||
newrelic.yml | ||
no_todos_messages.yml | ||
README.md | ||
resque.yml.example | ||
routes.rb | ||
secrets.yml.example | ||
sidekiq.yml.example | ||
sidekiq_queues.yml | ||
unicorn.rb.example | ||
unicorn.rb.example.development |
Configuration files Documentation
Note that most configuration files (config/*.*
) committed into
gitlab-ce will not be used for
omnibus-gitlab. Configuration
files committed into gitlab-ce are only used for development.
gitlab.yml
You can find most of GitLab configuration settings here.
mail_room.yml
This file is actually an YML wrapped inside an ERB file to enable templated
values to be specified from gitlab.yml
. mail_room loads this file first as
an ERB file and then loads the resulting YML as its configuration.
resque.yml
This file is called resque.yml
for historical reasons. We are NOT
using Resque at the moment. It is used to specify Redis configuration
values instead.