Here is a demo in support of a Proof of Concept for my Network Management and Automation class at University of Colorado Boulder. I configured a Github webhook to build a Jenkins pipeline whenever a commit is made to a specific Github repository. When the Jenkins pipeline starts, it runs Python code that pulls configuration information from a CSV file, and then uses Ansible and a Jinja2 template to create configuration files for the eight routers in the topology created in GNS3. Once the configuration files are created, the program will use Netmiko to configure the routers with the appropriate configuration file for each router. Once the configuration is complete, Jenkins will move on to unit testing. The unit test script does some basic connectivity tests and checks BGP neighbor relationships to verify the new configuration is working. Once unit testing is complete, it will send an email letting me know how everything went!