@aws-cdk/aws-codecommit
    TypeScript icon, indicating that this package has built-in type declarations

    1.161.0 • Public • Published

    AWS CodeCommit Construct Library


    cfn-resources: Stable

    cdk-constructs: Stable


    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:

    const repo = new codecommit.Repository(this, 'Repository', {
      repositoryName: 'MyRepositoryName',
      description: 'Some description.', // optional property
    });

    Use the repositoryCloneUrlHttp, repositoryCloneUrlSsh or repositoryCloneUrlGrc property to clone your repository.

    To add an Amazon SNS trigger to your repository:

    declare const repo: codecommit.Repository;
    
    // trigger is established for all repository actions on all branches by default.
    repo.notify('arn:aws:sns:*:123456789012:my_topic');

    Add initial commit

    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:

    const repo = new codecommit.Repository(this, 'Repository', {
      repositoryName: 'MyRepositoryName',
      code: codecommit.Code.fromDirectory(path.join(__dirname, 'directory/'), 'develop'), // optional property, branch parameter can be omitted
    });

    Events

    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 * as sns from '@aws-cdk/aws-sns';
    import * as targets from '@aws-cdk/aws-events-targets';
    
    declare const repo: codecommit.Repository;
    declare const project: codebuild.PipelineProject;
    declare const myTopic: sns.Topic;
    
    // starts a CodeBuild project when a commit is pushed to the "master" branch of the repo
    repo.onCommit('CommitToMaster', {
      target: new targets.CodeBuildProject(project),
      branches: ['master'],
    });
    
    // publishes a message to an Amazon SNS topic when a comment is made on a pull request
    const rule = repo.onCommentOnPullRequest('CommentOnPullRequest', {
      target: new targets.SnsTopic(myTopic),
    });

    CodeStar Notifications

    To define CodeStar Notification rules for Repositories, use one of the notifyOnXxx() methods. They are very similar to onXxx() methods for CloudWatch events:

    import * as chatbot from '@aws-cdk/aws-chatbot';
    
    declare const repository: codecommit.Repository;
    const target = new chatbot.SlackChannelConfiguration(this, 'MySlackChannel', {
      slackChannelConfigurationName: 'YOUR_CHANNEL_NAME',
      slackWorkspaceId: 'YOUR_SLACK_WORKSPACE_ID',
      slackChannelId: 'YOUR_SLACK_CHANNEL_ID',
    });
    const rule = repository.notifyOnPullRequestCreated('NotifyOnPullRequestCreated', target);

    Install

    npm i @aws-cdk/aws-codecommit

    DownloadsWeekly Downloads

    312,592

    Version

    1.161.0

    License

    Apache-2.0

    Unpacked Size

    426 kB

    Total Files

    19

    Last publish

    Collaborators

    • eladb
    • romainmuller
    • amzn-oss
    • rix0rrr
    • aws-cdk-team