Exemplo n.º 1
0
def _task_description_from_pull_request(pull_request: PullRequest) -> str:
    link_to_pr = _link(pull_request.url())
    github_author = pull_request.author()
    author = _asana_user_url_from_github_user_handle(github_author.login())
    if author is None:
        author = _asana_display_name_for_github_user(github_author)
    status_reason = _task_completion_from_pull_request(pull_request)
    status = "complete" if status_reason.is_complete else "incomplete"
    return _wrap_in_tag(
        "body"
    )(_wrap_in_tag("em")
      ("This is a one-way sync from GitHub to Asana. Do not edit this task or comment on it!"
       ) + f"\n\n\uD83D\uDD17 {link_to_pr}" + "\n✍️ " + author +
      _generate_assignee_description(pull_request.assignee()) +
      f"\n❗️Task is {status} because {status_reason.reason}" +
      _wrap_in_tag("strong")("\n\nDescription:\n") +
      _format_github_text_for_asana(pull_request.body()))
Exemplo n.º 2
0
def _task_assignee_from_pull_request(
        pull_request: PullRequest) -> Optional[str]:
    assignee = pull_request.assignee()
    return _asana_user_id_from_github_handle(assignee.login)