Source: factory.core/ObjGithub.py
GitHub Issues API helper.
Configuration (config.yaml):
github:
token: YOUR_GITHUB_TOKEN
...
| Method | Signature | Description |
|---|---|---|
| set_repository | set_repository(owner: str, repo: str) -> None |
|
| set_token | set_token(token: str) -> None |
|
| list_issues | list_issues(owner: str = '', repo: str = '', state: str = GithubIssueState.OPEN.value, since: str = '', sort: str = GithubIssueSort.UPDATED.value, direction: str = GithubIssueDirection.DESC.value, per_page: int = 100, page: int = 1, milestone: str = '', labels: str = '', assignee: str = '', creator: str = '', mentioned: str = '', include_pull_requests: bool = False) -> List[Dict[str, Any]] |
|
| get_issue | get_issue(issue_number: int, owner: str = '', repo: str = '') -> Dict[str, Any] |
|
| create_issue | create_issue(title: str, body: str = '', owner: str = '', repo: str = '', labels: List[str] | None = None, assignees: List[str] | None = None, milestone: int | None = None) -> Dict[str, Any] |
|
| update_issue | update_issue(issue_number: int, owner: str = '', repo: str = '', title: str | None = None, body: str | None = None, state: str | None = None, state_reason: str | None = None, labels: List[str] | None = None, assignees: List[str] | None = None, milestone: int | None = None) -> Dict[str, Any] |
|
| close_issue | close_issue(issue_number: int, owner: str = '', repo: str = '', state_reason: str = GithubIssueStateReason.COMPLETED.value, comment: str = '') -> Dict[str, Any] |
|
| reopen_issue | reopen_issue(issue_number: int, owner: str = '', repo: str = '', comment: str = '') -> Dict[str, Any] |
|
| list_comments | list_comments(issue_number: int | None = None, owner: str = '', repo: str = '', since: str = '', sort: str = GithubIssueCommentSort.UPDATED.value, direction: str = GithubIssueDirection.DESC.value, per_page: int = 100, page: int = 1) -> List[Dict[str, Any]] |
|
| add_comment | add_comment(issue_number: int, comment: str, owner: str = '', repo: str = '') -> Dict[str, Any] |
|
| update_comment | update_comment(comment_id: int, comment: str, owner: str = '', repo: str = '') -> Dict[str, Any] |
|
| list_issue_events | list_issue_events(issue_number: int, owner: str = '', repo: str = '', per_page: int = 100, page: int = 1) -> List[Dict[str, Any]] |
|
| get_updates | get_updates(since: str, owner: str = '', repo: str = '', include_comments: bool = True, include_events: bool = False, state: str = GithubIssueState.ALL.value, per_page: int = 100, page: int = 1) -> Dict[str, Any] |
|
| find_ticket_guid_by_issue_number | find_ticket_guid_by_issue_number(ticket_obj, issue_number: int) -> str |
Validate GitHub token by reading /user profile.
List repository issues.
Get one issue by number.
Create a GitHub issue.
Update issue fields.
Close an issue.
Reopen an issue.
List comments for one issue or whole repository.
Add an issue comment.
Update an existing issue comment.
List issue events for one issue.
Get recent issues/comments/events since timestamp.
Import GitHub issues into local ticket tables.