Example #1
0
def get_user_info(dct: Dict[str, Any]) -> str:
    # See https://developer.atlassian.com/cloud/bitbucket/bitbucket-api-changes-gdpr/
    # Since GDPR, we don't get username; instead, we either get display_name
    # or nickname.
    if "display_name" in dct:
        return dct["display_name"]

    if "nickname" in dct:
        return dct["nickname"]

    log_exception_to_webhook_logger(
        summary="Could not find display_name/nickname field",
        # We call this an unsupported_event, even though we
        # are technically still sending a message.
        unsupported_event=True,
    )

    if "username" in dct:
        # We don't expect this to happen after April 2019; this is
        # just defensive code, plus it allows us to avoid changing
        # a bunch of test fixtures.  We will want to delete this code
        # as soon as we have confidence that we don't get errors
        # related to display_name/nickname being missing. (see above
        # code)
        return dct["username"]

    return "Unknown user"
Example #2
0
 def log_unsupported(self, event: str) -> None:
     summary = f"The '{event}' event isn't currently supported by the GitHub webhook"
     request = self._request
     log_exception_to_webhook_logger(
         request=request,
         summary=summary,
         unsupported_event=True,
     )
Example #3
0
 def log_unexpected(self, event: str) -> None:
     summary = f"The '{event}' event isn't currently supported by the GitHub webhook"
     request = self._request
     log_exception_to_webhook_logger(
         request=request,
         user_profile=self._user_profile,
         summary=summary,
         payload=request.body,
         unexpected_event=True,
     )
Example #4
0
File: view.py Project: buyrs/demozy
def get_user_info(dct: Dict[str, Any]) -> str:
    # See https://developer.atlassian.com/cloud/bitbucket/bitbucket-api-changes-gdpr/
    # Since GDPR, we don't get username; instead, we either get display_name
    # or nickname.
    if "display_name" in dct:
        return dct["display_name"]

    if "nickname" in dct:
        return dct["nickname"]

    log_exception_to_webhook_logger(
        summary="Could not find display_name/nickname field",
        # We call this an unsupported_event, even though we
        # are technically still sending a message.
        unsupported_event=True,
    )

    return "Unknown user"