See: Description
| Interface | Description |
|---|---|
| CfnRepository.CodeProperty |
Information about code to be committed.
|
| CfnRepository.RepositoryTriggerProperty |
Information about a trigger for a repository.
|
| CfnRepository.S3Property |
Information about the Amazon S3 bucket that contains the code that will be committed to the new repository.
|
| CfnRepositoryProps |
Properties for defining a `CfnRepository`.
|
| CodeConfig |
Represents the structure to pass into the underlying CfnRepository class.
|
| IRepository | |
| IRepository.Jsii$Default |
Internal default implementation for
IRepository. |
| OnCommitOptions |
Options for the onCommit() method.
|
| RepositoryNotifyOnOptions |
Additional options to pass to the notification rule.
|
| RepositoryProps |
Example:
|
| RepositoryTriggerOptions |
Creates for a repository trigger to an SNS topic or Lambda function.
|
| Enum | Description |
|---|---|
| RepositoryEventTrigger |
Repository events that will cause the trigger to run actions in another service.
|
| RepositoryNotificationEvents |
List of event types for AWS CodeCommit.
|
AWS CodeCommit is a version control service that enables you to privately store and manage Git repositories in the AWS cloud.
For further information on CodeCommit, see the AWS CodeCommit documentation.
To add a CodeCommit Repository to your stack:
Repository repo = Repository.Builder.create(this, "Repository")
.repositoryName("MyRepositoryName")
.description("Some description.")
.build();
Use the repositoryCloneUrlHttp, repositoryCloneUrlSsh or repositoryCloneUrlGrc
property to clone your repository.
To add an Amazon SNS trigger to your repository:
Repository repo;
// trigger is established for all repository actions on all branches by default.
repo.notify("arn:aws:sns:*:123456789012:my_topic");
It is possible to initialize the Repository via the Code class.
It provides methods for loading code from a directory, .zip file and from a pre-created CDK Asset.
Example:
Repository repo = Repository.Builder.create(this, "Repository")
.repositoryName("MyRepositoryName")
.code(Code.fromDirectory(join(__dirname, "directory/"), "develop"))
.build();
CodeCommit repositories emit Amazon CloudWatch events for certain activities.
Use the repo.onXxx methods to define rules that trigger on these events
and invoke targets as a result:
import software.amazon.awscdk.services.sns.*;
import software.amazon.awscdk.services.events.targets.*;
Repository repo;
PipelineProject project;
Topic myTopic;
// starts a CodeBuild project when a commit is pushed to the "main" branch of the repo
repo.onCommit("CommitToMain", OnCommitOptions.builder()
.target(new CodeBuildProject(project))
.branches(List.of("main"))
.build());
// publishes a message to an Amazon SNS topic when a comment is made on a pull request
Rule rule = repo.onCommentOnPullRequest("CommentOnPullRequest", OnEventOptions.builder()
.target(new SnsTopic(myTopic))
.build());
To define CodeStar Notification rules for Repositories, use one of the notifyOnXxx() methods.
They are very similar to onXxx() methods for CloudWatch events:
import software.amazon.awscdk.services.chatbot.*;
Repository repository;
SlackChannelConfiguration target = SlackChannelConfiguration.Builder.create(this, "MySlackChannel")
.slackChannelConfigurationName("YOUR_CHANNEL_NAME")
.slackWorkspaceId("YOUR_SLACK_WORKSPACE_ID")
.slackChannelId("YOUR_SLACK_CHANNEL_ID")
.build();
INotificationRule rule = repository.notifyOnPullRequestCreated("NotifyOnPullRequestCreated", target);
Copyright © 2022. All rights reserved.