Connections
Connections are used to configure Release to integrate with third-party applications. Connections are integration credentials that store authentication information required for Release plugins to securely communicate with third-party applications.
A connection typically contains user credentials or authentication tokens needed to access external systems. Depending on the target integration, Release supports various authentication protocols:
- Username and password authentication
- OAuth and OpenID Connect (OIDC)
- API keys and tokens
- Certificate-based authentication
- SSH keys
For example, when connecting to a Jenkins server, you might use username/password credentials, while connecting to cloud services often requires OAuth or API tokens. These credentials are securely stored and managed within Release, allowing plugins to authenticate and interact with external systems without exposing sensitive information to end users.
Global and Folder-level Connections
You can create connections both at the global and folder levels.
While global connections, as the name implies, are available to all folders, templates, triggers, and releases globally, folder-level connections are specific to the folder and its child folders, if any are available.
Here's an illustration on how global and folder-level connections are inherited by templates, for example.
(Global, root folder)
├──> Connection Global
├──> Template Global (inherits Global connection only)
│
├──> [Folder A]
│ ├──> Connection A
│ ├──> Template A (inherits Global connection + Connection A)
│ │
│ ├──> [Folder A1]
│ │ ├──> Connection A1
│ │ ├──> Template A1 (inherits Global connection + Connection A + Connection A1)
│
├──> [Folder B]
├──> Connection B
├──> Template B (inherits Global connection + Connection B)
The following table summarizes which connections are available in the templates for each folder:
Template | Inherited Connections |
---|---|
Template Global | Global connection |
Template A | Global connection, Connection A |
Template A1 | Global connection, Connection A, Connection A1 |
Template B | Global connection, Connection B |
Let's break down how connection inheritance works in this structure:
- Template Global is at the root level and therefore inherits only the global connection
- Template A, located in Folder A, inherits both the global connection and Connection A defined in that folder
- Template A1 is in Folder A1 (a subfolder of Folder A) and inherits the global connection, Connection A from its parent folder, and its own Connection A1
- Template B in Folder B inherits the global connection along with Connection B defined in that folder
Connections are also used in triggers and follow the same inheritance pattern as in templates and releases.
For example, a Git: Poll trigger initiates a new release when it detects a new commit in a Git repository, requiring a Git: Repository connection. Similarly, other trigger types may need specific connections, such as Jira, Nexus, or HTTP endpoint configurations, depending on their requirements.
Each trigger can access connections based on the same inheritance rules - global connections plus any folder-level connections defined in its folder hierarchy.
For example, if you create a Git: Poll trigger in Folder A1 from our previous example, it would have access to:
- Any global Git connections
- Git connections defined in Folder A
- Git connections defined in Folder A1
Permissions Needed to Set up Connections
Administrator users can set up and edit connections at both the global and folder levels.
Other team users can be granted permission to set up and edit connections at the folder level by assigning them the Edit Connections permission on the Teams and Permissions page for the folder.
Create Global Connections
- Log in to Release
- Select Connections from the sidebar
- Set up one or more connections for the integrations you need
These global connections are available to all folders, templates, and releases globally.
Create Folder-level Connections
See Configure Release Teams and Permissions to learn more about how folder, template, or release-level permissions can be assigned to one or more teams.
- Log in to Release
- Select Folders from the sidebar
- Select the folder you want to set up connections for
- Select Connections from the sidebar
- Set up one or more connections for the integrations you need
Now, these connections created in a specific folder are available to that specific folder (and sub-folders, if any exist) only. That is, these folder-level connections are available to the templates and releases in that folder and also to the templates and releases in any new sub-folder that you may create.
Test Connection
Test your connection with the third-party application before saving to ensure it works properly.
Example
Here is an example to illustrate the connections available to a Jenkins build task in Template A1
that is in Folder A1
.
Connections Available to Template A1 in Folder A1
Template A1 inherits Global + Folder A + Folder A1 connections.