diff --git a/package.json b/package.json index 46c50be..5651c54 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@im-open/im-github-deployments", - "version": "1.0.8", + "version": "1.0.9", "main": "dist/index.esm.js", "types": "dist/index.d.ts", "license": "Apache-2.0", diff --git a/src/api/index.ts b/src/api/index.ts index 6e12003..492dd5f 100644 --- a/src/api/index.ts +++ b/src/api/index.ts @@ -136,25 +136,27 @@ export class GithubDeploymentsApiClient implements GithubDeploymentsApi { for (let i = 0; i < d.deployments.length; i++) { let deployment = d.deployments[i]; - let noInactiveStatuses = deployment.statuses.nodes.filter( - s => s.state.toUpperCase() != 'INACTIVE', - ); - let status = - noInactiveStatuses.length > 0 - ? noInactiveStatuses[0] - : deployment.statuses.nodes[0]; - - formatted.push({ - deployment_id: deployment.databaseId, - deployment_node_id: deployment.id, - state: status.state, - environment: deployment.environment, - ref: deployment.ref?.name, - created_at: DateTime.fromISO(status.createdAt), - createdHuman: DateTime.fromISO(status.createdAt).toRelative({ - locale: 'en', - }), - } as RestDeploymentStatus); + if (deployment.statuses.nodes.length > 0) { + let noInactiveStatuses = deployment.statuses.nodes.filter( + s => s.state.toUpperCase() != 'INACTIVE', + ); + let status = + noInactiveStatuses.length > 0 + ? noInactiveStatuses[0] + : deployment.statuses.nodes[0]; + + formatted.push({ + deployment_id: deployment.databaseId, + deployment_node_id: deployment.id, + state: status.state, + environment: deployment.environment, + ref: deployment.ref?.name, + created_at: DateTime.fromISO(status.createdAt), + createdHuman: DateTime.fromISO(status.createdAt).toRelative({ + locale: 'en', + }), + } as RestDeploymentStatus); + } } return formatted.sort((a, b) =>