Import projects from Bitbucket.org and login to your GitLab instance with your Bitbucket.org account.
You can set up Bitbucket.org as an OAuth2 provider so that you can use your credentials to authenticate into GitLab or import your projects from Bitbucket.org.
Note: GitLab 8.15 significantly simplified the way to integrate Bitbucket.org with GitLab. You are encouraged to upgrade your GitLab instance if you haven't done already. If you're using GitLab 8.14 and below, use the previous integration docs.
To enable the Bitbucket OmniAuth provider you must register your application with Bitbucket.org. Bitbucket will generate an application ID and secret key for you to use.
Provide the required details:
Item | Description |
---|---|
Name | This can be anything. Consider something like <Organization>'s GitLab or <Your Name>'s GitLab or something else descriptive. |
Application description | Fill this in if you wish. |
Callback URL | The URL to your GitLab installation, e.g., https://gitlab.example.com . |
URL | The URL to your GitLab installation, e.g., https://gitlab.example.com . |
NOTE: Starting in GitLab 8.15, you MUST specify a callback URL, or you will see an "Invalid redirect_uri" message. For more details, see the Bitbucket documentation.
And grant at least the following permissions:
Account: Email, Read
Repositories: Read
Pull Requests: Read
Issues: Read
Wiki: Read and Write
Select your newly created OAuth consumer and you should now see a Key and Secret in the list of OAuth customers. Keep this page open as you continue the configuration.
On your GitLab server, open the configuration file:
# For Omnibus packages
sudo editor /etc/gitlab/gitlab.rb
# For installations from source
sudo -u git -H editor /home/git/gitlab/config/gitlab.yml
Add the Bitbucket provider configuration:
For Omnibus packages:
gitlab_rails['omniauth_providers'] = [
{
"name" => "bitbucket",
"app_id" => "BITBUCKET_APP_KEY",
"app_secret" => "BITBUCKET_APP_SECRET",
"url" => "https://bitbucket.org/"
}
]
For installations from source:
- { name: 'bitbucket',
app_id: 'BITBUCKET_APP_KEY',
app_secret: 'BITBUCKET_APP_SECRET',
url: 'https://bitbucket.org/' }
Where BITBUCKET_APP_KEY
is the Key and BITBUCKET_APP_SECRET
the Secret from the Bitbucket application page.
Reconfigure or restart GitLab for the changes to take effect if you installed GitLab via Omnibus or from source respectively.
On the sign in page there should now be a Bitbucket icon below the regular sign in form. Click the icon to begin the authentication process. Bitbucket will ask the user to sign in and authorize the GitLab application. If everything goes well, the user will be returned to GitLab and will be signed in.
Once the above configuration is set up, you can use Bitbucket to sign into GitLab and start importing your projects.