diff --git a/augur/tasks/github/releases/core.py b/augur/tasks/github/releases/core.py index f6b2f5e56b..9a58fda403 100644 --- a/augur/tasks/github/releases/core.py +++ b/augur/tasks/github/releases/core.py @@ -167,9 +167,17 @@ def fetch_data(key_auth, logger, github_url, repo_id, tag_only = False): logger.info("Hitting endpoint: {} ...\n".format(url)) data = request_graphql_dict(key_auth,logger, url, query) + if data is None: + logger.warning(f"GraphQL returned None for repo {github_url}; skipping releases.") + return None + if 'data' in data: data = data['data']['repository'] + if data is None: + logger.warning(f"GraphQL repository node is None for repo {github_url}; skipping releases.") + return None + data['owner'] = owner return data @@ -182,6 +190,9 @@ def releases_model(session, key_auth, logger, repo_git, repo_id): logger.info(f"Ran into problem when fetching data for repo {repo_git}: {e}") return + if data is None: + return + #logger.info("repository value is: {}\n".format(data)) if 'releases' in data: if 'edges' in data['releases'] and data['releases']['edges']: @@ -195,6 +206,8 @@ def releases_model(session, key_auth, logger, repo_git, repo_id): elif 'edges' in data['releases'] and not data['releases']['edges']: logger.info("Searching for tags instead of releases...") data = fetch_data(key_auth, logger, repo_git, repo_id,True) + if data is None: + return logger.info("refs value is: {}\n".format(data)) if 'refs' in data: if 'edges' in data['refs']: