Integrating with source control applications

Perforce ALM integrates with several source control applications, including Surround SCM, Perforce P4, Git, and GitHub. Depending on the application, two-way or one-way integration may be supported.

Two-way integration

Perforce ALM supports two-way integration with Surround SCM, Perforce P4, and Subversion for a complete change management solution that tracks what changed and why in source files and other digital assets related to ALM items.

Users can attach source files and changelists to ALM items and perform actions on them, such as checking out files for editing, viewing file history, and checking in or submitting changes. Changes made in one application are also available in the other, making it easy to track historical information and trace the lifecycle of development artifacts.

One-way integration

Perforce ALM supports one-way integration with Git, GitHub, and other source control applications that are not officially supported for ALM. Users can attach source files to ALM items from source control applications only. Other source control actions are not available from ALM.

Integrating with these applications requires installing the ALM external source control provider CGI on the web server that hosts ALM and additional components on the source control server to send file information to ALM. Custom scripts, webhooks, or plug-ins used to send information from the source control application to the CGI must contain a unique provider key that ALM generates when you configure the integration.

Setting up integrations

Use the following information to learn more about how to integrate your source control application with ALM.

If a provider is not configured for the project, users can manually set up the integration to connect to Surround SCM, Perforce P4, and Subversion. See Configuring source control integration.
If you use: You can: To set up integration: More information
Surround SCM Attach source files and changelists to ALM items and perform actions on them. Administrator—Configure a provider for Surround SCM and set integration options. Adding Surround SCM source control providers

Setting source control integration options
User—Enable the integration. Configuring source control integration
Perforce P4 Attach source files and changelists to ALM items and perform actions on them. Administrator—Configure a provider for P4 and set integration options. Adding Perforce P4 source control providers

Setting source control integration options
User—Enable the integration. Configuring source control integration

Attach changelists to ALM items from P4 clients.

Administrator—Configure a provider for P4 and configure triggers. Configuring triggers to attach changelists from Perforce P4 clients to Perforce ALM items
Subversion Attach source files and changelists to ALM items and perform actions on them. Administrator—Configure a provider for Subversion and set integration options. Adding Subversion source control providers

Setting source control integration options
Git

Other source control applications not officially supported by ALM
Attach commits to ALM issues, requirements, and test cases Administrator—Configure a provider for Git or the application and create commit and post-receive scripts for the local and server repositories. Adding Git and other source control providers

Creating hook scripts for Git integration
GitHub Attach commits to ALM issues, requirements, and test cases. Administrator—Configure a provider for GitHub and add webhooks. Adding GitHub source control providers

Adding Perforce ALM webhooks to GitHub

Working with source files

After the integration is configured, you can attach source files to Perforce ALM items and work with them.

Surround SCM, P4, and Subversion

Attach files or changelists to ALM. You can then perform other actions on them. See Working with source files.

Git, GitHub, and other applications

To attach files to ALM items, enter item tags in commit messages or check in comments. See Attaching Git and GitHub files to items.