Spaces:
Runtime error
Runtime error
| import os | |
| import requests | |
| import certifi | |
| from dotenv import load_dotenv | |
| import langchain | |
| from langchain_core.documents import Document | |
| load_dotenv() | |
| GITHUB_TOKEN = os.getenv("GITHUB_TOKEN") | |
| def fetch_github_repo(owner, repo, endpiont): | |
| """Fetches a GitHub repository's details and returns it as a Document.""" | |
| url = f"https://api.github.com/repos/{owner}/{repo}/{endpiont}" | |
| headers = { | |
| "Authorization": f"token {GITHUB_TOKEN}", | |
| "Accept": "application/vnd.github.v3+json", | |
| } | |
| response = requests.get(url, headers=headers, verify=certifi.where()) | |
| if response.status_code == 200: | |
| data = response.json() | |
| else: | |
| print(f"Failed to fetch repository:", response.status_code) | |
| return [] | |
| print(data) | |
| return data | |
| def fetch_github_issues(owner, repo): | |
| data = fetch_github_repo(owner, repo, "issues") | |
| return load_issues(data) | |
| def load_issues(issues): | |
| documents = [] | |
| for issue in issues: | |
| content = f"Issue Title: {issue['title']}\nIssue Body: {issue['body']}\n" | |
| metadata = { | |
| "author": issue["user"]["login"], | |
| "comments": issue["comments"], | |
| "labels" : issue["labels"], | |
| "issue_number": issue["number"], | |
| "created_at": issue["created_at"], | |
| "url": issue["html_url"], | |
| } | |
| data = issue['title'] | |
| if issue['body']: | |
| data += "\n" + issue['body'] | |
| documents.append(Document(page_content=data, metadata=metadata)) | |
| return documents | |
| owner = "Ini-design" | |
| repo = "register" | |
| endpoint = "issues" | |
| fetch_github_repo(owner , repo, endpoint) |