Configuring direct Eyes/GitHub integration

This article describes how to configure the legacy Eyes/GitHub integration (based on OAuth authorization). This option is only available if it was previously configured by your organization before GitHub App based integration was available. The solution typically requires you to whitelist the Eyes server on the GitHub server, you can avoid this by using the GitHub App based Eyes integration.

The GitHub App based Eyes integration with self hosted GitHub solution is described in the article Using the Applitools GitHub proxy service. The GitHub App based Eyes integration with GitHub cloud based solutions is described in GitHub integration

Eyes/GitHub integration configuration procedure

You must have Eyes Team admin rights to configure the Eyes/GitHub integration. The configuration consists of the following steps:

  • Use the Page navigator The Page navigator is a control at the top of the Test manager window that is used to switch between the main pages of the Test manager. It also displays the name of the current page. to display the Admin page. (You can only see this page in the Page navigator if you have Admin privileges.)

  • Click on the Teams tile.

  • Click on the row of the team you want to configure.

  • Click on the Integrations tab.

  • Click on the GITHUB row.

  • Make sure that the Applitools direct integration option is selected.

  • If your organization uses an Eyes Cloud server and the public cloud, then you can skip this step and continue with step 9 below. If your organization has a GitHub Enterprise server or if you have an on-premise Eyes Server, then this one-time step needs to be completed, and it is then applied to all of the teams in the account. In the box displaying the server names, click on to open the server selection menu and select your GitHub server. If your server is not yet on the list, then click on the Add button and add the hostname of your GitHub server and the other details as directed by the wizard.

  • The GitHub Enterprise server is an on-premise server; therefore, you need to white list the Eyes server. You should white list inbound HTTPS traffic from the Eyes server to the on-premise GitHub Enterprise server in your company's firewall. If you use the public cloud, then you need to white list, and if you use a private cloud, then you need to white list If you can not whitelist your server then the recommended solution is to use the Applitools GitHUb proxy server see Using the Applitools GitHub proxy service.

  • Click the Manage repositories button and in the dialog that opens, select the check boxes of the repositories that you want to activate in the Eyes/GitHub integration. The dialog includes a Filter repository name field that you can use to narrow down the set of repositories that are displayed. If you enter text in the box, only repositories that include that filter text are displayed.

  • If your build runs as a single instance, you can now proceed to configure the CI - see Configuring your CI for the GitHub integration.

  • If your build runs as multiple concurrent instances, then you need to take extra steps to ensure that the test results from all of the builds appear together in a single Test Manager batch. This is required if you have parallel push and pull requests.

    • Select the Show batch closing control (advanced) check box. The Test Manager adds an another column labeled Automated batch closing that provides a toggle switch for each repository in the list of repositories.
    • If the toggle switch for a repository is enabled (the default), when a build finishes execution, Eyes closes the batch. If the CI runs the build in multiple concurrent instances, then the test results from the concurrent build may appear in the same batch or in a different batch. In order to ensure that for a given repository build, all of the test results from all of the builds appear in a single batch, disable the toggle for that repository.
    • If you disable automated batch closing for a repository, you need to ensure that the CI notifies Eyes when all of the concurrent builds are complete so that Eyes can then close the batch. For details see Synchronizing multiple concurrent builds.