Skip to content

Commit

Permalink
fix(open_issue): sanity issue resolve
Browse files Browse the repository at this point in the history
  • Loading branch information
Wabri committed Mar 5, 2024
1 parent 5c5efab commit 45ecf33
Showing 1 changed file with 11 additions and 9 deletions.
20 changes: 11 additions & 9 deletions workflows/check_outdate_deps/open_issue.py
Original file line number Diff line number Diff line change
@@ -1,19 +1,22 @@
#!/usr/bin/env python3
#!/usr/bin/env python

import argparse
import requests
import os
import json


def get_description(requirement_file, package, latest):
return f"""The package {package} is outdated in {requirement_file}. The latest version is {latest}. Please update the package to the latest version.
Check the package [here](https://pypi.org/project/{package}/{latest}/) for more information.
"""


def get_title(requirement_file, package_name, current_version, latest_version):
return f"Dependency outdated in {requirement_file}: {package_name}:{current_version} -> {latest_version}"


if __name__ == '__main__':
# Arguments parsing
parser = argparse.ArgumentParser(description="Open issue with the correct argument")
Expand All @@ -25,19 +28,19 @@ def get_title(requirement_file, package_name, current_version, latest_version):
# Environment variable
repo = os.environ.get("GITHUB_REPOSITORY")
requirement_file = str(os.environ.get("REQUIREMENT_FILE"))

# Define the title
issue_title = get_title(requirement_file, args.package, args.version, args.latest)

# The double quote on the issue_title is necessary to avoid duplicate issues
query = f"repo:{repo} type:issue in:title \"{issue_title}\""

# Send the query
response = requests.get("https://api.github.com/search/issues", params={"q": query})
data = response.json()

# There is this error that we somehow try to avoid
# {'message': "API rate limit exceeded for 93.45.31.205. (But here's the good news: Authenticated requests get a higher rate limit. Check
# {'message': "API rate limit exceeded for 93.45.31.205. (But here's the good news: Authenticated requests get a higher rate limit. Check
# out the documentation for more details.)", 'documentation_url': 'https://docs.github.com/rest/overview/resources-in-the-rest-api#rat
# e-limiting'}
if data["total_count"] > 0:
Expand All @@ -47,12 +50,11 @@ def get_title(requirement_file, package_name, current_version, latest_version):
token = os.environ.get("GITHUB_TOKEN")
issue = {"title": issue_title, "body": issue_description}
headers = {"Authorization": f"token {token}"}

response = requests.post(f"https://api.github.com/repos/{repo}/issues", headers=headers, data=json.dumps(issue))

# Check the response
if response.status_code == 201:
print("Issue created successfully.")
else:
print(f"Failed to create issue. Status code: {response.status_code}.")

0 comments on commit 45ecf33

Please sign in to comment.