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 |
||
---|---|---|
.. | ||
auth | ||
backend | ||
badge | ||
bitbucket_import | ||
chat_commands | ||
checks | ||
ci | ||
conflict | ||
cycle_analytics | ||
data_builder | ||
database | ||
diff | ||
downtime_check | ||
fogbugz_import | ||
gfm | ||
git | ||
github_import | ||
gitlab_import | ||
google_code_import | ||
graphs | ||
import_export | ||
ldap | ||
markdown | ||
metrics | ||
middleware | ||
o_auth | ||
request_profiler | ||
saml | ||
sanitizers | ||
serialize/ci | ||
sherlock | ||
sidekiq_middleware | ||
slash_commands | ||
sql | ||
template | ||
access.rb | ||
allowable.rb | ||
app_logger.rb | ||
asciidoc.rb | ||
auth.rb | ||
award_emoji.rb | ||
blame.rb | ||
changes_list.rb | ||
chat_name_token.rb | ||
closing_issue_extractor.rb | ||
color_schemes.rb | ||
config_helper.rb | ||
contributions_calendar.rb | ||
contributor.rb | ||
current_settings.rb | ||
database.rb | ||
devise_failure.rb | ||
downtime_check.rb | ||
ee_compat_check.rb | ||
emoji.rb | ||
environment_logger.rb | ||
exclusive_lease.rb | ||
file_detector.rb | ||
git.rb | ||
git_access.rb | ||
git_access_status.rb | ||
git_access_wiki.rb | ||
git_logger.rb | ||
git_post_receive.rb | ||
git_ref_validator.rb | ||
gl_id.rb | ||
gon_helper.rb | ||
highlight.rb | ||
identifier.rb | ||
import_export.rb | ||
import_formatter.rb | ||
import_sources.rb | ||
incoming_email.rb | ||
issues_labels.rb | ||
key_fingerprint.rb | ||
kubernetes.rb | ||
lazy.rb | ||
lfs_token.rb | ||
logger.rb | ||
mail_room.rb | ||
markup_helper.rb | ||
metrics.rb | ||
optimistic_locking.rb | ||
other_markup.rb | ||
popen.rb | ||
project_search_results.rb | ||
protocol_access.rb | ||
recaptcha.rb | ||
redis.rb | ||
reference_extractor.rb | ||
regex.rb | ||
repository_check_logger.rb | ||
request_profiler.rb | ||
routing.rb | ||
search_results.rb | ||
seeder.rb | ||
sentry.rb | ||
sherlock.rb | ||
sidekiq_logger.rb | ||
sidekiq_throttler.rb | ||
snippet_search_results.rb | ||
themes.rb | ||
timeless.rb | ||
upgrader.rb | ||
uploads_transfer.rb | ||
url_builder.rb | ||
url_sanitizer.rb | ||
user_access.rb | ||
utils.rb | ||
version_info.rb | ||
visibility_level.rb | ||
workhorse.rb |