Skip to content

Commit

Permalink
buildkite: return response body from all request methods for consistency
Browse files Browse the repository at this point in the history
  • Loading branch information
AdamNowotny committed Aug 11, 2024
1 parent 5f2b5e4 commit e6dd5ba
Showing 1 changed file with 16 additions and 15 deletions.
31 changes: 16 additions & 15 deletions src/services/buildkite/buildkite.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,13 @@ import type {
CIServiceSettings,
} from 'services/service-types';

const requestOrganizations = (settings: CIServiceSettings) =>
request.get({
const requestOrganizations = async (settings: CIServiceSettings) => {
const response = await request.get({
url: 'https://api.buildkite.com/v2/organizations',
query: { access_token: settings.token ?? '' },
});
return response.body;
};

const requestPipelines = async (url: string, settings: CIServiceSettings) => {
const response = await request.get({
Expand All @@ -26,18 +28,21 @@ const requestPipelines = async (url: string, settings: CIServiceSettings) => {
return response.body;
};

const requestLatestBuild = (org, pipeline, settings) =>
request.get({
const requestLatestBuild = async (org, pipeline, settings) => {
const response = await request.get({
url: `https://api.buildkite.com/v2/organizations/${org}/pipelines/${pipeline}/builds`,
query: {
access_token: settings.token,
per_page: 1,
branch: settings.branch || 'main',
},
});
const [build] = response.body;
return build;
};

const requestLatestFinishedBuild = (org, pipeline, settings) =>
request.get({
const requestLatestFinishedBuild = async (org, pipeline, settings) => {
const response = await request.get({
url: `https://api.buildkite.com/v2/organizations/${org}/pipelines/${pipeline}/builds`,
query: {
access_token: settings.token,
Expand All @@ -46,11 +51,13 @@ const requestLatestFinishedBuild = (org, pipeline, settings) =>
'state[]': ['failed', 'passed'],
},
});
const [build] = response.body;
return build;
};

const getPipelines = async (settings: CIServiceSettings): Promise<CIPipeline[]> => {
logger.log('buildkite.getPipelines', settings);
const response = await requestOrganizations(settings);
const orgs = response.body;
const orgs = await requestOrganizations(settings);
const pipelineRequests = orgs.map(async org => {
const pipelinesResponse = await requestPipelines(org.pipelines_url, settings);
return pipelinesResponse.map(pipeline => parsePipeline(org, pipeline));
Expand All @@ -72,12 +79,7 @@ const getLatestBuilds = async (settings: CIServiceSettings): Promise<CIBuild[]>
settings.pipelines.map(async id => {
const key = createKey(id);
try {
const response = await requestLatestBuild(
key.org,
key.pipeline,
settings,
);
const [build] = response.body;
const build = await requestLatestBuild(key.org, key.pipeline, settings);
let finishedBuild;
if (
['running', 'scheduled', 'canceled', 'canceling'].includes(
Expand All @@ -89,7 +91,6 @@ const getLatestBuilds = async (settings: CIServiceSettings): Promise<CIBuild[]>
key.pipeline,
settings,
);
finishedBuild = finishedBuild.body[0];
}
return parseBuild(build, key, finishedBuild);
} catch (ex: any) {
Expand Down

0 comments on commit e6dd5ba

Please sign in to comment.