agent: |
AI agent task
- 1cW4JWQQj5fRqwilzVXgsList all the repos that I have access to. Public and private both.
1
There was a problem that the LLM was not able to address. Please rephrase your prompt and try again.This script lists all repositories that the user has access to, including public and private ones, and not just the ones they own.
inputsoutputsimport requests import json def get_all_accessible_repos(username): token = getEnvVar('GITHUB_TOKEN') url = f'https://api.github.com/user/repos' headers = { 'Authorization': f'token {token}' } params = { 'visibility': 'all', 'affiliation': 'owner,collaborator,organization_member' } response = requests.get(url, headers=headers, params=params) if response.status_code == 200: repos = response.json() return repos else: print(f'Error: {response.status_code} - {response.text}') return [] # Input print(f'Input username: {username}') # Get all accessible repos repos = get_all_accessible_repos(username) # Output print('Output repos:') for repo in repos: print(repo["name"]) # print(json.dumps(repos, indent=4))copied1 - 2DoIuqKoeDlqBYYBZqL42Check if a GitHub token is valid or expired.
2
There was a problem that the LLM was not able to address. Please rephrase your prompt and try again.This script checks if the GitHub token is still valid or has expired.
inputsoutputsimport requests # Function to check if the GitHub token is valid def check_github_token_validity(): token = getEnvVar('GITHUB_TOKEN') url = 'https://api.github.com/user' headers = { 'Authorization': f'token {token}' } response = requests.get(url, headers=headers) return response.status_code == 200 # Check token validity is_valid = check_github_token_validity() # Output print('Output is_valid:') print(is_valid)copied2 - 3Cw69JwUqencDt51NTThHList branches of a given repo
3
There was a problem that the LLM was not able to address. Please rephrase your prompt and try again.This script checks why the branches of a specified GitHub repository cannot be listed and provides a more detailed explanation.
inputsoutputsimport requests import json # Function to check if the GitHub token is valid def check_github_token_validity(): token = getEnvVar('GITHUB_TOKEN') url = 'https://api.github.com/user' headers = { 'Authorization': f'token {token}' } response = requests.get(url, headers=headers) return response.status_code == 200 # Function to list branches of a repo def list_branches(owner, repo_name): token = getEnvVar('GITHUB_TOKEN') url = f'https://api.github.com/repos/{owner}/{repo_name}/branches' headers = { 'Authorization': f'token {token}', 'Accept': 'application/vnd.github.v3+json' } response = requests.get(url, headers=headers) return response # Input print(f'Input owner: {owner}') print(f'Input repo_name: {repo_name}') # Check token validity is_valid = check_github_token_validity() if is_valid: # List branches response = list_branches(owner, repo_name) if response.status_code == 200: branches = response.json() explanation = json.dumps(branches, indent=4) elif response.status_code == 404: explanation = 'The repository was not found. Please check the owner and repository name.' elif response.status_code == 403: explanation = 'Access to the repository is forbidden. Please check your permissions.' else: explanation = f'Error: {response.status_code} - {response.text}' else: explanation = 'The GitHub token is not valid.' # Output print('Output explanation:') print(explanation)copied3 - 4FGnnENi9JeWHomz0c3a7List just the names of the branches of a github repo.
4
There was a problem that the LLM was not able to address. Please rephrase your prompt and try again.This script lists just the names of the branches of a specified GitHub repository.
inputsoutputsimport requests import json # Function to check if the GitHub token is valid def check_github_token_validity(): token = getEnvVar('GITHUB_TOKEN') url = 'https://api.github.com/user' headers = { 'Authorization': f'token {token}' } response = requests.get(url, headers=headers) return response.status_code == 200 # Function to list branches of a repo def list_branches(owner, repo_name): token = getEnvVar('GITHUB_TOKEN') url = f'https://api.github.com/repos/{owner}/{repo_name}/branches' headers = { 'Authorization': f'token {token}', 'Accept': 'application/vnd.github.v3+json' } response = requests.get(url, headers=headers) return response # Input print(f'Input owner: {owner}') print(f'Input repo_name: {repo_name}') # Check token validity is_valid = check_github_token_validity() if is_valid: # List branches response = list_branches(owner, repo_name) if response.status_code == 200: branches = response.json() branch_names = [branch['name'] for branch in branches] explanation = json.dumps(branch_names, indent=4) elif response.status_code == 404: explanation = 'The repository was not found. Please check the owner and repository name.' elif response.status_code == 403: explanation = 'Access to the repository is forbidden. Please check your permissions.' else: explanation = f'Error: {response.status_code} - {response.text}' else: explanation = 'The GitHub token is not valid.' # Output print('Output branch_names:') print(explanation)copied4 - 5WUbZAB1XhI6xzYww1FYxCreate a new branch for a repo.
5
There was a problem that the LLM was not able to address. Please rephrase your prompt and try again.This script creates a new branch specified in branch_name for the specified GitHub repository.
inputsoutputsimport requests import json # Function to check if the GitHub token is valid def check_github_token_validity(): token = getEnvVar('GITHUB_TOKEN') url = 'https://api.github.com/user' headers = { 'Authorization': f'token {token}' } response = requests.get(url, headers=headers) return response.status_code == 200 # Function to get the latest commit SHA of the default branch def get_latest_commit_sha(owner, repo_name): token = getEnvVar('GITHUB_TOKEN') url = f'https://api.github.com/repos/{owner}/{repo_name}/branches/main' headers = { 'Authorization': f'token {token}', 'Accept': 'application/vnd.github.v3+json' } response = requests.get(url, headers=headers) if response.status_code == 200: branch_info = response.json() return branch_info['commit']['sha'] else: print(f'Error: {response.status_code} - {response.text}') return None # Function to create a new branch def create_branch(owner, repo_name, branch_name, sha): token = getEnvVar('GITHUB_TOKEN') url = f'https://api.github.com/repos/{owner}/{repo_name}/git/refs' headers = { 'Authorization': f'token {token}', 'Accept': 'application/vnd.github.v3+json' } data = { 'ref': f'refs/heads/{branch_name}', 'sha': sha } response = requests.post(url, headers=headers, data=json.dumps(data)) return response # Input print(f'Input owner: {owner}') print(f'Input repo_name: {repo_name}') print(f'Input branch_name: {branch_name}') # Check token validity is_valid = check_github_token_validity() if is_valid: # Get the latest commit SHA of the default branch sha = get_latest_commit_sha(owner, repo_name) if sha: # Create a new branch response = create_branch(owner, repo_name, branch_name, sha) if response.status_code == 201: explanation = f'Branch {branch_name} created successfully.' else: explanation = f'Error: {response.status_code} - {response.text}' else: explanation = 'Failed to get the latest commit SHA.' else: explanation = 'The GitHub token is not valid.' # Output print('Output explanation:') print(explanation)copied5 - 6VYUrl6HnTludBnlqJsnmSwitch to a branch and list the repo files
6
There was a problem that the LLM was not able to address. Please rephrase your prompt and try again.This script switches to the specified branch and lists the files in the repository.
inputsoutputsimport requests import json # Function to check if the GitHub token is valid def check_github_token_validity(): token = getEnvVar('GITHUB_TOKEN') url = 'https://api.github.com/user' headers = { 'Authorization': f'token {token}' } response = requests.get(url, headers=headers) return response.status_code == 200 # Function to list files in a branch def list_files_in_branch(owner, repo_name, branch_name): token = getEnvVar('GITHUB_TOKEN') url = f'https://api.github.com/repos/{owner}/{repo_name}/git/trees/{branch_name}?recursive=1' headers = { 'Authorization': f'token {token}', 'Accept': 'application/vnd.github.v3+json' } response = requests.get(url, headers=headers) return response # Input print(f'Input owner: {owner}') print(f'Input repo_name: {repo_name}') print(f'Input branch_name: {branch_name}') # Check token validity is_valid = check_github_token_validity() if is_valid: # List files in the branch response = list_files_in_branch(owner, repo_name, branch_name) if response.status_code == 200: files_info = response.json() file_paths = [file['path'] for file in files_info.get('tree', [])] explanation = json.dumps(file_paths, indent=4) elif response.status_code == 404: explanation = 'The branch or repository was not found. Please check the owner, repository name, and branch name.' elif response.status_code == 403: explanation = 'Access to the repository is forbidden. Please check your permissions.' else: explanation = f'Error: {response.status_code} - {response.text}' else: explanation = 'The GitHub token is not valid.' # Output print('Output file_paths:') print(explanation)copied6 - 7fuV0hKvoJ5F0JuNCw6vaGet the contents of a file in the github repo
7
There was a problem that the LLM was not able to address. Please rephrase your prompt and try again.This script shows the contents of the specified file in the specified branch of the GitHub repository.
inputsoutputsimport requests import json # Function to check if the GitHub token is valid def check_github_token_validity(): token = getEnvVar('GITHUB_TOKEN') url = 'https://api.github.com/user' headers = { 'Authorization': f'token {token}' } response = requests.get(url, headers=headers) return response.status_code == 200 # Function to get the contents of a file def get_file_content(owner, repo_name, branch_name, file_path): token = getEnvVar('GITHUB_TOKEN') url = f'https://api.github.com/repos/{owner}/{repo_name}/contents/{file_path}?ref={branch_name}' headers = { 'Authorization': f'token {token}', 'Accept': 'application/vnd.github.v3.raw' } response = requests.get(url, headers=headers) return response # Input print(f'Input owner: {owner}') print(f'Input repo_name: {repo_name}') print(f'Input branch_name: {branch_name}') print(f'Input file_path: {file_path}') # Check token validity is_valid = check_github_token_validity() if is_valid: # Get the file content response = get_file_content(owner, repo_name, branch_name, file_path) if response.status_code == 200: file_content = response.text explanation = file_content elif response.status_code == 404: explanation = 'The file or repository was not found. Please check the owner, repository name, branch name, and file path.' elif response.status_code == 403: explanation = 'Access to the repository is forbidden. Please check your permissions.' else: explanation = f'Error: {response.status_code} - {response.text}' else: explanation = 'The GitHub token is not valid.' # Output print('Output file_content:') print(explanation)copied7 - 8srykJq1KrA3Gu5l78mmSUpdate the contents of a file in the repo and commit the changes to a branch.
8
There was a problem that the LLM was not able to address. Please rephrase your prompt and try again.This script updates the README.md file with 'Hello folks!' at the top and commits the changes to the specified branch.
inputsoutputsimport requests import json import base64 # Function to check if the GitHub token is valid def check_github_token_validity(): token = getEnvVar('GITHUB_TOKEN') url = 'https://api.github.com/user' headers = { 'Authorization': f'token {token}' } response = requests.get(url, headers=headers) return response.status_code == 200 # Function to get the contents of a file def get_file_content(owner, repo_name, branch_name, file_path): token = getEnvVar('GITHUB_TOKEN') url = f'https://api.github.com/repos/{owner}/{repo_name}/contents/{file_path}?ref={branch_name}' headers = { 'Authorization': f'token {token}', 'Accept': 'application/vnd.github.v3.raw' } response = requests.get(url, headers=headers) return response # Function to update the contents of a file def update_file_content(owner, repo_name, branch_name, file_path, content, sha, commit_message): token = getEnvVar('GITHUB_TOKEN') url = f'https://api.github.com/repos/{owner}/{repo_name}/contents/{file_path}' headers = { 'Authorization': f'token {token}', 'Accept': 'application/vnd.github.v3+json' } data = { 'message': commit_message, 'content': base64.b64encode(content.encode()).decode(), 'sha': sha, 'branch': branch_name } response = requests.put(url, headers=headers, data=json.dumps(data)) return response # Input print(f'Input owner: {owner}') print(f'Input repo_name: {repo_name}') print(f'Input branch_name: {branch_name}') print(f'Input file_path: {file_path}') print(f'Input commit_message: {commit_message}') # Check token validity is_valid = check_github_token_validity() if is_valid: # Get the file content response = get_file_content(owner, repo_name, branch_name, file_path) print('Raw response:') print(response.text) print(f'Status code: {response.status_code}') if response.status_code == 200: file_content = response.text new_content = f'Hello folks!\n{file_content}' sha = response.headers.get('ETag').strip('"') # Update the file content update_response = update_file_content(owner, repo_name, branch_name, file_path, new_content, sha, commit_message) print('Update response:') print(update_response.text) print(f'Update status code: {update_response.status_code}') if update_response.status_code == 200 or update_response.status_code == 201: explanation = 'File updated successfully.' else: explanation = f'Error: {update_response.status_code} - {update_response.text}' elif response.status_code == 404: explanation = 'The file or repository was not found. Please check the owner, repository name, branch name, and file path.' elif response.status_code == 403: explanation = 'Access to the repository is forbidden. Please check your permissions.' else: explanation = f'Error: {response.status_code} - {response.text}' else: explanation = 'The GitHub token is not valid.' # Output print('Output explanation:') print(explanation)copied8 - 9F8EvvPOioS4hrIBeVBEACreate a pull request to merge a feature branch to main branch for a repo
9
There was a problem that the LLM was not able to address. Please rephrase your prompt and try again.This script creates a pull request to merge the branch head_branch (like feature branch) to the base_branch (like main) for the specified GitHub repository.
inputsoutputsimport requests import json # Function to check if the GitHub token is valid def check_github_token_validity(): token = getEnvVar('GITHUB_TOKEN') url = 'https://api.github.com/user' headers = { 'Authorization': f'token {token}' } response = requests.get(url, headers=headers) return response.status_code == 200 # Function to create a pull request def create_pull_request(owner, repo_name, head_branch, base_branch, title, body): token = getEnvVar('GITHUB_TOKEN') url = f'https://api.github.com/repos/{owner}/{repo_name}/pulls' headers = { 'Authorization': f'token {token}', 'Accept': 'application/vnd.github.v3+json' } data = { 'title': title, 'head': head_branch, 'base': base_branch, 'body': body } response = requests.post(url, headers=headers, data=json.dumps(data)) return response # Input print(f'Input owner: {owner}') print(f'Input repo_name: {repo_name}') print(f'Input head_branch: {head_branch}') print(f'Input base_branch: {base_branch}') print(f'Input title: {title}') print(f'Input body: {body}') # Check token validity is_valid = check_github_token_validity() if is_valid: # Create pull request response = create_pull_request(owner, repo_name, head_branch, base_branch, title, body) print('Raw response:') print(response.text) print(f'Status code: {response.status_code}') if response.status_code == 201: pull_request_info = response.json() pull_request_url = pull_request_info['html_url'] explanation = f'Pull request created successfully: {pull_request_url}' elif response.status_code == 422: explanation = 'Validation failed. Please check if the pull request already exists or if there are any conflicts.' elif response.status_code == 404: explanation = 'The repository was not found. Please check the owner and repository name.' elif response.status_code == 403: explanation = 'Access to the repository is forbidden. Please check your permissions.' else: explanation = f'Error: {response.status_code} - {response.text}' else: explanation = 'The GitHub token is not valid.' # Output print('Output explanation:') print(explanation)copied9 - 10BEL2d0AwDhLVzpWBIEk6Assign a pull request to a user
10
There was a problem that the LLM was not able to address. Please rephrase your prompt and try again.This script assigns the specified reviewer to the pull request for the specified GitHub repository.
inputsoutputsimport requests import json # Function to check if the GitHub token is valid def check_github_token_validity(): token = getEnvVar('GITHUB_TOKEN') url = 'https://api.github.com/user' headers = { 'Authorization': f'token {token}' } response = requests.get(url, headers=headers) return response.status_code == 200 # Function to assign a reviewer to a pull request def assign_reviewer(owner, repo_name, pull_number, reviewers): token = getEnvVar('GITHUB_TOKEN') url = f'https://api.github.com/repos/{owner}/{repo_name}/pulls/{pull_number}/requested_reviewers' headers = { 'Authorization': f'token {token}', 'Accept': 'application/vnd.github.v3+json' } data = { 'reviewers': reviewers } response = requests.post(url, headers=headers, data=json.dumps(data)) return response # Input print(f'Input owner: {owner}') print(f'Input repo_name: {repo_name}') print(f'Input pull_number: {pull_number}') print(f'Input reviewers: {reviewers}') # Check token validity is_valid = check_github_token_validity() if is_valid: # Assign reviewer response = assign_reviewer(owner, repo_name, pull_number, reviewers) print('Raw response:') print(response.text) print(f'Status code: {response.status_code}') if response.status_code == 201: explanation = 'Reviewer assigned successfully.' elif response.status_code == 422: explanation = 'Validation failed. Please check if the reviewer is a collaborator on the repository.' elif response.status_code == 404: explanation = 'The pull request or repository was not found. Please check the owner, repository name, and pull request number.' elif response.status_code == 403: explanation = 'Access to the repository is forbidden. Please check your permissions.' else: explanation = f'Error: {response.status_code} - {response.text}' else: explanation = 'The GitHub token is not valid.' # Output print('Output explanation:') print(explanation)copied10 - 11temp_task_idTemporary agent task 2024-11-21T06:20:51+00:00 by
11
There was a problem that the LLM was not able to address. Please rephrase your prompt and try again.inputsoutputs11