Skip to content

Commit

Permalink
fix: Properly fetch commitId for CodeBuild reporting
Browse files Browse the repository at this point in the history
  • Loading branch information
markusl committed Jan 30, 2021
1 parent f494302 commit 3afc98a
Showing 1 changed file with 16 additions and 2 deletions.
18 changes: 16 additions & 2 deletions src/index.CodeBuildStatusHandler.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
import type * as AwsLambda from 'aws-lambda';
import * as AWS from 'aws-sdk';
import { BitbucketBuildStatus, putCodePipelineResultToBitBucket } from './bitbucket';

const codeBuild = new AWS.CodeBuild();

export const buildBitbucketBuildStatusBody = (
event: AwsLambda.CodeBuildCloudWatchStateEvent,
actionStatus: AwsLambda.CodeBuildStateType): BitbucketBuildStatus => {
Expand All @@ -20,13 +23,24 @@ export const buildBitbucketBuildStatusBody = (
};
};

export const getCommitId = async (buildId: string) => {
const build = await codeBuild.batchGetBuilds({
ids: [buildId],
}).promise();

if (!build.builds || !build.builds[0].sourceVersion) {
throw new Error('Failed to get builds');
}
return build.builds[0].sourceVersion;
};

exports.handler = async (event: AwsLambda.CodeBuildCloudWatchStateEvent) => {
// console.log(JSON.stringify(event, undefined, 2));

try {
const status = buildBitbucketBuildStatusBody(event, event.detail['build-status']);

const result = await putCodePipelineResultToBitBucket(event.detail['additional-information']['source-version'], JSON.stringify(status));
const commitId = await getCommitId(event.detail['build-id']);
const result = await putCodePipelineResultToBitBucket(commitId, JSON.stringify(status));
console.log(result);
} catch (error) {
console.error(JSON.stringify(error));
Expand Down

0 comments on commit 3afc98a

Please # to comment.