def match_and_execute(self, input_api, requester_user, show_secrets=False):
        """
        Try to find a matching alias and if one is found, schedule a new
        execution by parsing parameters from the provided command against
        the matched alias.

        Handles requests:
            POST /aliasexecution/match_and_execute
        """
        command = input_api.command

        try:
            format_ = get_matching_alias(command=command)
        except ActionAliasAmbiguityException as e:
            LOG.exception(
                'Command "%s" matched (%s) patterns.', e.command, len(e.matches)
            )
            return abort(http_client.BAD_REQUEST, six.text_type(e))

        action_alias_db = format_["alias"]
        representation = format_["representation"]

        params = {
            "name": action_alias_db.name,
            "format": representation,
            "command": command,
            "user": input_api.user,
            "source_channel": input_api.source_channel,
        }

        # Add in any additional parameters provided by the user
        if input_api.notification_channel:
            params["notification_channel"] = input_api.notification_channel

        if input_api.notification_route:
            params["notification_route"] = input_api.notification_route

        alias_execution_api = AliasMatchAndExecuteInputAPI(**params)
        results = self._post(
            payload=alias_execution_api,
            requester_user=requester_user,
            show_secrets=show_secrets,
            match_multiple=format_["match_multiple"],
        )
        return Response(json={"results": results}, status=http_client.CREATED)

        Try to find a matching alias and if one is found, schedule a new
        execution by parsing parameters from the provided command against
        the matched alias.

        Handles requests:
            POST /aliasexecution/match_and_execute
        
st2api/st2api/controllers/v1/aliasexecution.py