API References
- class ghproject.GitHubAPI(repo_name: str, repo_owner: str, github_token: str)[source]
Bases:
object
Create a project board with issues in a GitHub repository
- Parameters
repo_name (str) – Name of the repository
repo_owner (str) – Name of the organization or GitHub user that owns the repository
github_token (str) – GitHub Personal Access Token
Examples
>>> import os >>> from ghproject import GitHubAPI >>> >>> # Setup arguments >>> repo_name = "my_repository" >>> repo_owner = "username" # Github user name or organization name >>> token = os.environ["GITHUB_TOKEN"] >>> path_issues = "./md_files" >>> project_name = "My project" >>> >>> # Instantiate repo and call functions >>> repo = GitHubAPI(repo_name, repo_owner, token) >>> repo.load_markdown_files(path_issues) >>> repo.push_project(project_name) >>> repo.push_issues() >>> repo.add_issues_to_project(project_name)
- add_issues_to_project(project_name: str, column_name: Optional[str] = None)[source]
Add uploaded issues to project board
- Parameters
project_name (str) – name of the project board to add the issues to
column_name (str, optional) – name of the column to add the issues to, defaults to first column
- get_columns(project_name: str)[source]
Get column names and id’s from a project
- Parameters
project_name (str) – Name of the project board
- Returns
Dictionary with [column_name:column_id] as [key:value]
- Return type
dict
- load_markdown_files(path: str)[source]
Import markdown files for uploading as issues. The first line of the markdown file will become the issue title (can be preceeded by a #), while the remainder of the markdown file will be converted into the issue body.
- Parameters
path (str) – Path to local directory with markdown files
- push_issues()[source]
Upload issues to GitHub repository
- Parameters
labels (list, optional) – List of issue labels, by default [“documentation”]
- push_project(project_name: str, columns: list = ['To do', 'In progress', 'Done'])[source]
Push project to GitHub repository
- Parameters
project_name (str) – Name of the project
columns (list, optional) – List of column names to be created in the project board, defaults to [“To do”, “In progress”, “Done”]