Managing integrations

Integrations let you define and re-apply access data to third-party services in Buddy's pipelines. For example, adding an AWS integration will allow you to upload assets to S3 buckets, deploy Elastic Beanstalk apps, invalidate CloudFront cache, or run commands in the AWS CLI.

Whenever you add an action that requires connecting to a third-party service, Buddy will ask you to create an integration. Depending on the type of the integration, you may need to fill a form with the access data (e.g. access and secret keys), or authenticate Buddy in the external service with OAuth (e.g. when connecting to GitHub).

Adding integrations

There are two ways to add integrations:

  1. By clicking the New integration button on the Integrations page:

Image loading...Adding new integration from Integrations tab

  1. From the integration selection dropdown in an action using the integration:

Image loading...Adding new integration from action

Defining integrations

Whenever you add an action that requires connecting to a third-party service, Buddy will ask you to create an integration. Depending on the type of the integration, you may need to fill a form with the access data (e.g. access and secret keys), or authenticate Buddy in the external service with OAuth (e.g. when connecting to GitHub).

Image loading...Adding AWS integration

Multiple integrations for one service

You can have multiple integrations of one type in your workspace. For example, you can use several AWS integrations and deploy to different accounts within the same project. There are two ways to add extra integrations.

  1. From the account selection dropdown of the action using the integration:

Image loading...Adding a new integration from an action

  1. By clicking the +Add a new integration button in the Integrations tab.

Image loading...Adding a new integration from the Integrations tab

Managing integrations

All integrations can be managed in the Integrations tab on the left sidebar (https://app.buddy.works/$DOMAIN/workspace/integrations). There you can add and remove integrations and edit their details: name, access data, and scope.

Image loading...Integration management screen

Warning
You can remove an integration at any time. However, IT IS NOT possible to remove an integration used by an action in the pipeline. If you try to delete such integration, you will be notified where exactly it is used. Once you remove the action or assign it to a different integration, you will be able to safely delete the parent integration.

Integrations in YAML

If you manage your pipelines with YAML, make sure to provide the ID of the integration to the actions that are using it. Here's an example:

yaml
- action: "Upload files to AWS S3" type: "AMAZON_S3" input_type: "BUILD_ARTIFACTS" bucket_name: "buddy-tests-files" acl: "PRIVATE" integration_hash: "5e391f5aae784b7208de0d0a"
Tip
A good idea is to first define all pipelines in the UI and then export them to YAML, or use the YAML helper to generate configuration code for individual actions.

ID hash

You can find the ID on the integration's tile in the Integrations tab:

Image loading...ID hash of an AWS integration

Last modified on Oct 15, 2024