langchain.utilities.github.GitHubAPIWrapper¶
- class langchain.utilities.github.GitHubAPIWrapper(*, github: Any = None, github_repo_instance: Any = None, github_repository: Optional[str] = None, github_app_id: Optional[str] = None, github_app_private_key: Optional[str] = None, github_branch: Optional[str] = None, github_base_branch: Optional[str] = None)[source]¶
Bases:
BaseModelWrapper for GitHub API.
Create a new model by parsing and validating input data from keyword arguments.
Raises ValidationError if the input data cannot be parsed to form a valid model.
- param github_app_id: Optional[str] = None¶
- param github_app_private_key: Optional[str] = None¶
- param github_base_branch: Optional[str] = None¶
- param github_branch: Optional[str] = None¶
- param github_repository: Optional[str] = None¶
- comment_on_issue(comment_query: str) str[source]¶
Adds a comment to a github issue Parameters:
comment_query(str): a string which contains the issue number, two newlines, and the comment. for example: “1
- Working on it now”
adds the comment “working on it now” to issue 1
- Returns:
str: A success or failure message
- create_file(file_query: str) str[source]¶
Creates a new file on the Github repo Parameters:
file_query(str): a string which contains the file path and the file contents. The file path is the first line in the string, and the contents are the rest of the string. For example, “hello_world.md
- # Hello World!”
- Returns:
str: A success or failure message
- create_pull_request(pr_query: str) str[source]¶
Makes a pull request from the bot’s branch to the base branch Parameters:
pr_query(str): a string which contains the PR title and the PR body. The title is the first line in the string, and the body are the rest of the string. For example, “Updated README
- made changes to add info”
- Returns:
str: A success or failure message
- delete_file(file_path: str) str[source]¶
Deletes a file from the repo :param file_path: Where the file is :type file_path: str
- Returns
Success or failure message
- Return type
str
- get_issue(issue_number: int) Dict[str, Any][source]¶
Fetches a specific issue and its first 10 comments :param issue_number: The number for the github issue :type issue_number: int
- Returns
A doctionary containing the issue’s title, body, and comments as a string
- Return type
dict
- get_issues() str[source]¶
Fetches all open issues from the repo
- Returns
A plaintext report containing the number of issues and each issue’s title and number.
- Return type
str
- parse_issues(issues: List[Issue]) List[dict][source]¶
Extracts title and number from each Issue and puts them in a dictionary :param issues: A list of Github Issue objects :type issues: List[Issue]
- Returns
A dictionary of issue titles and numbers
- Return type
List[dict]
- read_file(file_path: str) str[source]¶
Reads a file from the github repo :param file_path: the file path :type file_path: str
- Returns
The file decoded as a string
- Return type
str
- update_file(file_query: str) str[source]¶
Updates a file with new content. :param file_query: Contains the file path and the file contents.
The old file contents is wrapped in OLD <<<< and >>>> OLD The new file contents is wrapped in NEW <<<< and >>>> NEW For example: /test/hello.txt OLD <<<< Hello Earth! >>>> OLD NEW <<<< Hello Mars! >>>> NEW
- Returns
A success or failure message