

# General integrations with CodePipeline
<a name="integrations-general"></a>

The following AWS service integrations are not based on CodePipeline action types.


|  |  | 
| --- |--- |
| Amazon CloudWatch | [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/) monitors your AWS resources.<br />Learn more:+  [What Is Amazon CloudWatch?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/)  | 
| Amazon EventBridge | [Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/) is a web service that detects changes in your AWS services based on rules that you define and invokes an action in one or more specified AWS services when a change occurs.+  **Start a pipeline execution automatically when something changes ** — You can configure CodePipeline as a target in rules set up in Amazon EventBridge. This sets up pipelines to start automatically when another service changes. <br />Learn more:   [What Is Amazon EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/)   [Start a pipeline in CodePipeline](pipelines-about-starting.md).   [CodeCommit source actions and EventBridge](triggering.md)   <br />+  **Receive notifications when a pipeline state changes ** — You can set up EventBridge rules to detect and react to changes in execution state for a pipeline, stage, or action. <br />Learn more:    [Monitoring CodePipeline events](detect-state-changes-cloudwatch-events.md)   [Tutorial: Set up a CloudWatch Events rule to receive email notifications for pipeline state changes](tutorials-cloudwatch-sns-notifications.md)    | 
| AWS Cloud9 | AWS Cloud9 is an online IDE, which you access through your web browser. The IDE offers a rich code editing experience with support for several programming languages and runtime debuggers, as well as a built-in terminal. In the background, an Amazon EC2 instance hosts an AWS Cloud9 development environment. For more information, see the *[AWS Cloud9 User Guide](https://docs.aws.amazon.com/cloud9/latest/user-guide/)*. <br />Learn more:+  [Setting up AWS Cloud9](https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-ide-c9.html)  | 
| AWS CloudTrail | [CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/) captures AWS API calls and related events made by or on behalf of an AWS account and delivers log files to an Amazon S3 bucket that you specify. You can configure CloudTrail to capture API calls from the CodePipeline console, CodePipeline commands from the AWS CLI, and from the CodePipeline API.<br />Learn more:+  [Logging CodePipeline API calls with AWS CloudTrail](monitoring-cloudtrail-logs.md)  | 
| AWS CodeStar Notifications | You can set up notifications to make users aware of important changes, such as when a pipeline starts execution. For more information, see [Create a notification rule](notification-rule-create.md). | 
| AWS Key Management Service | [AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/) is a managed service that makes it easy for you to create and control the encryption keys used to encrypt your data. By default, CodePipeline uses AWS KMS to encrypt artifacts for pipelines stored in Amazon S3 buckets.<br />Learn more:+  To create a pipeline that uses a source bucket, artifact bucket, and service role from one AWS account and CodeDeploy resources from a different AWS account, you must create a customer-managed KMS key, add the key to the pipeline, and set up account policies and roles to enable cross-account access. For more information, see [Create a pipeline in CodePipeline that uses resources from another AWS account](pipelines-create-cross-account.md). <br />+  To create a pipeline from one AWS account that deploys an CloudFormation stack to another AWS account, you must create a customer-managed KMS key, add the key to the pipeline, and set up account policies and roles to deploy the stack to another AWS account. For more information, see [How do I use CodePipeline to deploy an AWS CloudFormation stack in a different account?](https://aws.amazon.com/premiumsupport/knowledge-center/codepipeline-deploy-cloudformation/) <br />+  To configure server-side encryption for your pipeline’s S3 artifact bucket, you can use the default AWS managed KMS key or create a customer-managed KMS key and set up the bucket policy to use the encryption key. For more information, see [Configure server-side encryption for artifacts stored in Amazon S3 for CodePipeline](S3-artifact-encryption.md). <br />For an AWS KMS key, you can use the key ID, the key ARN, or the alias ARN.  Aliases are recognized only in the account that created the KMS key. For cross-account actions, you can only use the key ID or key ARN to identify the key. Cross-account actions involve using the role from the other account (AccountB), so specifying the key ID will use the key from the other account (AccountB).  | 