def get_circle_failed_steps(ci_token: str, build_number: int) -> List[str]: """ Get the circle ci failed steps if there are any. Args: ci_token (str): The circle-ci token. build_number (int): The build number. Returns: (List[str]): List of failed steps in the given build. Returns empty list if not failed steps were found. """ failed_steps_list = [] circle_client = circle_api(ci_token) vcs_type = 'github' build_report = circle_client.get_build_info(username='******', project='content-docs', build_num=build_number, vcs_type=vcs_type) for step in build_report.get('steps', []): step_name = step.get('name', '') actions = step.get('actions', []) for action in actions: action_status = action.get('status', '') if action_status and action_status == 'failed': action_name = action.get('name', '') if action_name != step_name: failed_steps_list.append(f'{step_name}: {action_name}') else: failed_steps_list.append(f'{step_name}') return failed_steps_list
def get_circle_failed_steps(ci_token, build_number): failed_steps_list = [] circle_client = circle_api(ci_token) vcs_type = 'github' build_report = circle_client.get_build_info(username='******', project='content', build_num=build_number, vcs_type=vcs_type) for step in build_report.get('steps', []): step_name = step.get('name', '') actions = step.get('actions', []) for action in actions: action_status = action.get('status', '') if action_status and action_status == 'failed': action_name = action.get('name', '') if action_name != step_name: failed_steps_list.append(f'{step_name}: {action_name}') else: failed_steps_list.append(f'{step_name}') return failed_steps_list