(org, repo, issue_num, token=None)
| 68 | |
| 69 | |
| 70 | def get_gh_issue_details(org, repo, issue_num, token=None): |
| 71 | details = {'keywords': []} |
| 72 | try: |
| 73 | gh_client = github_connect(token) |
| 74 | org_user = gh_client.get_user(login=org) |
| 75 | repo_obj = org_user.get_repo(repo) |
| 76 | issue_details = repo_obj.get_issue(issue_num) |
| 77 | langs = repo_obj.get_languages() |
| 78 | for k, _ in langs.items(): |
| 79 | details['keywords'].append(k) |
| 80 | details['title'] = issue_details.title |
| 81 | details['description'] = issue_details.body.replace('\n', '').strip() |
| 82 | details['state'] = issue_details.state |
| 83 | if issue_details.state == 'closed': |
| 84 | details['closed_at'] = issue_details.closed_at.isoformat() |
| 85 | details['closed_by'] = issue_details.closed_by.name |
| 86 | except UnknownObjectException: |
| 87 | return {} |
| 88 | return details |
| 89 | |
| 90 | |
| 91 | def get_gh_issue_state(org, repo, issue_num): |
no test coverage detected