Commit graph

25 commits

Author SHA1 Message Date
Eric K Idema
12aa1f898d Import from Github using Personal Access Tokens.
This stands as an alternative to using OAuth to access a user's Github
repositories.  This is setup in such a way that it can be used without OAuth
configuration.

From a UI perspective, the how to import modal has been replaced by a full
page, which includes a form for posting a personal access token back to the
Import::GithubController.

If the user has logged in via GitHub, skip the Personal Access Token and go
directly to Github for an access token via OAuth.
2016-06-30 18:48:17 +02:00
Kamil Trzcinski
a0adafddd0 Remove require_relative 'import_spec_helper' 2016-06-08 18:18:49 +02:00
Kamil Trzcinski
9560639e81 Move ImportSpecHelper to spec/support/ 2016-06-08 17:21:08 +02:00
Kamil Trzcinski
13d941e185 Make Omniauth providers specs to not modify global configuration 2016-06-08 16:50:05 +02:00
Stan Hu
eede032345 Backport GitHub Enterprise import support from EE
These changes were pulled from GitLab EE to support configuring
an alternative API URL than the default https://api.github.com.
In addition, the `verify_ssl` flag allows users to disable SSL cert
checking.

One modification: add a default `args` option if it does not exist
to avoid breaking existing configurations.
2016-04-26 21:00:55 -07:00
Stan Hu
4ad64ab3f4 Fix duplicate repositories in GitHub import page
By default, all the current user's repositories are accessible via the
/users endpoint. There's no need to traverse all the organization
repositories as well.

See:

* http://www.rubydoc.info/github/pengwynn/octokit/Octokit/Client/Repositories#repositories-instance_method
* https://developer.github.com/v3/repos/#list-your-repositories

Closes #2523
2015-10-19 10:39:59 -07:00
Jared Szechy
e156f42079 FogBugz project import 2015-09-08 20:23:01 -04:00
Stan Hu
ed1d4fa477 Remove user OAuth tokens stored in database for Bitbucket, GitHub, and GitLab
and request them each session. Pass these tokens to the project import data.

This prevents the need to encrypt these tokens and clear them in case they
expire or get revoked.

For example, if you deleted and re-created OAuth2 keys for Bitbucket, you would get
an Error 500 with no way to recover:

```
Started GET "/import/bitbucket/status" for x.x.x.x at 2015-08-07 05:24:10 +0000
Processing by Import::BitbucketController#status as HTML
Completed 500 Internal Server Error in 607ms (ActiveRecord: 2.3ms)

NameError (uninitialized constant Import::BitbucketController::Unauthorized):
  app/controllers/import/bitbucket_controller.rb:77:in `rescue in go_to_bitbucket_for_permissions'
  app/controllers/import/bitbucket_controller.rb:74:in `go_to_bitbucket_for_permissions'
  app/controllers/import/bitbucket_controller.rb:86:in `bitbucket_unauthorized'
```

Closes #1871
2015-08-23 09:23:44 -07:00
Stan Hu
d7accda1ae Show incompatible projects in Bitbucket import status
See #1871
2015-08-07 07:07:08 -07:00
Dmitriy Zaporozhets
f40b99d02e
Merge branch 'master' into rubocop-for-tests
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>

Conflicts:
	spec/features/issues_spec.rb
	spec/models/forked_project_link_spec.rb
	spec/models/hooks/service_hook_spec.rb
	spec/models/hooks/web_hook_spec.rb
	spec/models/project_services/hipchat_service_spec.rb
	spec/requests/api/project_members_spec.rb
	spec/requests/api/projects_spec.rb
	spec/requests/api/system_hooks_spec.rb
	spec/services/archive_repository_service_spec.rb
	spec/support/matchers.rb
	spec/tasks/gitlab/backup_rake_spec.rb
2015-06-23 10:44:03 +02:00
Robert Speicher
15a05be70d Fix Style/Blocks cop violations 2015-06-22 16:00:54 -04:00
Robert Speicher
dad88568f3 Update and simplify Import controller specs 2015-06-22 12:13:46 +02:00
Stan Hu
9c76a6fa96 Show incompatible projects in Google Code import status
Importing a JSON file with only one Subversion project lead to confusion
over whether the system was working. Provide status why these projects
could not be imported directly.

Closes #1531
2015-04-30 06:56:49 -07:00
Douwe Maan
7b5bc32cad Allow projects to be imported from Google Code. 2015-04-03 15:29:27 +02:00
Douwe Maan
d92e4ccc6e Add tests. 2015-04-01 17:17:18 +02:00
Douwe Maan
3175438f02 Fix missing GitHub organisation repositories on import page. 2015-03-12 13:47:15 +01:00
Douwe Maan
f2b37de54b Fix specs. 2015-02-24 15:07:24 +01:00
Douwe Maan
ad6d623234 Add Bitbucket importer. 2015-02-24 15:07:24 +01:00
Marcin Kulik
157b4b4b1f Add gitorious.org importer 2015-02-20 17:42:58 +00:00
Jeroen van Baarsen
026e988544 Even more hound fixes
Signed-off-by: Jeroen van Baarsen <jeroenvanbaarsen@gmail.com>
2015-02-12 21:00:55 +01:00
Jeroen van Baarsen
940a402b6e Fixed hound warnings
Signed-off-by: Jeroen van Baarsen <jeroenvanbaarsen@gmail.com>
2015-02-12 19:32:58 +01:00
Jeroen van Baarsen
0c4a70a306 Updated rspec to rspec 3.x syntax
Signed-off-by: Jeroen van Baarsen <jeroenvanbaarsen@gmail.com>
2015-02-12 19:17:35 +01:00
Valery Sizov
b3c90dd514 GitHub importer refactoring 2015-02-05 21:48:21 -08:00
Valery Sizov
2d5765bd2c gitlab.com importer: fix specs after refactoring 2015-02-05 12:50:34 -08:00
Valery Sizov
33349dd549 GitLab.com integration: refactoring 2015-02-05 12:50:34 -08:00