MergePullRequestByThreeWay Classic ASP Example
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
' This example requires the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
set rest = Server.CreateObject("Chilkat_9_5_0.Rest")
set authAws = Server.CreateObject("Chilkat_9_5_0.AuthAws")
authAws.AccessKey = "AWS_ACCESS_KEY"
authAws.SecretKey = "AWS_SECRET_KEY"
' Don't forget to change the region to your particular region. (Also make the same change in the call to Connect below.)
authAws.Region = "us-west-2"
authAws.ServiceName = "codecommit"
' SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
success = rest.SetAuthAws(authAws)
' URL: https://codecommit.us-west-2.amazonaws.com/
' Use the same region as specified above.
success = rest.Connect("codecommit.us-west-2.amazonaws.com",443,1,1)
If (success <> 1) Then
Response.Write "<pre>" & Server.HTMLEncode( "ConnectFailReason: " & rest.ConnectFailReason) & "</pre>"
Response.Write "<pre>" & Server.HTMLEncode( rest.LastErrorText) & "</pre>"
Response.End
End If
' The following code creates the JSON request body.
' The JSON created by this code is shown below.
' Use this online tool to generate code from sample JSON:
' Generate Code to Create JSON
set json = Server.CreateObject("Chilkat_9_5_0.JsonObject")
success = json.UpdateString("authorName","string")
success = json.UpdateString("commitMessage","string")
success = json.UpdateString("conflictDetailLevel","string")
success = json.UpdateString("conflictResolution.deleteFiles[0].filePath","string")
success = json.UpdateInt("conflictResolution.replaceContents[0].content",123)
success = json.UpdateString("conflictResolution.replaceContents[0].fileMode","string")
success = json.UpdateString("conflictResolution.replaceContents[0].filePath","string")
success = json.UpdateString("conflictResolution.replaceContents[0].replacementType","string")
success = json.UpdateString("conflictResolution.setFileModes[0].fileMode","string")
success = json.UpdateString("conflictResolution.setFileModes[0].filePath","string")
success = json.UpdateString("conflictResolutionStrategy","string")
success = json.UpdateString("email","string")
success = json.UpdateInt("keepEmptyFolders",123)
success = json.UpdateString("pullRequestId","string")
success = json.UpdateString("repositoryName","string")
success = json.UpdateString("sourceCommitId","string")
' The JSON request body created by the above code:
' {
' "authorName": "string",
' "commitMessage": "string",
' "conflictDetailLevel": "string",
' "conflictResolution": {
' "deleteFiles": [
' {
' "filePath": "string"
' }
' ],
' "replaceContents": [
' {
' "content": blob,
' "fileMode": "string",
' "filePath": "string",
' "replacementType": "string"
' }
' ],
' "setFileModes": [
' {
' "fileMode": "string",
' "filePath": "string"
' }
' ]
' },
' "conflictResolutionStrategy": "string",
' "email": "string",
' "keepEmptyFolders": boolean,
' "pullRequestId": "string",
' "repositoryName": "string",
' "sourceCommitId": "string"
' }
success = rest.AddHeader("Content-Type","application/x-amz-json-1.1")
success = rest.AddHeader("X-Amz-Target","CodeCommit_20150413.MergePullRequestByThreeWay")
set sbRequestBody = Server.CreateObject("Chilkat_9_5_0.StringBuilder")
success = json.EmitSb(sbRequestBody)
set sbResponseBody = Server.CreateObject("Chilkat_9_5_0.StringBuilder")
success = rest.FullRequestSb("POST","/",sbRequestBody,sbResponseBody)
If (success <> 1) Then
Response.Write "<pre>" & Server.HTMLEncode( rest.LastErrorText) & "</pre>"
Response.End
End If
respStatusCode = rest.ResponseStatusCode
Response.Write "<pre>" & Server.HTMLEncode( "response status code = " & respStatusCode) & "</pre>"
If (respStatusCode <> 200) Then
Response.Write "<pre>" & Server.HTMLEncode( "Response Header:") & "</pre>"
Response.Write "<pre>" & Server.HTMLEncode( rest.ResponseHeader) & "</pre>"
Response.Write "<pre>" & Server.HTMLEncode( "Response Body:") & "</pre>"
Response.Write "<pre>" & Server.HTMLEncode( sbResponseBody.GetAsString()) & "</pre>"
Response.End
End If
set jResp = Server.CreateObject("Chilkat_9_5_0.JsonObject")
success = jResp.LoadSb(sbResponseBody)
' The following code parses the JSON response.
' A sample JSON response is shown below the sample code.
' Use this online tool to generate parsing code from sample JSON:
' Generate Parsing Code from JSON
AuthorArn = jResp.StringOf("pullRequest.authorArn")
ClientRequestToken = jResp.StringOf("pullRequest.clientRequestToken")
CreationDate = jResp.IntOf("pullRequest.creationDate")
Description = jResp.StringOf("pullRequest.description")
LastActivityDate = jResp.IntOf("pullRequest.lastActivityDate")
PullRequestId = jResp.StringOf("pullRequest.pullRequestId")
PullRequestStatus = jResp.StringOf("pullRequest.pullRequestStatus")
RevisionId = jResp.StringOf("pullRequest.revisionId")
Title = jResp.StringOf("pullRequest.title")
i = 0
count_i = jResp.SizeOfArray("pullRequest.approvalRules")
Do While i < count_i
jResp.I = i
approvalRuleContent = jResp.StringOf("pullRequest.approvalRules[i].approvalRuleContent")
approvalRuleId = jResp.StringOf("pullRequest.approvalRules[i].approvalRuleId")
approvalRuleName = jResp.StringOf("pullRequest.approvalRules[i].approvalRuleName")
creationDate = jResp.IntOf("pullRequest.approvalRules[i].creationDate")
lastModifiedDate = jResp.IntOf("pullRequest.approvalRules[i].lastModifiedDate")
lastModifiedUser = jResp.StringOf("pullRequest.approvalRules[i].lastModifiedUser")
ApprovalRuleTemplateId = jResp.StringOf("pullRequest.approvalRules[i].originApprovalRuleTemplate.approvalRuleTemplateId")
ApprovalRuleTemplateName = jResp.StringOf("pullRequest.approvalRules[i].originApprovalRuleTemplate.approvalRuleTemplateName")
ruleContentSha256 = jResp.StringOf("pullRequest.approvalRules[i].ruleContentSha256")
i = i + 1
Loop
i = 0
count_i = jResp.SizeOfArray("pullRequest.pullRequestTargets")
Do While i < count_i
jResp.I = i
destinationCommit = jResp.StringOf("pullRequest.pullRequestTargets[i].destinationCommit")
destinationReference = jResp.StringOf("pullRequest.pullRequestTargets[i].destinationReference")
mergeBase = jResp.StringOf("pullRequest.pullRequestTargets[i].mergeBase")
IsMerged = jResp.IntOf("pullRequest.pullRequestTargets[i].mergeMetadata.isMerged")
MergeCommitId = jResp.StringOf("pullRequest.pullRequestTargets[i].mergeMetadata.mergeCommitId")
MergedBy = jResp.StringOf("pullRequest.pullRequestTargets[i].mergeMetadata.mergedBy")
MergeOption = jResp.StringOf("pullRequest.pullRequestTargets[i].mergeMetadata.mergeOption")
repositoryName = jResp.StringOf("pullRequest.pullRequestTargets[i].repositoryName")
sourceCommit = jResp.StringOf("pullRequest.pullRequestTargets[i].sourceCommit")
sourceReference = jResp.StringOf("pullRequest.pullRequestTargets[i].sourceReference")
i = i + 1
Loop
' A sample JSON response body parsed by the above code:
' {
' "pullRequest": {
' "approvalRules": [
' {
' "approvalRuleContent": "string",
' "approvalRuleId": "string",
' "approvalRuleName": "string",
' "creationDate": number,
' "lastModifiedDate": number,
' "lastModifiedUser": "string",
' "originApprovalRuleTemplate": {
' "approvalRuleTemplateId": "string",
' "approvalRuleTemplateName": "string"
' },
' "ruleContentSha256": "string"
' }
' ],
' "authorArn": "string",
' "clientRequestToken": "string",
' "creationDate": number,
' "description": "string",
' "lastActivityDate": number,
' "pullRequestId": "string",
' "pullRequestStatus": "string",
' "pullRequestTargets": [
' {
' "destinationCommit": "string",
' "destinationReference": "string",
' "mergeBase": "string",
' "mergeMetadata": {
' "isMerged": boolean,
' "mergeCommitId": "string",
' "mergedBy": "string",
' "mergeOption": "string"
' },
' "repositoryName": "string",
' "sourceCommit": "string",
' "sourceReference": "string"
' }
' ],
' "revisionId": "string",
' "title": "string"
' }
' }
%>
</body>
</html>