Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions collectoss/tasks/github/releases/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -168,9 +168,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
Expand All @@ -183,6 +191,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']:
Expand All @@ -196,6 +207,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']:
Expand Down
Loading