Import from GitHub
The import from GitHub lets you migrate issues, comments, users, and other data from a GitHub repository to YouTrack.
A setup wizard navigates you through the import configuration process. It prompts you to enter the connection settings and lets you map a project in YouTrack to a repository in GitHub. If your repository has a custom set of fields for issues, you can edit the import script in YouTrack directly.
Prerequisites
Before you import issues from GitHub to YouTrack, check the following requirements:
Your GitHub projects that are hosted on github.com. Imports from GitHub Enterprise Server are not supported at this time.
You have direct access to log in to the source application using a password or token.
YouTrack's import engine doesn't support authentication through external authentication modules.
Import Details
If the GitHub database contains references to entities that do not exist in YouTrack yet, they are created. The YouTrack user account you use to run the import should have permissions to create all imported entities. We recommend using an account with a System Admin role or the Low-level Admin Write permission to run the import.
Here is the list of entities that are imported from GitHub and their mapping to YouTrack entities:
Entity in GitHub | Entity in YouTrack |
---|---|
Repository | Project |
Issues | Issues |
Comments | Comments |
Users | Users |
Custom fields | Custom fields |
Attachments | Attachments |
Markdown files ( | Knowledge base articles |
HTML files ( | Knowledge base articles |
reStructuredText files ( | Knowledge base articles |
Repository collaborators | Project team members |
Set up an Import from GitHub
Before you add a new import configuration, you need to create a personal access token that will grant access to the repository in GitHub. Then you can use the token for authorization when setting up the import in YouTrack.
Create an Access Token in GitHub
To set up import of issues from GitHub, first, you need to create a personal access token for the GitHub account that you use to access issues in GitHub repository.
To create a personal access token in GitHub:
Log in to GitHub with an account that is granted administrative permissions.
In the upper-right corner of any page, click your profile photo, then click Settings.
In the left sidebar, click Developer settings, then Personal access tokens.
Click Generate new token, and provide a description for the token.
Set the expiration date for the token if necessary.
Select the scopes for the token.
The base permission scopes differ for public and private repositories. Select the repository type that applies to your situation and select the corresponding scopes for your token.
repo
:repo:status
public_repo
user
:read:user
user:email
project
:read:project
repo
: To import issues from a private repository, enable allrepo
scopes.user
:read:user
user:email
project
:read:project
Click the Generate token button.
The new personal access token is added to the list.
For more details on creating personal access tokens in GitHub, refer to the GitHub documentation.
Configure an Import from GitHub in YouTrack
The setup wizard guides you through the setup process.
To configure an import from GitHub:
From the Administration menu, select .
Click New import to open the setup dialog.
Select GitHub.
Settings for a New Import from GitHub are displayed.
Enter values for the following settings:
Setting
Description
GitHub repository URL
Enter the URL of the target repository. Since it's not a clone URL, do not include the
.git
suffix.Token
The personal access token that you have generated in GitHub for the user account that you use to access the target issues.
If you didn't generate a token for this import before you started to set it up, click the Generate token link to access GitHub and create it now.
If required by your GitHub installation, enable the Use SSL key for client authentication option.
Click the Next button.
The second set of import settings is displayed.
Expand the Manage import for optional datasets section. Here you can configure the import engine to ignore certain parts of the source database during import.
Setting
Description
Issue history
Disable this toggle to ignore historical changes of issues during import.
Issue links
Disable this toggle to ignore links between issues during import.
By default, these toggles are enabled. This means that YouTrack will pull historical changes and issue links from the import source if the import script supports it.
Select the target project for the import. For more details about the project mapping configuration, see Project Mapping.
Optionally, enable the Continuous import toggle. When enabled, YouTrack will periodically poll the GitHub repository and import updated and new issues that were created since the last sync.
Сlick the Start import button.
YouTrack will import found issues, articles, and users into the target YouTrack project.
If the Continuous import option is enabled, YouTrack will periodically check the target GitHub repository for updated and new issues.
When you have set up an import, it is shown in the Imports list. To view configuration and import details, select an import configuration from the list.
In the sidebar, YouTrack shows the import status and additional information about the imported data. Click the Resume button in the toolbar to import updates from the connected GitHub project.
You can also download the import log file to study and investigate when needed.
Project Mapping
On the final step of the import setup, you can choose whether to create a new project for the import or import data into an existing project in YouTrack.
YouTrack recognizes when a web address has already mapped a source project by a previous import. Imported source projects that have already been mapped in YouTrack aren't selectable. You can create multiple import jobs from the same source without importing duplicate data.
To configure project mapping:
Select the target YouTrack project.
YouTrack checks for existing YouTrack projects with corresponding names. If it finds a YouTrack project with the same name as the GitHub repository, YouTrack suggests it as the target project.
If there is no existing YouTrack project with the corresponding name, YouTrack suggests creating a new one.
If you want to change the target project, select another option from the corresponding dropdown on the list.
Click Start import to finalize import setup and start import.
Import starts.
Import Options
After the initial import, the following controls are available in the sidebar:
Control | Description |
---|---|
Resume | Immediately imports any changes made in the connected GitHub repository after the previous import. |
Edit | Opens the integration settings page in edit mode. Use this option to connect to a different GitHub repository, update the login credentials, or update project mapping. |
Delete | Deletes the current import settings. Projects, issues, comments, users, and groups that were imported from the connected GitHub repository are not affected. If you delete the import settings and connect to the same GitHub repository, the issues are re-imported into the existing project with new issue IDs. |
Continuous import | YouTrack periodically checks the target GitHub repository and imports updated and new items created since the last sync. |
Download import log | Downloads the import log. Use this option to view and investigate errors that occurred during import. |