{'fraction_non_alphanumeric': 0.013450292397660818, 'fraction_numerical': 0.0, 'mean_word_length': 5.003508771929824, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Centralized Framework to Send Notifications from Multiple Tools and Services on Multiple Messaging Platforms

Abstract: One of the reasons for advancement in the field of technology and IT is that a lot of tech companies constantly innovate and come up with new ideas and products. Apart from the mainstream products and services, organizations also have a lot of tools and services to support the software development life cycle of their product. Different engineering teams would have different sets of tools and services that are used internally within an organization. Every patch of code goes through the phases of the software development life cycle which takes a considerable amount of time. Developers have to proactively monitor the status of the runs, jobs that validates their patch. This can block them and waste a lot of time. Notification is one of the means to inform users. Notifying developers at the right time can save their time, they can triage issues if any, or merge the code to production or take appropriate actions based on the status. With the growing number of tasks, runs and jobs being triggered, a notification feature will add value to the service users. But developing notification modules for all the services individually can be inefficient. A better solution would be to have a centralized notification framework that is capable of sending notifications from multiple services. This paper presents a generic notification framework that can be integrated with any kind of tools or services and will be able to send notifications on any messaging platform. The framework also addresses aspects like scalability, fault tolerance, reliability, maintenance and works in real-time