CodeCommitClient

CodeCommit

This is the CodeCommit API Reference. This reference provides descriptions of the operations and data types for CodeCommit API along with usage examples.

You can use the CodeCommit API to work with the following objects:

Repositories, by calling the following:

  • BatchGetRepositories, which returns information about one or more repositories associated with your Amazon Web Services account.

  • CreateRepository, which creates an CodeCommit repository.

  • DeleteRepository, which deletes an CodeCommit repository.

  • GetRepository, which returns information about a specified repository.

  • ListRepositories, which lists all CodeCommit repositories associated with your Amazon Web Services account.

  • UpdateRepositoryDescription, which sets or updates the description of the repository.

  • UpdateRepositoryEncryptionKey, which updates the Key Management Service encryption key used to encrypt and decrypt a repository.

  • UpdateRepositoryName, which changes the name of the repository. If you change the name of a repository, no other users of that repository can access it until you send them the new HTTPS or SSH URL to use.

Branches, by calling the following:

  • CreateBranch, which creates a branch in a specified repository.

  • DeleteBranch, which deletes the specified branch in a repository unless it is the default branch.

  • GetBranch, which returns information about a specified branch.

  • ListBranches, which lists all branches for a specified repository.

  • UpdateDefaultBranch, which changes the default branch for a repository.

Files, by calling the following:

  • DeleteFile, which deletes the content of a specified file from a specified branch.

  • GetBlob, which returns the base-64 encoded content of an individual Git blob object in a repository.

  • GetFile, which returns the base-64 encoded content of a specified file.

  • GetFolder, which returns the contents of a specified folder or directory.

  • ListFileCommitHistory, which retrieves a list of commits and changes to a specified file.

  • PutFile, which adds or modifies a single file in a specified repository and branch.

Commits, by calling the following:

  • BatchGetCommits, which returns information about one or more commits in a repository.

  • CreateCommit, which creates a commit for changes to a repository.

  • GetCommit, which returns information about a commit, including commit messages and author and committer information.

  • GetDifferences, which returns information about the differences in a valid commit specifier (such as a branch, tag, HEAD, commit ID, or other fully qualified reference).

Merges, by calling the following:

  • BatchDescribeMergeConflicts, which returns information about conflicts in a merge between commits in a repository.

  • CreateUnreferencedMergeCommit, which creates an unreferenced commit between two branches or commits for the purpose of comparing them and identifying any potential conflicts.

  • DescribeMergeConflicts, which returns information about merge conflicts between the base, source, and destination versions of a file in a potential merge.

  • GetMergeCommit, which returns information about the merge between a source and destination commit.

  • GetMergeConflicts, which returns information about merge conflicts between the source and destination branch in a pull request.

  • GetMergeOptions, which returns information about the available merge options between two branches or commit specifiers.

  • MergeBranchesByFastForward, which merges two branches using the fast-forward merge option.

  • MergeBranchesBySquash, which merges two branches using the squash merge option.

  • MergeBranchesByThreeWay, which merges two branches using the three-way merge option.

Pull requests, by calling the following:

  • CreatePullRequest, which creates a pull request in a specified repository.

  • CreatePullRequestApprovalRule, which creates an approval rule for a specified pull request.

  • DeletePullRequestApprovalRule, which deletes an approval rule for a specified pull request.

  • DescribePullRequestEvents, which returns information about one or more pull request events.

  • EvaluatePullRequestApprovalRules, which evaluates whether a pull request has met all the conditions specified in its associated approval rules.

  • GetCommentsForPullRequest, which returns information about comments on a specified pull request.

  • GetPullRequest, which returns information about a specified pull request.

  • GetPullRequestApprovalStates, which returns information about the approval states for a specified pull request.

  • GetPullRequestOverrideState, which returns information about whether approval rules have been set aside (overriden) for a pull request, and if so, the Amazon Resource Name (ARN) of the user or identity that overrode the rules and their requirements for the pull request.

  • ListPullRequests, which lists all pull requests for a repository.

  • MergePullRequestByFastForward, which merges the source destination branch of a pull request into the specified destination branch for that pull request using the fast-forward merge option.

  • MergePullRequestBySquash, which merges the source destination branch of a pull request into the specified destination branch for that pull request using the squash merge option.

  • MergePullRequestByThreeWay, which merges the source destination branch of a pull request into the specified destination branch for that pull request using the three-way merge option.

  • OverridePullRequestApprovalRules, which sets aside all approval rule requirements for a pull request.

  • PostCommentForPullRequest, which posts a comment to a pull request at the specified line, file, or request.

  • UpdatePullRequestApprovalRuleContent, which updates the structure of an approval rule for a pull request.

  • UpdatePullRequestApprovalState, which updates the state of an approval on a pull request.

  • UpdatePullRequestDescription, which updates the description of a pull request.

  • UpdatePullRequestStatus, which updates the status of a pull request.

  • UpdatePullRequestTitle, which updates the title of a pull request.

Approval rule templates, by calling the following:

  • AssociateApprovalRuleTemplateWithRepository, which associates a template with a specified repository. After the template is associated with a repository, CodeCommit creates approval rules that match the template conditions on every pull request created in the specified repository.

  • BatchAssociateApprovalRuleTemplateWithRepositories, which associates a template with one or more specified repositories. After the template is associated with a repository, CodeCommit creates approval rules that match the template conditions on every pull request created in the specified repositories.

  • BatchDisassociateApprovalRuleTemplateFromRepositories, which removes the association between a template and specified repositories so that approval rules based on the template are not automatically created when pull requests are created in those repositories.

  • CreateApprovalRuleTemplate, which creates a template for approval rules that can then be associated with one or more repositories in your Amazon Web Services account.

  • DeleteApprovalRuleTemplate, which deletes the specified template. It does not remove approval rules on pull requests already created with the template.

  • DisassociateApprovalRuleTemplateFromRepository, which removes the association between a template and a repository so that approval rules based on the template are not automatically created when pull requests are created in the specified repository.

  • GetApprovalRuleTemplate, which returns information about an approval rule template.

  • ListApprovalRuleTemplates, which lists all approval rule templates in the Amazon Web Services Region in your Amazon Web Services account.

  • ListAssociatedApprovalRuleTemplatesForRepository, which lists all approval rule templates that are associated with a specified repository.

  • ListRepositoriesForApprovalRuleTemplate, which lists all repositories associated with the specified approval rule template.

  • UpdateApprovalRuleTemplateDescription, which updates the description of an approval rule template.

  • UpdateApprovalRuleTemplateName, which updates the name of an approval rule template.

  • UpdateApprovalRuleTemplateContent, which updates the content of an approval rule template.

Comments in a repository, by calling the following:

  • DeleteCommentContent, which deletes the content of a comment on a commit in a repository.

  • GetComment, which returns information about a comment on a commit.

  • GetCommentReactions, which returns information about emoji reactions to comments.

  • GetCommentsForComparedCommit, which returns information about comments on the comparison between two commit specifiers in a repository.

  • PostCommentForComparedCommit, which creates a comment on the comparison between two commit specifiers in a repository.

  • PostCommentReply, which creates a reply to a comment.

  • PutCommentReaction, which creates or updates an emoji reaction to a comment.

  • UpdateComment, which updates the content of a comment on a commit in a repository.

Tags used to tag resources in CodeCommit (not Git tags), by calling the following:

  • ListTagsForResource, which gets information about Amazon Web Servicestags for a specified Amazon Resource Name (ARN) in CodeCommit.

  • TagResource, which adds or updates tags for a resource in CodeCommit.

  • UntagResource, which removes tags for a resource in CodeCommit.

Triggers, by calling the following:

  • GetRepositoryTriggers, which returns information about triggers configured for a repository.

  • PutRepositoryTriggers, which replaces all triggers for a repository and can be used to create or delete triggers.

  • TestRepositoryTriggers, which tests the functionality of a repository trigger by sending data to the trigger target.

For information about how to use CodeCommit, see the CodeCommit User Guide .

Installation

NPM
npm install @aws-sdk/client-codecommit
Yarn
yarn add @aws-sdk/client-codecommit
pnpm
pnpm add @aws-sdk/client-codecommit

CodeCommitClient Operations

Command
Summary
AssociateApprovalRuleTemplateWithRepositoryCommand

Creates an association between an approval rule template and a specified repository. Then, the next time a pull request is created in the repository where the destination reference (if specified) matches the destination reference (branch) for the pull request, an approval rule that matches the template conditions is automatically created for that pull request. If no destination references are specified in the template, an approval rule that matches the template contents is created for all pull requests in that repository.

BatchAssociateApprovalRuleTemplateWithRepositoriesCommand

Creates an association between an approval rule template and one or more specified repositories.

BatchDescribeMergeConflictsCommand

Returns information about one or more merge conflicts in the attempted merge of two commit specifiers using the squash or three-way merge strategy.

BatchDisassociateApprovalRuleTemplateFromRepositoriesCommand

Removes the association between an approval rule template and one or more specified repositories.

BatchGetCommitsCommand

Returns information about the contents of one or more commits in a repository.

BatchGetRepositoriesCommand

Returns information about one or more repositories.

The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a webpage can expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a webpage.

CreateApprovalRuleTemplateCommand

Creates a template for approval rules that can then be associated with one or more repositories in your Amazon Web Services account. When you associate a template with a repository, CodeCommit creates an approval rule that matches the conditions of the template for all pull requests that meet the conditions of the template. For more information, see AssociateApprovalRuleTemplateWithRepository.

CreateBranchCommand

Creates a branch in a repository and points the branch to a commit.

Calling the create branch operation does not set a repository's default branch. To do this, call the update default branch operation.

CreateCommitCommand

Creates a commit for a repository on the tip of a specified branch.

CreatePullRequestApprovalRuleCommand

Creates an approval rule for a pull request.

CreatePullRequestCommand

Creates a pull request in the specified repository.

CreateRepositoryCommand

Creates a new, empty repository.

CreateUnreferencedMergeCommitCommand

Creates an unreferenced commit that represents the result of merging two branches using a specified merge strategy. This can help you determine the outcome of a potential merge. This API cannot be used with the fast-forward merge strategy because that strategy does not create a merge commit.

This unreferenced merge commit can only be accessed using the GetCommit API or through git commands such as git fetch. To retrieve this commit, you must specify its commit ID or otherwise reference it.

DeleteApprovalRuleTemplateCommand

Deletes a specified approval rule template. Deleting a template does not remove approval rules on pull requests already created with the template.

DeleteBranchCommand

Deletes a branch from a repository, unless that branch is the default branch for the repository.

DeleteCommentContentCommand

Deletes the content of a comment made on a change, file, or commit in a repository.

DeleteFileCommand

Deletes a specified file from a specified branch. A commit is created on the branch that contains the revision. The file still exists in the commits earlier to the commit that contains the deletion.

DeletePullRequestApprovalRuleCommand

Deletes an approval rule from a specified pull request. Approval rules can be deleted from a pull request only if the pull request is open, and if the approval rule was created specifically for a pull request and not generated from an approval rule template associated with the repository where the pull request was created. You cannot delete an approval rule from a merged or closed pull request.

DeleteRepositoryCommand

Deletes a repository. If a specified repository was already deleted, a null repository ID is returned.

Deleting a repository also deletes all associated objects and metadata. After a repository is deleted, all future push calls to the deleted repository fail.

DescribeMergeConflictsCommand

Returns information about one or more merge conflicts in the attempted merge of two commit specifiers using the squash or three-way merge strategy. If the merge option for the attempted merge is specified as FAST_FORWARD_MERGE, an exception is thrown.

DescribePullRequestEventsCommand

Returns information about one or more pull request events.

DisassociateApprovalRuleTemplateFromRepositoryCommand

Removes the association between a template and a repository so that approval rules based on the template are not automatically created when pull requests are created in the specified repository. This does not delete any approval rules previously created for pull requests through the template association.

EvaluatePullRequestApprovalRulesCommand

Evaluates whether a pull request has met all the conditions specified in its associated approval rules.

GetApprovalRuleTemplateCommand

Returns information about a specified approval rule template.

GetBlobCommand

Returns the base-64 encoded content of an individual blob in a repository.

GetBranchCommand

Returns information about a repository branch, including its name and the last commit ID.

GetCommentCommand

Returns the content of a comment made on a change, file, or commit in a repository.

Reaction counts might include numbers from user identities who were deleted after the reaction was made. For a count of reactions from active identities, use GetCommentReactions.

GetCommentReactionsCommand

Returns information about reactions to a specified comment ID. Reactions from users who have been deleted will not be included in the count.

GetCommentsForComparedCommitCommand

Returns information about comments made on the comparison between two commits.

Reaction counts might include numbers from user identities who were deleted after the reaction was made. For a count of reactions from active identities, use GetCommentReactions.

GetCommentsForPullRequestCommand

Returns comments made on a pull request.

Reaction counts might include numbers from user identities who were deleted after the reaction was made. For a count of reactions from active identities, use GetCommentReactions.

GetCommitCommand

Returns information about a commit, including commit message and committer information.

GetDifferencesCommand

Returns information about the differences in a valid commit specifier (such as a branch, tag, HEAD, commit ID, or other fully qualified reference). Results can be limited to a specified path.

GetFileCommand

Returns the base-64 encoded contents of a specified file and its metadata.

GetFolderCommand

Returns the contents of a specified folder in a repository.

GetMergeCommitCommand

Returns information about a specified merge commit.

GetMergeConflictsCommand

Returns information about merge conflicts between the before and after commit IDs for a pull request in a repository.

GetMergeOptionsCommand

Returns information about the merge options available for merging two specified branches. For details about why a merge option is not available, use GetMergeConflicts or DescribeMergeConflicts.

GetPullRequestApprovalStatesCommand

Gets information about the approval states for a specified pull request. Approval states only apply to pull requests that have one or more approval rules applied to them.

GetPullRequestCommand

Gets information about a pull request in a specified repository.

GetPullRequestOverrideStateCommand

Returns information about whether approval rules have been set aside (overridden) for a pull request, and if so, the Amazon Resource Name (ARN) of the user or identity that overrode the rules and their requirements for the pull request.

GetRepositoryCommand

Returns information about a repository.

The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a webpage can expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a webpage.

GetRepositoryTriggersCommand

Gets information about triggers configured for a repository.

ListApprovalRuleTemplatesCommand

Lists all approval rule templates in the specified Amazon Web Services Region in your Amazon Web Services account. If an Amazon Web Services Region is not specified, the Amazon Web Services Region where you are signed in is used.

ListAssociatedApprovalRuleTemplatesForRepositoryCommand

Lists all approval rule templates that are associated with a specified repository.

ListBranchesCommand

Gets information about one or more branches in a repository.

ListFileCommitHistoryCommand

Retrieves a list of commits and changes to a specified file.

ListPullRequestsCommand

Returns a list of pull requests for a specified repository. The return list can be refined by pull request status or pull request author ARN.

ListRepositoriesCommand

Gets information about one or more repositories.

ListRepositoriesForApprovalRuleTemplateCommand

Lists all repositories associated with the specified approval rule template.

ListTagsForResourceCommand

Gets information about Amazon Web Servicestags for a specified Amazon Resource Name (ARN) in CodeCommit. For a list of valid resources in CodeCommit, see CodeCommit Resources and Operations  in the CodeCommit User Guide.

MergeBranchesByFastForwardCommand

Merges two branches using the fast-forward merge strategy.

MergeBranchesBySquashCommand

Merges two branches using the squash merge strategy.

MergeBranchesByThreeWayCommand

Merges two specified branches using the three-way merge strategy.

MergePullRequestByFastForwardCommand

Attempts to merge the source commit of a pull request into the specified destination branch for that pull request at the specified commit using the fast-forward merge strategy. If the merge is successful, it closes the pull request.

MergePullRequestBySquashCommand

Attempts to merge the source commit of a pull request into the specified destination branch for that pull request at the specified commit using the squash merge strategy. If the merge is successful, it closes the pull request.

MergePullRequestByThreeWayCommand

Attempts to merge the source commit of a pull request into the specified destination branch for that pull request at the specified commit using the three-way merge strategy. If the merge is successful, it closes the pull request.

OverridePullRequestApprovalRulesCommand

Sets aside (overrides) all approval rule requirements for a specified pull request.

PostCommentForComparedCommitCommand

Posts a comment on the comparison between two commits.

PostCommentForPullRequestCommand

Posts a comment on a pull request.

PostCommentReplyCommand

Posts a comment in reply to an existing comment on a comparison between commits or a pull request.

PutCommentReactionCommand

Adds or updates a reaction to a specified comment for the user whose identity is used to make the request. You can only add or update a reaction for yourself. You cannot add, modify, or delete a reaction for another user.

PutFileCommand

Adds or updates a file in a branch in an CodeCommit repository, and generates a commit for the addition in the specified branch.

PutRepositoryTriggersCommand

Replaces all triggers for a repository. Used to create or delete triggers.

TagResourceCommand

Adds or updates tags for a resource in CodeCommit. For a list of valid resources in CodeCommit, see CodeCommit Resources and Operations  in the CodeCommit User Guide.

TestRepositoryTriggersCommand

Tests the functionality of repository triggers by sending information to the trigger target. If real data is available in the repository, the test sends data from the last commit. If no data is available, sample data is generated.

UntagResourceCommand

Removes tags for a resource in CodeCommit. For a list of valid resources in CodeCommit, see CodeCommit Resources and Operations  in the CodeCommit User Guide.

UpdateApprovalRuleTemplateContentCommand

Updates the content of an approval rule template. You can change the number of required approvals, the membership of the approval rule, and whether an approval pool is defined.

UpdateApprovalRuleTemplateDescriptionCommand

Updates the description for a specified approval rule template.

UpdateApprovalRuleTemplateNameCommand

Updates the name of a specified approval rule template.

UpdateCommentCommand

Replaces the contents of a comment.

UpdateDefaultBranchCommand

Sets or changes the default branch name for the specified repository.

If you use this operation to change the default branch name to the current default branch name, a success message is returned even though the default branch did not change.

UpdatePullRequestApprovalRuleContentCommand

Updates the structure of an approval rule created specifically for a pull request. For example, you can change the number of required approvers and the approval pool for approvers.

UpdatePullRequestApprovalStateCommand

Updates the state of a user's approval on a pull request. The user is derived from the signed-in account when the request is made.

UpdatePullRequestDescriptionCommand

Replaces the contents of the description of a pull request.

UpdatePullRequestStatusCommand

Updates the status of a pull request.

UpdatePullRequestTitleCommand

Replaces the title of a pull request.

UpdateRepositoryDescriptionCommand

Sets or changes the comment or description for a repository.

The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a webpage can expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a webpage.

UpdateRepositoryEncryptionKeyCommand

Updates the Key Management Service encryption key used to encrypt and decrypt a CodeCommit repository.

UpdateRepositoryNameCommand

Renames a repository. The repository name must be unique across the calling Amazon Web Services account. Repository names are limited to 100 alphanumeric, dash, and underscore characters, and cannot include certain characters. The suffix .git is prohibited. For more information about the limits on repository names, see Quotas  in the CodeCommit User Guide.

CodeCommitClient Configuration

Parameter
Type
Description
defaultsMode
Optional
DefaultsMode | Provider<DefaultsMode>
The @smithy/smithy-client#DefaultsMode that will be used to determine how certain default configuration options are resolved in the SDK.
disableHostPrefix
Optional
boolean
Disable dynamically changing the endpoint of the client based on the hostPrefix trait of an operation.
extensions
Optional
RuntimeExtension[]
Optional extensions
logger
Optional
Logger
Optional logger for logging debug/info/warn/error.
maxAttempts
Optional
number | Provider<number>
Value for how many times a request will be made at most in case of retry.
profile
Optional
string
Setting a client profile is similar to setting a value for the AWS_PROFILE environment variable. Setting a profile on a client in code only affects the single client instance, unlike AWS_PROFILE.When set, and only for environments where an AWS configuration file exists, fields configurable by this file will be retrieved from the specified profile within that file. Conflicting code configuration and environment variables will still have higher priority.For client credential resolution that involves checking the AWS configuration file, the client's profile (this value) will be used unless a different profile is set in the credential provider options.
region
Optional
string | Provider<string>
The AWS region to which this client will send requests
requestHandler
Optional
__HttpHandlerUserInput
The HTTP handler to use or its constructor options. Fetch in browser and Https in Nodejs.
retryMode
Optional
string | Provider<string>
Specifies which retry algorithm to use.
useDualstackEndpoint
Optional
boolean | Provider<boolean>
Enables IPv6/IPv4 dualstack endpoint.
useFipsEndpoint
Optional
boolean | Provider<boolean>
Enables FIPS compatible endpoints.
Additional config fields are described in the full configuration type: CodeCommitClientConfig