Creating your first project
To add your first project in Upsource:
- Make sure you're logged into Upsource using the administrator account. Non-admin user accounts are not eligible to create new projects.
- Go to
http://your-host-name:port_for_upsource(or click the link for Upsource Frontend from the welcome page)
- Click Create a project.
- In the Create Project form, specify settings for your project.
- Name: Give your project a name and type it in.
- ID: Project ID is created automatically based on the specified project name.
- Project is hosted in multiple repositories: Select this option if your project is divided into a few separate repositories but building this project requires fetching all the repositories into specific locations under the root directory. Mapping multiple repositories allows you to watch and review changes in all of them from a single Upsource project.
- Click Add repository and specify the following settings for each repository:
- Repository URL: The following formats are expected in the _Repository URL (Server name)_ field for different version control systems:
- Enable branches support - You can define one or more SVN paths where Upsource should be looking for SVN branches. Use rules like +: or -: to include or exclude branches. Branch paths are relative to the repository URL specified above. Pattern may contain one * to match any number of characters in directory name.
- Example for a standard SVN layout:
- Example for a standard SVN layout:
- Workspace mapping
To include the entire project, specify:
To include only selected directories of the project, list these directories followed by corresponding directories in Upsource (divided by a space). Example:
//depot/project1/directory1/... //upsource/depot/project1/directory1/... //depot/project1/directory2/... //upsource/depot/project1/directory2/...
- Login, Password: Specify credentials to connect to your VCS.
- Check interval: Reflects how often Upsource checks for new revisions in the repository (every 300 seconds by default.)
If commits to your repository aren't usually made this frequently, consider setting _Check interval_ to a larger value.
See also: What is supported for each VCS
- Build system defines whether Upsource is able to execute static code analysis in your repository and provide related features including displaying code issues, "Find usages", "Go to Declaration" etc.
- This setting should only be considered if you are working on a Java project. If you are working on a project that doesn't use Java, you're safe to set Build system to None as code analysis for non-Java projects is not supported at this point.
- For Java, there's a separate option for projects that use Maven irrelevant of which IDE is used to maintain code, and also an option that enables code analysis when IntelliJ IDEA is used in the project irrelevant of build system (for example, if your project is built with Ant but you're using IntelliJ IDEA, then IntelliJ IDEA_would be your choice of build system.)
If Maven is selected as build system:
- Path to project model should contain the path to the parent _pom.xml_ file (relative to project root). If your project modules are hosted in multiple repositories (e.g. each module in their own repository), you can configure them all in one Upsource project, and keep the parent pom.xml in the first repo.
- Maven settings - if your project requires non-standard Maven settings, paste the content of your maven-settings.xml here (up to 20KB).
If IntelliJ IDEA is selected as build system, Path to project model should contain the path to the
.ideadirectory (relative to project root).
If your team developers configure their IDE so each has different .idea folder, it's still recommended to store most of the .idea folder contents in version control, only omitting the user-specific settings, such as .idea/workspace.xml and .idea/shelf. Otherwise Upsource will not be able to provide Java code insight for your project.
If Gradle is selected as build system, Path to project model should contain the path to the
build.gradlefile (relative to project root). Please note: Android Studio projects are not currently supported.
If you're planning to work on Gradle projects without a wrapper:
- In the
<upsource_home>/confdirectory, create a file
- Add the following line to that file:
gradle.home.directory=<gradle_home>. Use double backslashes in the specified path (e.g.
- Restart Upsource
- In the
- Default branch - optionally specify the branch which you want to set as default. Setting the default branch will improve displaying the commits graph, rendering README files, comparing branches, etc.
Upsource can detect references and turn them into hyperlinks. For example, issue references mentioned in commit messages or discussion comments (such as Fix PRJ-123) can be recognized by Upsource and linked to the corresponding issues in your tracker.
Issue Tracker Integration
Integration with known issue tracker enables additional features such as creating issues from code reviews and discussions.
Please refer to Issue tracker integration for detailed instructions.
Meanwhile Upsource will start loading commit information from the repository, then fetching and indexing repository content.
All this could take a while for larger projects (up to several hours.) To track indexing progress, hover over the project name. You will most probably not be able to work with the project before these steps complete.
Upon completing them, Upsource will allow browsing code in revisions, displaying diffs in revisions, create and process code reviews etc.