for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
from st2common.util import isotime
__all__ = [
'issue_to_dict',
'label_to_dict'
]
def issue_to_dict(issue):
result = {}
if issue.closed_by:
closed_by = issue.closed_by.name
else:
closed_by = None
if issue.user:
author = issue.user.name
author = None
if issue.assignee:
assignee = issue.assigne.name
assignee = None
if issue.pull_request:
is_pull_request = True
is_pull_request = False
result['id'] = issue.id
result['repository'] = issue.repository.name
result['author'] = author
result['assign'] = assignee
result['title'] = issue.title
result['body'] = issue.body
result['url'] = issue.html_url
result['state'] = issue.state
result['is_pull_request'] = is_pull_request
if issue.labels:
labels = [label_to_dict(label) for label in issue.labels]
labels = []
result['labels'] = labels
# Note: We convert it to a serialize type (string)
if issue.created_at:
created_at = isotime.format(issue.created_at)
created_at = None
if issue.closed_at:
closed_at = isotime.format(issue.closed_at)
closed_at = None
result['created_at'] = created_at
result['closed_at'] = closed_at
result['closed_by'] = closed_by
return result
def label_to_dict(label):
result['name'] = label.name
result['color'] = label.color
result['url'] = label.url