We have launched a new way of connecting your GitHub repositories with Semaphore.
Now you can use Semaphore GitHub App to connect your repositories and choose exactly which repositories you want to give access to.
Before, users could connect the repository only through personal access token which means that you have to give either:
- Access to all public repositories on which you are a collaborator
- Access to all public and private repositories
With the introduction of Semaphore GitHub App, you can now have more granular access control.
To make the user offboarding easier on Semaphore we also added two additional options in the Project Settings:
Feature 1 - The option to transfer project from personal access token connection to GitHub App connection can be found in Project Settings > Repository.
Feature 2 - For the projects that still rely on the personal access token you now have the option to change Project Owner in Project Settings > General. This means that you can now remove the user from the Semaphore organization even if some of the projects were created with their personal access token.
When adding a new project you will notice two tabs on the repository select list:
- GitHub Personal Token - Uses personal access token (the old way of connecting the repository)
- GitHub App - Uses GitHub App installation (allows for stricter access control)
The first time you select the “GitHub App” tab you will probably see an empty repository list because the app is not yet installed on your GitHub organization.
Just select the “Give access to more repositories” at the bottom of the page and follow the steps.
If you want to get more familiar with the differences between these two ways of connecting GitHub repositories with Semaphore please check our latest documentation page.
We have a few additional improvements in a queue when it comes to user management and offboarding. A new page that displays all projects that the user is the owner of in an organization is being implemented and will be published in the following weeks.