Connect External SCM Services
To provide better support for external SCM integration, codebeamer synchronizes changes from external repositories into a codebeamer instance. The changes can be tracked and managed in codebeamer.
Solution
codebeamer frequently checks the external repositories, and fetches new commits, pull request, branches, and other changes from user repositories. Synchronization is triggered by a scheduled background task or a webhook notification from the external system.
All type of external entities are stored as a tracker item. SCM-related trackers are created when an external SCM repository is created in the project. The trackers can be managed with Project Admin role.
For more information on external SCM repositories, see External SCM Services in Codebeamer.
Connection between Trackers
Benefits of Using an SCM Tracker
One of the benefits of using a tracker is that a project admin can easily define permission on any tracker, so only authorized users have access to the changes. A tracker item also can be used as references in other tracker item.
To edit SCM trackers, the user must have Project Admin role. With the SCM View role, users have a read-only permission to these trackers. For any other user, the SCM trackers are hidden.
External repositories can be enabled or disabled. Disabled repositories are not synchronized anymore.
Repository synchronization can be triggered manually.
Users can connect user stories and pull requests together and build a status of pull request in a workflow action.
Technical Implementation
codebeamer fetches data from the external services via REST APIs, current solution supports only a Basic Authentication solution. Only the GitHub REST API is supported.
Technical Limitations
Most of the external services limiting the number of API requests a user can make in a certain period. codebearmer synchronizes as many changes as possible and stops when limit is reached. As a result, users might not see their changes imminently in codebeamer.