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 "master" branch of the repo repo.onCommit("CommitToMaster", OnCommitOptions.builder() .target(new CodeBuildProject(project)) .branches(List.of("master")) .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);