Skip to content

Commit df9e00a

Browse files
author
Emerson Knapp
committed
Add retries for fetching Jenkins info
Signed-off-by: Emerson Knapp <eknapp@amazon.com>
1 parent aacb267 commit df9e00a

1 file changed

Lines changed: 13 additions & 3 deletions

File tree

ros_github_scripts/ci_for_pr.py

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ def run_jenkins_build(
188188
test_args: str,
189189
gist_url: str,
190190
github_login: str,
191-
github_token: str
191+
github_token: str,
192192
) -> str:
193193
"""
194194
Run a ci_launcher build for the selected packages, with the given gist as sources.
@@ -198,8 +198,18 @@ def run_jenkins_build(
198198
from jenkinsapi.jenkins import Jenkins
199199
logger.info('Connecting to Jenkins server')
200200
jenkins = Jenkins(CI_SERVER, username=github_login, password=github_token, use_crumb=True)
201-
logger.info(f'Fetching build job info for "{DEFAULT_JOB}"')
202-
build_job = jenkins[DEFAULT_JOB]
201+
retries_remaining = 1
202+
build_job = None
203+
while retries_remaining >= 0:
204+
try:
205+
logger.info(f'Fetching build job info for "{DEFAULT_JOB}"')
206+
build_job = jenkins[DEFAULT_JOB]
207+
break
208+
except requests.exceptions.ConnectionError as e:
209+
logger.warn(f'Failed to fetch job info, retries remaining: {retries_remaining}')
210+
retries_remaining -= 1
211+
if retries_remaining < 0:
212+
raise e
203213
param_spec = build_job.get_params()
204214

205215
# start by taking all the default parameters

0 commit comments

Comments
 (0)