AWS CodeCommit
API Reference (API Version 2015-04-13)

PostCommentForPullRequest

Posts a comment on a pull request.

Request Syntax

{ "afterCommitId": "string", "beforeCommitId": "string", "clientRequestToken": "string", "content": "string", "location": { "filePath": "string", "filePosition": number, "relativeFileVersion": "string" }, "pullRequestId": "string", "repositoryName": "string" }

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

The request accepts the following data in JSON format.

afterCommitId

The full commit ID of the commit in the source branch that is the current tip of the branch for the pull request when you post the comment.

Type: String

Required: Yes

beforeCommitId

The full commit ID of the commit in the destination branch that was the tip of the branch at the time the pull request was created.

Type: String

Required: Yes

clientRequestToken

A unique, client-generated idempotency token that when provided in a request, ensures the request cannot be repeated with a changed parameter. If a request is received with the same parameters and a token is included, the request will return information about the initial request that used that token.

Type: String

Required: No

content

The content of your comment on the change.

Type: String

Required: Yes

location

The location of the change where you want to post your comment. If no location is provided, the comment will be posted as a general comment on the pull request difference between the before commit ID and the after commit ID.

Type: Location object

Required: No

pullRequestId

The system-generated ID of the pull request. To get this ID, use ListPullRequests.

Type: String

Required: Yes

repositoryName

The name of the repository where you want to post a comment on a pull request.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 100.

Pattern: [\w\.-]+

Required: Yes

Response Syntax

{ "afterBlobId": "string", "afterCommitId": "string", "beforeBlobId": "string", "beforeCommitId": "string", "comment": { "authorArn": "string", "clientRequestToken": "string", "commentId": "string", "content": "string", "creationDate": number, "deleted": boolean, "inReplyTo": "string", "lastModifiedDate": number }, "location": { "filePath": "string", "filePosition": number, "relativeFileVersion": "string" }, "pullRequestId": "string", "repositoryName": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

afterBlobId

In the directionality of the pull request, the blob ID of the 'after' blob.

Type: String

afterCommitId

The full commit ID of the commit in the destination branch where the pull request will be merged.

Type: String

beforeBlobId

In the directionality of the pull request, the blob ID of the 'before' blob.

Type: String

beforeCommitId

The full commit ID of the commit in the source branch used to create the pull request, or in the case of an updated pull request, the full commit ID of the commit used to update the pull request.

Type: String

comment

The content of the comment you posted.

Type: Comment object

location

The location of the change where you posted your comment.

Type: Location object

pullRequestId

The system-generated ID of the pull request.

Type: String

repositoryName

The name of the repository where you posted a comment on a pull request.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 100.

Pattern: [\w\.-]+

Errors

For information about the errors that are common to all actions, see Common Errors.

BeforeCommitIdAndAfterCommitIdAreSameException

The before commit ID and the after commit ID are the same, which is not valid. The before commit ID and the after commit ID must be different commit IDs.

HTTP Status Code: 400

ClientRequestTokenRequiredException

A client request token is required. A client request token is an unique, client-generated idempotency token that when provided in a request, ensures the request cannot be repeated with a changed parameter. If a request is received with the same parameters and a token is included, the request will return information about the initial request that used that token.

HTTP Status Code: 400

CommentContentRequiredException

The comment is empty. You must provide some content for a comment. The content cannot be null.

HTTP Status Code: 400

CommentContentSizeLimitExceededException

The comment is too large. Comments are limited to 1,000 characters.

HTTP Status Code: 400

CommitDoesNotExistException

The specified commit does not exist or no commit was specified, and the specified repository has no default branch.

HTTP Status Code: 400

CommitIdRequiredException

A commit ID was not specified.

HTTP Status Code: 400

EncryptionIntegrityChecksFailedException

An encryption integrity check failed.

HTTP Status Code: 500

EncryptionKeyAccessDeniedException

An encryption key could not be accessed.

HTTP Status Code: 400

EncryptionKeyDisabledException

The encryption key is disabled.

HTTP Status Code: 400

EncryptionKeyNotFoundException

No encryption key was found.

HTTP Status Code: 400

EncryptionKeyUnavailableException

The encryption key is not available.

HTTP Status Code: 400

IdempotencyParameterMismatchException

The client request token is not valid. Either the token is not in a valid format, or the token has been used in a previous request and cannot be re-used.

HTTP Status Code: 400

InvalidClientRequestTokenException

The client request token is not valid.

HTTP Status Code: 400

InvalidCommitIdException

The specified commit ID is not valid.

HTTP Status Code: 400

InvalidFileLocationException

The location of the file is not valid. Make sure that you include the extension of the file as well as the file name.

HTTP Status Code: 400

InvalidFilePositionException

The position is not valid. Make sure that the line number exists in the version of the file you want to comment on.

HTTP Status Code: 400

InvalidPathException

The specified path is not valid.

HTTP Status Code: 400

InvalidPullRequestIdException

The pull request ID is not valid. Make sure that you have provided the full ID and that the pull request is in the specified repository, and then try again.

HTTP Status Code: 400

InvalidRelativeFileVersionEnumException

Either the enum is not in a valid format, or the specified file version enum is not valid in respect to the current file version.

HTTP Status Code: 400

InvalidRepositoryNameException

At least one specified repository name is not valid.

Note

This exception only occurs when a specified repository name is not valid. Other exceptions occur when a required repository parameter is missing, or when a specified repository does not exist.

HTTP Status Code: 400

PathDoesNotExistException

The specified path does not exist.

HTTP Status Code: 400

PathRequiredException

The folderPath for a location cannot be null.

HTTP Status Code: 400

PathRequiredException

The folderPath for a location cannot be null.

HTTP Status Code: 400

PullRequestDoesNotExistException

The pull request ID could not be found. Make sure that you have specified the correct repository name and pull request ID, and then try again.

HTTP Status Code: 400

PullRequestIdRequiredException

A pull request ID is required, but none was provided.

HTTP Status Code: 400

RepositoryDoesNotExistException

The specified repository does not exist.

HTTP Status Code: 400

RepositoryNameRequiredException

A repository name is required but was not specified.

HTTP Status Code: 400

RepositoryNotAssociatedWithPullRequestException

The repository does not contain any pull requests with that pull request ID. Use GetPullRequest to verify the correct repository name for the pull request ID.

HTTP Status Code: 400

Example

Sample Request

>POST / HTTP/1.1 Host: codecommit.us-east-1.amazonaws.com Accept-Encoding: identity Content-Length: 350 X-Amz-Target: CodeCommit_20150413.PostCommentForPullRequest X-Amz-Date: 20171025T132023Z User-Agent: aws-cli/1.11.187 Python/2.7.9 Windows/8 Content-Type: application/x-amz-json-1.1 Authorization: AWS4-HMAC-SHA256 Credential=AKIAI44QH8DHBEXAMPLE/20171025/us-east-1/codecommit/aws4_request, SignedHeaders=content-type;host;user-agent;x-amz-date;x-amz-target, Signature=8d9b5998EXAMPLE { "afterCommitId": "5d036259EXAMPLE", "beforeCommitId": "317f8570EXAMPLE", "clientRequestToken": "123Example", "content": "These don't appear to be used anywhere. Can we remove them?", "location": { "filePath": "ahs_count.py", "filePosition": 367, "relativeFileVersion": "AFTER" }, "pullRequestId": 47, "repositoryName": "MyDemoRepo" }

Sample Response

HTTP/1.1 200 OK x-amzn-RequestId: 0728aaa8-EXAMPLE Content-Type: application/x-amz-json-1.1 Content-Length: 847 Date: Wed, 25 Oct 2017 20:20:13 GMT { "afterBlobId": "1f330709EXAMPLE", "afterCommitId": "5d036259EXAMPLE", "beforeBlobId": "80906a4cEXAMPLE", "beforeCommitId": "317f8570EXAMPLE", "comment": { "authorArn": "arn:aws:iam::111111111111:user/Saanvi_Sarkar", "clientRequestToken": "", "commentId": "abcd1234EXAMPLEb5678efgh", "content": "These don't appear to be used anywhere. Can we remove them?", "creationDate": 1508369622.123, "deleted": false, "lastModifiedDate": 1508369622.123 } "location": { "filePath": "ahs_count.py", "filePosition": 367, "relativeFileVersion": "AFTER" }, "repositoryName": "MyDemoRepo", "pullRequestId": "47" }

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: