API and webhooks In addition to the web
user interface, it is common for a forge to provide a
REST API with documentation (
GitHub,
GitLab,
Gitea, etc.) to enable
interoperability with other products. Forge users can also install
webhooks to notify a third party online service when an event happens on their software project (for instance the webhook can be called when a new issue is created).
Federation Federation and the associated protocol
ActivityPub (introduced in 2018) allows forges to communicate with each other about their activities (for instance when issues are created or a commit is pushed). Although native federation support is sometime discussed or in progress it is not yet available. Third party projects emerged to bridge the gap such as a plugin for the pagure forge or a proxy supporting ActivityPub and translating it to
REST API calls to the designated forge.
Authentication There is no
SSO that applications and users could rely on to authenticate with all forges. Instead it is common for a forge to support a number of authentication providers: if a user already has an account they can use it to authenticate on the forge and do not need to create a new account (for instance
GitLab supports
OAuth2 providers such as
GitHub). Some forges can act as an authentication provider (for instance
Gitea is an OAuth2 provider as well as GitLab).
Integration To improve the user and the system administrator experience when using multiple online services, some forges are integrated with popular third-party software and services such as
online chat (for instance
mattermost has a plugin for GitHub and is natively support by GitLab). == Examples ==