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"
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, )
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, )
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"