Upsource

Issue tracker integration

Issue tracker integration lets you link an Upsource project, be it an existing or a new one, to a specified project in your issue tracker, enabling users to create issues from Upsource code reviews and discussions.

YouTrack

Integration with YouTrack is provided via Hub - the service that provides user authorisation and user management across all JetBrains services and applications connected to it.

To integrate with YouTrack, you need to:

  1. Install and run Hub.
  2. Have your Upsource and YouTrack installations configured to work with a standalone Hub.
  3. Go to Hub and merge the Upsource and YouTrack projects that should be integrated.
  4. On Upsource’s Create(Edit) Project page, select YouTrack from the drop-down list

YouTrack integration will be configured automatically.

JIRA

To set up integration with JIRA some configuring on JIRA side might be required:

  1. Log into JIRA with an administrator account and go to System

  2. Issues created from Upsource will be of the top type in the JIRA’s project issue type scheme. To change it, go to IssuesIssue Type Schemes

  3. The issue fields Reporter, Summary, and Description must be enabled for the selected issue type and displayed on the Create Issue screen. To enable them, go to Field Configuration.

  4. Make sure the JIRA user account to be specified in Upsource for the integration has the project administrator permission including the Modify Reporter right.

If you’re not sure about your JIRA settings and want to be able to test the connection using the Test JIRA connection button on the Upsource’s Create Project page, you need to enable CORS for your JIRA server:

  1. Download cors-filter-2.1.2.jar and java-property-utils-1.9.1.jar

  2. Copy the downloaded files in the JIRA\atlassian-jira\WEB-INF\lib\ directory on your JIRA server

  3. Open JIRA\atlassian-jira\WEB-INF\web.xml and add the following lines after </description> but before <!-- Filters -->:

    <filter> 
        <filter-name>CORS</filter-name> 
        <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class> 
        <init-param> 
            <param-name>cors.supportedHeaders</param-name> 
            <param-value>Accept, Authorization, Origin, Content-Type, X-Requested-With</param-value> 
        </init-param> 
    </filter> 
    
    <filter-mapping> 
    <filter-name>CORS</filter-name> 
    <url-pattern>/rest/*</url-pattern> 
    </filter-mapping>
  4. Restart your JIRA server

Now you can go back to Upsource’s Create Project page:

  1. Choose JIRA from the drop-down list and specify its server URL and project key.

  2. Specify the JIRA user account (JIRA project administrator) credentials.

  3. Check Create JIRA Auth Module to enable other JIRA users to log into Upsource with their JIRA credentials and create issues that will be reported under their own names. Otherwise all issues reported from the Upsource project will be shown in the corresponding JIRA project under the name of the JIRA project administrator mentioned above.
  4. Test the connection to your JIRA server (This button will work only if you’ve enabled CORS on the JIRA side as described above. It doesn’t work at all for in-cloud JIRA installation.)

  5. Ask the users to log into Upsource once under their JIRA credentials. Their accounts will be recognized and recorded with Hub.

  6. Give these JIRA users access rights to the Upsource project

  7. You can also provide a way for the JIRA users to log into Upsource with their Upsource credentials and still be able to report issues under their JIRA names. To do that, go to Hub and merge their JIRA and Upsource accounts. The previous step 6 can be skipped in this case.

All issues originating from the Upsource users without associated JIRA accounts will be reported in the corresponding JIRA project under the name of the JIRA project administrator.