Workshop: Deploy DevOps Change Velocity and achieve first value
all right um why don't we uh go ahead and get started um all right so today we're going to do something special uh we are going to have a Hands-On uh workshop for uh devops change velocity product and what that means is uh if you've registered uh beforehand you would have received an email with instructions on how to uh set up an environment to participate in the lab also there is a um a reservation page I'm going to show you to get an instance for the lab so there's two parts of it there's the devops uh change velocity Solution that's on a servicenow instance and we'll give you one of those and uh what we're hoping is if you've if you've read the instructions you've managed to create your own Azure devops environment as well okay but first a couple of uh housekeeping things here we have the Safe Harbor notice basically what this means is I don't anticipate talking too much about the future direction of the product or any features that might come up but this basically means if I do happen to do that it shouldn't be construed as a contractual obligation and uh so uh however you know anytime we do talk about Futures we are making the best effort to uh make sure those arrive on time those features uh I'm Joe Auffenberg I'm an outbound product manager uh in our devops business unit we also have some uh some of my colleagues on the phone we have uh Ananda here he's our uh he's our director of product management here at servicenow we have Eileen Liang she's also part of the product management team uh great and Buckley is one of our Engineers that works on the product he's one of our lead Engineers for devops change velocity and uh uh and this is what we're going to be covering today uh so the first thing I'd like you to do is um is go ahead and reserve your instance so you should see a link here um and whoops sorry about that uh and this link uh with C Labs link devops WS there's June there's 6763 this will take you to a page that that's going to then request that code now the reason I'm asking you to do this now is because in some cases it can take a little bit of time for that instance to wake up so this way by the time we go through some of the slides and we switch over to the live part of the workshop you'll be you'll be ready to go uh some of these instances might even though they appear awake and you can log in uh They Don't Really wake up until you log into them and that's been our experience that kind of like a uh if you have teenagers at home sometimes you have to wake them up once or twice or three times even before they're ready to start their day so this is uh very similar to that so first let's talk about I'm going to put this link I think in the chat just in case uh maybe if we can go ahead and do that Eileen so so that everybody can see the link in the zoom chat yes it's in the zoom chat so please uh register there okay so let's talk about why we need this solution you know we've uh we've had customers uh servicenow coming to us for about five or six years now saying hey you know we have these devops teams and they and they've automated all the steps of their of the of their software uh delivery life cycle uh all the way through the production right they have these things called devops pipelines and they want to deploy to production and right now the change management process doesn't allow them to do that they have to open up a change request they have to attach all of the documentation to it uh the test results the security scans uh there's usually a lot of interaction sometimes is even a change approval board that they have to you know that only meets every couple of weeks so we needed to solve this problem uh and we did this by automating the uh the the events and the um the creation of this change record so the events that come in from these devops tools allow us to create these change records in our automated way so the solution today is very much about uh connecting to these devops tools right because there's tons of them and it's really fragmented and it's really uh difficult to understand you know across the life cycle what tools are involved right and there's a lot of uh fragmentation in that area and then it's it's difficult to to have traceability across this from beginning to end when I say beginning I'm talking about the the ideation process very beginning uh in let's say your jira projects or your or your Azure devops board projects where you create your work items your defects your bugs and so forth so we want to be able to capture that information and then provide traceability all the way through to the production deployment and that includes Gathering up all the data for the change record and what's going to happen is this is going to help us speed up time to delivery but also it's going to give a lot of time back to the developers so help us solve some of these challenges you see on on the screen here so so just three key points is they're going to get time back the Auditors are going to be very happy because they're going to have comprehensive change records and the uh the pipelines are going to go faster they're going to be able to deliver uh features and fixed bugs and defects they're going to be able to do that faster and get that out to production faster uh what we're going to do today okay so just to take you through how the solution works is we connect to your devops tools and we basically uh provide them the information they need to send us events so we get all the events uh in uh from all the tools that are relative to what we're trying to accomplish here which is automate the creation of a change record but we don't just automate the creation of the record uh we also uh populate it with lots of really good information that comes from the devops tools and that comes from the devops pipeline such as uh what's being changed right the commit record so who's changing it uh why is it being changed right we get this from the work items in jira or our own SPM solution uh what are some of the risks involved did they pass all the tests uh and once we have all that information we could take it a step further by automating the approval of that change right and at the same time while we're collecting all of this information uh we're also being we're also able to provide uh we give back the information through these development teams on on these insights dashboards and and these are not just you know change management data this is this is also very much data that they use industry standard devops data like the Dora metrics or the flow metrics for Value stream Management on these dashboards okay so just uh to understand uh help you understand we're not replacing any of the systems of record that you use today in your development environment so if you're still using jira that's great we're going to get the user stories from jira if it's Azure devops boards or rally we're going to bring that data into the platform uh when they develop and they build their applications uh we're going to get information from git we're going to get the commit records we're going to get the test results and when the pipelines run we're going to get all of the stages of the pipelines and all the statuses of those stages and and especially when something is deployed to production we're going to be able to create this change record right so you'll see we have all the different pieces of the puzzle that we need to create this comprehensive change record and that's very much our operational systems of reckon for the most part this is one way we could do this in a passive way without disturbing the development process the application development process we we want to do this uh uh in a passive way however we are a very valuable source of feedback servicenow has tons of feedback data like incidents and outages and availability information and information from the monitoring tools that we could provide as feedback back to the developers so it's very it's very important that the development teams understand that they're not just providing access well also we also have the ability the the ability to give them back some data okay so what we're going to do in the lab today is uh is is basically connect uh your devops change velocity servicenow instance right so by now you should have been able to reserve your instance and connect to to one of those lab machines and also connected to an Azure devops project okay and in that project we're going to have some work items we're going to have some pipelines that you can run and then you'll see how this setup works and how we can then connect uh to the Azure devops and discover the pipelines and then when the pipelines run you'll see how we can create a change record okay at this point I'm about to switch over to the lab Eileen I have any questions in the chat how we doing in the chat yeah don't see it at this time but um for those that haven't please make sure you have your instance uh reserved from the one of the previous links and download the the lab guy the PDF is there in the chat as well yeah great so what I'll do is I'll switch over um what I can do is I can bring up that registration link so everybody can see what's involved there and I'll go ahead and reserve an instance as well um we'll just go ahead and do that this link here okay no that didn't work I missed something I'm not paper there okay so the registration link is going to look like this you're going to type in uh let's see my uh email in here we register for the lab you'll get a link for the lab and if you click on the magic link that'll take you right in and then also from here you could download the uh the getting started guide right so I'm going to first do that get the link to the getting started guide that'll download and then um I can then go ahead and click on the magic link and take me into the lab okay so when when we see the lab uh this is the lab I'll use for the uh for the duration of the workshop here and you'll have a similar lab if you go ahead and do that okay okay the other part of this is is as you see it can take a little bit of time to wake up the instance the other part of this is the um Ado invite so I'm going to bring up my Ado environment and if you'd follow along in the guide if you if you had this setup guide so this is uh the organization I'm using I have a uh Workshop 001 here um if you saw it in the setup guide there's a way to generate the project in your Ado organization and we use the Azure uh demo generator okay so I'll go ahead and do that the create products link I'm going to sign in and this will take me into um there and in the lab guy you'll see there is a link okay the link uh basically points you to a file that sets up the project okay so let me get that link up and running here so just so you're clear on what I'm talking about this is on this link is on page five of the lab guide now after the workshop is over these lab instances will disappear for a couple of days but this link should keep on working so if you want to set this up in your own instance you should be able to do that without a problem so you you you we provide instructions how to get a free Ado account um the free Ado account allows you to then uh to then um uh go ahead and then create this project the other thing you have to do with that free day yo account is with Azure devops they no longer allow you to run pipelines without requesting permission to do so the reason for that is because uh some time ago uh it became a problem where folks were using the free Azure devops agents that build jobs they actually started doing some Bitcoin mining with that which is uh obviously that's a problem that's not what the labs are for so you know it was uh so so they they added an extra step to get the parallelism working which is the ability to run pipeline so now I'm generating the project in my Azure devops this is the project I'm going to use for the workshop so at this point once we're done we'll be ready to uh start the uh Workshop okay how are we doing Eileen any questions has everyone been able to get their instance and download the lab guide if anyone hasn't uh that's okay feel free to raise your hand here or send us a chat okay once the project is created and this is one I had created previously this one is still generated it takes a minute or so to generate the project once the project is created the other part of this is to make sure in your organization you have the plug-in installed what they call an Azure devops and extension okay now there are instructions on how how to get this it's in the um the visual studio store maybe I'll just show you that real quick uh and that gives you the ability to install this extension in your uh environment and that's in this link here I'm just going to cut and paste it from the remote so you're going to find under the Azure devops in the in the in the marketplace you're gonna find the um servicenow extension okay you just do a search for service now and it's going to be the first one here and the latest one is the 1.38.0 and if you type if you click on Get It Free it'll allow you to choose which and the important thing is you need to log into this marketplace with the same Microsoft account that you use to log into um that you use to log into Azure devops right and then you'll get a list of all your Azure devops projects uh organizations and you and the plugin this extension is installed at the organization level so any projects you have in this organization will be able to utilize it okay we'll come back to that extension in a minute but that's that should be installed in your Azure devops environment okay all right so now I believe uh if you have this uh project created in Azure um let me go back to my workshop here right uh we should be able to go ahead and uh actually get a pipeline to run now we want the pipeline to run even before we connect servicenow to it just to make sure you have that capability okay so once the the project is created we're going to go ahead and create the pipeline click on the uh the the first line there get again this is all uh explained in the um in the guide okay this is actually uh the first step of the guide install and updated pots unlimited project in your organization this step here is going to be step five on page five of the lab guide so I click this and now you'll see there's a yaml file that represents the pipeline at this point if I have parallelism enabled I should be able to run the pipeline now there are uh two different types of Errors you might get the first one is uh you might see that you don't have parallelism enabled so it's going to tell you you can't run the pipeline it's going to give you a link to fill out a form to request it okay that takes a day or two so you're not going to be able to do that in time to complete this lab however if you got the email a couple days ago from Eileen then you might have had the opportunity to do that the other area you might get is that um the uh the pipeline itself uh doesn't oh you don't have the um the servicenow extension installed right uh so the pipeline itself makes a reference to it even though at this point it's commented out just having that in there might might create a problem where it's going to tell you hey this pipeline is referencing an extension that you haven't installed in your organization okay but if everything looks good the pipeline should kick off the first time you run this pipeline it's going to take a minute and a half to two minutes to complete okay so once you do that you'll have a a project with a completed pipeline uh the other thing you'll have is a repo with all the files in it including that pipeline file right and there's also the application itself it is a real application so the Parts Unlimited application one of the reasons I like this application is one if you're familiar with a book called The Phoenix project this this uh Azure uh tutorial application Parts Unlimited is based on the application from the Phoenix project which is a book that's kind of like a uh the story of devops Heroes saving a company and it's kind of a fun read uh it's called The Phoenix project so this application is based on that and then the other reason I like it is because it has everything we need to demonstrate the capabilities it even has um uh some config data you know for devops config if we want to use that in the future but it also has uh unit testing and functional testing and uh it also deploys a real application so if you if you want to get to the point where you actually deploy it there is a real application there called pots unlimited which is uh about ordering Auto Parts and so on so that's the uh that's the application so at this point we should have uh also work items right so the work items are also part of this and that's very useful for us because we're going to actually bring these work items into service now okay so you'll see the pipeline will continue running and eventually it will make its way and all these circles should turn green so you should see all stages of the pipeline complete and that that'll take about two to three minutes maybe longer uh maybe if we're all doing it at once at the same time the agents that are allocated for this type of thing in in Microsoft will be tied up a little bit so that might make it take a little bit longer I've seen that happen when we've done otherwise workshops for example so once this is complete then we're in a position to go ahead and start connecting uh servicenow or servicenow instance to this lab okay and it looks like it's just about to continue here for me okay any questions Eileen oh I do see one question uh what modules do we need to install on the servicenow side so that's a very good question uh the question is what modules do we need to know so first uh the only thing you need for the purposes of what we're doing here is servicenow change velocity okay so you'll see uh there's a bundle of applications inside the plugin manager in servicenow and uh I'll show you what that looks like uh that bundle has um all the prerequisites that you need and it's called servicenow change velocity it's it's one of the green shaded bundles when you go into the plug-in manager if you install that it will install all of the spokes and all of the prerequisites that you need this page always takes a minute or two to load especially in these very small uh lab instances um but that that's the uh that's what you want to check Eileen any other questions that I missed I don't see any other questions um but uh hopefully everyone was able to follow along you know have your instance the guide um Joe was walking through the Azure devops portion where you have the um the Parts Unlimited uh projects that you will clone into your ado all right Okay so um while this is loading I'm going to bring up the instructor instance here and we'll go ahead and continue with the lab there we go this is the devops change velocity radio this is the bundle that you want to install and it will install everything in uh and the versions you want okay devops change velocity okay so that's there uh so now you know which uh which module you need uh okay so now let's go back to our devops change workspace and we'll go ahead and get started with the lab we are going to continue uh it's it's called lab one it's actually the only lab in this Workshop because uh this is actually a subset of a bigger Workshop that we've given to the partners uh but we only have about an hour and a half so we figured let's get you guys started with lab one which is devops change workspace project onboarding and that's going to be on page seven of the lab here okay the first thing we're going to do is we're going to connect the tools okay so the process here is we are going to connect the tools discover the resources in those tools so for example in Azure devops we have we actually have pipelines and git repos and uh project plans right but in some cases we only have project plans like when we connected jira we don't see pipeline we only see project plans if you connect to GitHub you'll you're going to see see the GitHub actions workflow so those are pipelines but you'll also see the GitHub repos for example gitlab the same thing for orchestration you might connect to Jenkins you're only going to see pipelines and Jenkins you're not going to see repos so depending on what two you'll connect to you're going to see different resources okay in some cases you might need to connect to jira for planning GitHub for git repo and and and then Jenkins for your orchestration pipelines all three of those tools might be involved in a project and that's fine but in this case we chose Azure devops oops no this one here Azure devops because it's um it contains all three tools and it was uh it made the workshop possible to do in the time we had okay so let me go ahead and uh bring that up again Azure that wraps now when you connect to Azure you can connect at the organization level or the project level and um this is uh basically what we're going to do today in the lab is at the um at the project level uh so let me bring up that project again we will be Saturday morning ideas and in the case of a project the URL for the project comes after the organization and then the project so that's what we want and we're going to bring that into the um let's close some of these windows so I don't get confused uh here okay now the next step of this is pretty important uh this is on um on the lab when you bring up the lab guy here just so you see which one it is [Music] what we're going to do here and this is the getting started we connected the tools right uh The Next Step here is we're going to add the token the access token now where do we get the access token right this is on page uh uh eight of the lab guy okay so if we bring up the um we give it a tool name okay so let's call this Ado I mean of course it's at the project level I like to include kind of as a best practice the name of the project right so in this case it's ws001 so I'll do that Ado ws001 so now if I have other tools that a scope to different projects uh they're going to show here the other way you can scope access to projects is simply by the IDS that you use to connect and we're going to do that here in a minute so we need that token right so as this is happening here I'm going to switch over to the back to the uh project and I'm going to create a token for this person for this purpose okay so when you log into Azure devops right next to the logo that the icon that represents your name this little file here you have the user settings in that menu you'll have the personal access token okay now this token uh you see I have a bunch of them if it's your first time doing this you probably won't have any I'm going to create a new token now for the purposes of this lab I'm going to give you full access in the appendix of the lab guy because I know we we're always going to get these questions is uh do I need full access the answer is no there are specific properties that you can use but I'll go ahead and give it full access just to uh just to speed up the process and I know when you're doing this at home uh you don't want to have to deal with all the different permissions but however from a security standpoint uh you're going to want to scope that correctly and in the appendix of the lab guy we do provide those details and in fact once I that I copied it right I'm gonna leave that there and I'm going to go stick that in this access token field here and we're going to go ahead and connect now you see you have the ability to use a mid-server here you only need to use a mid server if you're using an on-premise Enterprise Azure uh devops server okay so that's uh that's that in that case you would need a mid server this is true for any on-premise tool like a Jenkins or a uh a jira server right you would have to use the mid server the mid server is like an agent that lives in your network and makes a an outbound connection of servicenow uh to basically allow us to communicate with resources on your network however because this is the cloud-based Azure devops we have the ability to go Cloud to cloud and no mid server is required okay so this will take a minute or two um again a lot of these uh lab resources are actually sharing uh resources in in in in the data center so when we're all doing this at the same time it can slow things down uh but for the most part this will take a minute or two and once this completes uh then we can start discovering the resources that are available in Azure devops and add them to servicenow okay so this is the permission check that I had mentioned earlier okay so we're actually taking that token that you provided and making sure it has all the permissions uh now we do this so that if you you know you don't hit any permission issues uh going forward but you see here I have uh everything turns green and then the permission check looks good um it'll flicker in and out of that screen a few times but eventually you should see that these are the actual permissions you need so this is the list of permissions you need what I did was I cut and pasted this into the lab guide so you would have it it's also of course in our product documentation right so I'm going to go ahead and continue um even if the permissions come back false you you in many cases you should still continue right because sometimes it's it's a specific capability that you're not even using that it says it's false but what I'm saying is it allows you to continue even if you don't have all the permissions just be aware of what the implications of that are okay okay so now that the permission check is complete uh what it's doing it's going and and looking through all the um the resources and we're going to go through them one by one so as I mentioned Azure devops has uh the capability to orchestrate pipelines but it also has git repos so and then it also has project plans so all of those capabilities exist in the Azure devops environment okay Eileen did you want to add anything here or perhaps uh graded or not at this point maybe we can just have a quick show of hands if people are able to follow along for able you know it to at least get you know open up the connected to Tool model um connect to Azure devops I believe in Zoom you can have some sort of emoji to raise your hand or oh there's a raised hand button on the bottom of the zoom bar if you're if you're able to successfully uh follow along here that's the point we didn't do that yet okay all right I got a couple of hands up um that I saw okay for the rest of the folks if you're stuck at some point whether it's getting the access token or getting the instance up yeah feel free to chat but it looks like Joe maybe you got got half the people here following along um yes thank you yeah I think half is good we'll take half okay okay at this point we we are not going to um go through and and restrict any groups or uh uh specify any owners what this allows you to do is within the servicenow platform actually scope who can access the tool record who can manage the tool record uh if you don't set these uh policies basically only the devops admin will have that capability and for all purposes that's fine um so we'll go ahead and skip that now this is a very important step what we're doing here is we're actually configuring uh these Azure devops instance to send events to servicenow okay so this is so the the and this is what requires a heightened level of uh permissions uh on Azure devops is just for this one function right here and what this allows us to do is basically uh tell Azure devops to set up a web hook and and those web hooks will actually send the events to servicenow as things are happening in Azure and this is how we get the real-time information now all of these lab instances have been set up with the same password for this devops integration user uh and that password is now for devops okay and that means um it's going to use this password on the Azure side to set up the web hook and this user doesn't have a lot of permission in fact the only thing the user can do is actually um visit is send inbound events into servicenow right so it's it's limited in uh scope as far as permissions go but once we have that in place let's go ahead and configure Azure devops okay I should mention that the O in now for devops and if you saw this in the guide that o is actually a zero okay so it's now now for Dev capital n and then capital B and then 0ps explanation there now for devops so you would can just cut and paste that right out of the lab guide okay now that we've done that um let's go ahead and select the plans in this case it's going to have the ws001 whatever the name of your project is that's going to be the name of the plan okay I'm going to select the plans now if this was just jira that we'd be done because jira only had project plans right but I'm connecting to uh the repository here for git we'll go ahead and do that and then of course these are the pipelines I'm going to select both pipelines and go ahead and do that okay so like I said if you're just connecting to Jenkins you'll only see pipelines you won't see give me books Azure devops is special and that it has you know both capabilities all three capabilities in fact okay assigning services to pipeline steps this is also a useful thing to do because understanding what happens in those pipelines and linking it back to application services and servicenow is extremely valuable to understand the impact of changes for example uh what services are impact what related services are impact uh normally we do this with the production deployment we're going to skip this step here because when we're not using that Pipeline and two uh it's just beyond the scope of what we're trying to accomplish in the lab but it's something that should matter some consideration uh is to understand what cmdbcis are impacted by events happening in those in those pipelines right okay so now uh everything is complete okay the next thing we're going to do is create a new application but before we do that let's go back into our Azure devops project and let's make sure those web hooks were set up okay so we do that and again this is in the guide what page of the guide is that uh we should be up to uh okay now we're up to page 10 okay so page 10 in the guide and let me bring that over here I'm just going to have that available to us here I'm going to maximize that I'm going to maximize this and I should be able to just swipe between them okay so page 10 we're saying okay we want to see what service connections and what web hooks were created okay so if everything was successful we go to Project settings and you should see the service hooks and the service hooks are basically uh you know specifies what events we want to send notification to servicenow about and that's that's what you see here so if that part worked you should see these service these service Hooks and then the service connection is we're going to reference this in our Pipeline and we want to create the change record uh in Azure devops you have to create these external connections you might see one for GitHub you might see one for sonar Cube you might see one for you know some other devops tools uh in this case we have one for servicenow as well and that's that was just created by that configure button that you just clicked on in the Playbook okay so if that looks good we're going to go back to our um label here and create a new application okay the other thing you could do if you don't have this open anymore let's say you left to go to lunch and you come back you could always click on the create application from the home page in the um devops change workspace okay so you have that ability to do that as well okay so um so this is where I'm now going to I'm going to go ahead and uh click on the create application here so I'm going to call my application box unlimited that's um that's the name of that application in that's the name of the project we're connecting to go ahead and create that it doesn't matter if you use a space or not you can do that I think I think in the guide I use a space so I'm going to go follow the guide and fix my type up okay so once we create the application uh we're gonna have now the application is a separate set of records and servicenow however we're going to link them to the projects and the plans and the pipelines we just discovered by connecting to the tool okay so here I can say let's associate the plans and if you want you can sort by the tools right so the tool that we're using and I'll find that uh that project plan that's from the devops boards okay we're going to go ahead and Associate that plan um we have work items in there that go back a few weeks I'm just going to make sure I capture all of those work items by setting this back uh you know at least a couple of months go ahead and import that data okay next thing we're going to do is is next thing on the list is associate the repositories now you'll list sometimes I've seen this in a different order we have plans repositories and pipelines it doesn't matter what order you do it I'm just going down the line okay we'll go ahead and Associate the uh uh the git repo there again I'll go back a little bit in time just to make sure I capture everything with the import then I'll go ahead and Associate the pipelines next okay foreign so [Music] when you're done you should have one plan one repository and two pipelines associated with the Parts Unlimited application okay now this is for the most part a manual step when you onboard an application however if you have like really good naming conventions where everything kind of begins with the same name or you use tagging tagging is another way to do it we have these repositories and the plans of tag we do have an onboarding API so if you wanted to do this in bulk and you had all the information you can create these app records and do the mappings in an automated way as well okay all right so once we've done that let's see where we are uh okay so now we want to see if we have the work items imported now this work item step takes a few minutes because behind the scenes it's actually importing the work items so that would be under plans you go to the plan you have and you should see about 120 or exactly 120 workouts okay if you if you can put it over okay so that's important because if the work items are not imported we won't be able to link them to the change record so even if some of these work items are several months old right uh and we might have it in some in that case uh then we can um we can still link them to work items it might be the case that when when you uh you commit some code you link a work item from two months ago we want to make sure that that's bought of the record keeping in service now okay so once that's complete uh the next step is to see if we can track the uh the pipelines but there's a few steps we have to do before that right tracking pipelines okay so if you run your pipeline in Azure okay so if we go to um back to the pipeline here in this is my project you see I ran it once already I'm going to run it again when you run the pipeline uh we're going to start tracking it now it's not going to create a change record yet that's that's a step we haven't done yet but that's going to come a little bit later and if you're tracking the pipelines let's go back to uh apps record from the pipeline tab okay the first pipeline is the Parts Unlimited pipeline if you click on The View pipeline tab this might take a second to load the very first time you do it over here oh there are no pipelines yet okay probably going to be a minute before we get that pipeline recorded okay so the pipeline is running now usually it won't show up until the first in fact it definitely won't show up until the first stage is complete okay so the first stage has to complete and then we'll start seeing the um the pipeline record because that's when uh Azure devops will start sending us events that this pipeline has started it's basically the the stages of the events have to complete and then we'll start receiving the events and then they'll show up in service now okay this takes a minute or so Eileen so maybe another good point to stop for questions yeah does anybody anywhere that we should maybe revisit or just conceptual questions as well Joe I think a lot of people are following along though I just at least watching minimally so yeah yeah well it's hard to watch and do the work at the same time so I think it's going to be and take a quick little pause here and that people catch up okay [Music] so I should add that um you know not not all the data is collected in service now like every single bit of detail for example from your project plans right uh when you when you look at the work items there's probably tons of worth notes for each of these work items the work notes are not really all concerned uh if you wanted to see the work notes we do provide a link to that work item in Azure devops right what we're concerned about is basically the type of work it is and also the stage that the state that it's in in this case it's a work in progress so those State changes are very important because obviously uh they they impact you know the whole uh change the deployment uh production process uh but also um the uh the type it is we actually record lots of metrics and data uh for example how long does it take to resolve defects versus how long does it take to deploy you know new features for example so those capabilities are all tracked in the in the dashboard and we'll look at the dashboard at the very end of this so you can see the data I mean the whole point of you know one of the values one of the immediate values you'll get from this is uh is the uh the data being collected in the lab right um in the tool I just want to check one thing here okay so uh this we're done with let me close this and back to uh pipeline here okay so now that the pipeline is pretty much ran through the completion and we click on that view pipeline okay we're going to go here a few times during the lab so let's make sure that um that you know how to get here okay so now I see this is the the execution of that pipeline in Azure devops it'll load up and we'll see all the uh new stages here now what if you don't see the pipeline here and it's taking a minute to load um a couple of things that might have gone wrong but yeah you see the test results are here the artifact is here there were no commits right I just ran it without committing anything but it did accumulate some commits that had existed before the last run so that's one of the other features it will make sure that all the commits are accounted for all the test results uh if you're doing some quality scans like with sonar Cube they would show up here in this case we didn't open a change record uh we just billed and created the um the artifact right but we're going to make some modifications through that pipeline in just a minute now if you don't see the execution of the pipeline in service now the the thing you should check is the uh is those web hooks okay if they're firing incorrectly um here you will see them uh some red uh in these attempts so here I have three succeeded when the pipeline ran there was three state changes and those were three if this is red that means there's something wrong either you have one some kind of firewall issue or maybe you provided the wrong password for the devops integration user remember that stage of the uh of the Playbook actually created these web hooks right so it can talk back to servers now and if you put the wrong password in you're going to get an error here right so that's the first thing you should check okay if that didn't work for you all right so the next part of this lab is is now that we have the pipelines executing here okay when we see the stages uh we're gonna uh and this is the last part of the Hands-On lab we're going to go ahead and we're going to update the yaml file okay uh to actually create change records but before we do that what we want to do is go into the steps of the lab and and and basically set what the behavior will be in service now when these events come in you know how are we going to create that change record what type of change record are we going to create okay so to do that uh let's go back to our workspace here and go back to our Parts Unlimited pipeline record so if you don't know how to get here if you close this window here from the details from this tab here okay we're going to click on the pots unlimited application and then we're going to click on the pipelines okay and then the pots unlimited pipeline will have all the steps in it right the only step we care about really is this precondition what we've done is we've set up a step specifically to open the change record okay now we're gonna make sure that when we do open the change record uh we click this box and we're going to fill in what type of change record to open and what some of the information should be okay so we're going to do a we're going to mark this as a prod deploy very important that we set this up so we know uh statistically uh what type of Step this is okay and that again makes its way into the dashboard for all of the record keeping that we're doing configuration item we're going to select there's Parts Unlimited okay and the approval group in this case we're going to use application development so this is just what I have in the change approval process basically we're not changing your change approval process here what we're doing is we're taking the normal change approval process and we're making sure that uh it's accounted for uh whenever you have these devops pipelines uh and then of course you could automate the the stages of that change approval process you know based on some of the data you're getting but the first thing we want to do is make sure that then when this step executes we get the um you know we get the correct type of change record open okay so I'm going to go ahead and save that now why in normal change why not a standard change you know I get this question sometimes too uh normal changes are basically it goes back to the idle specification right if you're updating uh application code or you're updating you know infrastructure is code in terms of the configuration data and then you're deploying it through a pipeline this is something that's never been done before this type of change this this specific change to the application hasn't been deployed before in production so it has to be a normal change that's the Ito uh uh requirements for that so we recommend as a best practice that these changes are normal changes uh you might want to use standard change because it's faster and it makes its way without going through the change approval board well automated approval policies will actually make the normal change just as fast as those standard changes if all the conditions are met so that's very important we're not giving up the governance of a normal change we're not giving up the criteria for approving the normal change we're just approving it in an automated way okay so I'm going to go ahead and save that and now that this is saved okay again back in the uh in the document here this is step three of lab of the lab four here this is step three on page 15 of the lab guy okay so we're moving we're moving ahead at a pretty fast clip uh that I guess that's a good thing okay um so now that we've done that we should be able to uh go and edit our pipeline okay back in our Azure project now what we've done is we've already added the steps you need to change in the um in your yaml file here now if you're using a Mac you basically can uh I believe it's the same on Windows you have the little Windows button on your keyboard next to the ALT key and you do that with a forward slash or on Mac it's the command key and a forward slash that will remove if you highlight this in the pipeline editor in Azure devops that will remove all the comments right so now we've done that however um this is still incomplete you see we have to replace this with our service connection remember at the beginning of the lab when we clicked on that configure button in the Playbook it went and created the service connection to connect back to servicenow okay we're going to select that service connection now click on the add button okay and now we're going to save this okay and we'll go ahead and save that all right now these pipelines are not triggered to run in in an automated way so this won't kick off another pipeline uh basically uh what you can do is you could have any commit actually kick off a pipeline they call that continuous integration right we don't have these pipelines set up for continuous integration so just saving the pipeline won't kick off a pipeline we have to actually actively run it but we're not going to do that just yet I believe uh for this to um what we're doing in the lab is we are going to um okay we've done the service connection we're actually going to make a change to some application code and it's really just a readme file right we're not actually changing code but we're gonna we're gonna make a change to Something in the git repo and then we're going to commit it and and when we do that then we're going to run the pipeline okay how's everybody doing are we up to this point uh is everybody up to this step in the lab good thumbs up just looking at the attendees link it looks like uh I'm doing pretty good here yeah okay so now um we're gonna go to our Repro so did I did I just want to make sure I saved that so I'm going to go back to my pipeline click on edit and I should see everything there yeah that looks good okay now I'm going to go to the repo and this is basically what a developer does every day right they're probably not using the the repo editor for this but they might have like eclipse or uh you know one of their IDE tools that they go into and they make changes to things in the Repro in order to make a change you have to click on the edit button of course I'll just add a few lines a few spaces to this and I'm going to go ahead and Commit This okay so developers are constantly changing code and committing their changes back to the refund right and when they do that as a best practice we expect them to link uh like let's say a bug you know or something in in into that commit basically telling everybody why they're making the change to the code it's to resolve this particular bug right and I'll go ahead and commit that and now that change has been made uh that why is very important because when we have a change record we also need to know the why why are they making this change to production so you'll see not only do we show you the permit record but we also show you in the change record the work item that's attached to the commit record and it's and it's a very important uh you know best practice that we expect developers to follow and if they don't follow it well we can say Hey you have commits without work items right you've committed code without work items we're not going to Auto approve this change we're going to escalate that for a manual approval for that very reason okay so now that I've done this I can go to the pipeline and click on it here and we're going to go ahead and run the pipeline okay now when you run the pipeline you know some pipelines are you know more complex they might have variables and things you might want to specify different stages we're just going to run the pipeline as is and this will kick off another pipeline this time we expect the the deployment stage to pause okay it's going to pause because it's going to be waiting for the approval of the change record okay now this takes a minute or two so this might be a good time to go in and talk about the um some of the data we have on the insights dashboard here okay so as you see as we're running through uh these pipelines we are collecting lots and lots of data and basically what you'll see is on various tabs of data you see here uh and then they get summarized on this first page I do want to call your attention to a couple of these tabs right we have the uh accelerate metrics where we call them the accelerate metrics but most of the industry they'll know these as the Dora metrics so these are four uh metrics that actually came out of a project at Google called devops research and analytics Dora and uh what they were tasked with it was just making sure people are adopting devops by getting the benefits of devops uh not just at Google but you know organizations all over the world and so they came up with this working group the devops research and analytics team they started producing a report called the state of devops and you might have seen it if you Google it it's actually co-sponsored by puppet most years so every year they release a report the state of devops and they needed metrics to measure the state of devops in different Industries so you had um Finance you had retail you had insurance companies you know which Industries are doing the best adopting devops and they came up with these four metrics to measure it what we allowed you to do is to measure these metrics within your own organization so you can say you know which particular business app you know is it the hotel app or based on the cmdbci business app right we can attach that say okay show me the metrics for that particular group and how well are they doing uh or you know which git repository for example um uh what are their metrics looking like and so on so those are the accelerate metrics or the door metrics we also have other metrics like the flow metrics so once you connect to the tools and the events start coming in you'll be able to populate this dashboard now there's a couple of performance analytics jobs that we need to turn on we'll do that at the end of the lab but this data here is populated by the devops tools right so for example this one here commit to deploy lead time you have a commit a developer commits something how long does it take for that commit to get deployed to production so we know we can we catch the commit record you saw that but we also catch from the pipeline the production deployment record remember we set that pipeline stage to indicate that was a production appointment well that helps us understand the the two time stamps we need to calculate this uh commit to the point lead time okay so those are some of the metrics you have we also have flow metrics from value stream management so you should see this in your instance we loaded this demo data so you can play around with it and see what data you have quality metrics coming from the uh the software quality tools that apply audio pipeline a lot of good development metrics permits active committees top committees uh you know the top converters which are usually the top committers right and then of course change acceleration this is very useful this will actually help teams adopt the the servicenow devops solution they'll see hey these other teams are doing well getting a lot of automated changes created we want to have automated changes too let's see if we can improve our automated versus manual change numbers right and so all of this data is available but also you know help identify which teams might be best suited for uh adopting an automated change process okay so how are we doing in our pipeline here uh okay so here's our Pipeline and as I said it's going to pause at the uh change acceleration stage here basically it's waiting for a change to be approved okay what that means now I should have a change and if I go back to my workspace here go back to the change workspace let's go back to that pipeline UI for that particular pipeline and we'll actually see the change record there okay it's uh it's still alive this machine you guys still with me how's uh uh how's it going okay there's my uh back to my workspace let's go to um uh my application it's this one here right okay let's uh go to the uh Lots unlimited application the pipeline and then we can view the pipeline by clicking on The View pipeline button okay there we see our new pipeline okay but before the production deployment happened and it didn't happen yet we see that there's a new change record here okay let's take a look at that change record and here we see we've captured data from the pipeline itself okay so for one uh we have the artifact that was created the commits uh the the uh software quality summary okay test summaries and work items so if you look at the commits these are the commits that I made and uh if any of these commits um are the link they should also have work items attached to them why might you not get the work items well remember I said if you don't have them on the list if they weren't imported then they might not show up here and that seems to be the case here but normally you would see the work items attached uh and so on um the uh software quality data all right we get that from you know most of the time it's from a tool like sonar q that does a quality scan if that's part of the pipeline we'll get that data and then the test summaries is going to show you the results of all the test passage this should match up exactly with what you see in your Azure pipeline okay so if we you know close this because I keep clicking on it uh if we look at this pipeline execution uh in Azure right and if we go back to um here there's a tab called test any plugin that you have that's executing test cases in your plug eye in your in your pipeline the results are going to show up here so if you're using junit test NG uh some of the other tools like selenium for example they report their test results to the test fed within the pipeline we'll pick that up and Report those results here we get that information directly from the pipeline in the case of sonar Q we actually will make a separate request to get that software quality data into the change record so you'll see in sonar Cube you'll see things like you know bugs and we'll see uh security scans and and so on I see a lot of that um I see a lot of that data is very useful for using it in your change approval policies okay so that pretty much if you get the change record and you get the data that you see here that pretty much concludes what we were trying to accomplish with the lab a couple of things I want to point out to you um in this particular lab right we we didn't set up the change approval policies however this particular change actually wouldn't have been approved because we had commits without work items for one but also the test results have to be a hundred percent in this particular pipeline the test results are only 75 so this is an example of uh of you know some of the criteria you might use to automatically approve the change so the change request was reached a manual approval so that means that somebody has to improve it right so I'm going to go ahead and approve it and I think I'll do is uh set brushra is the approver um go and approve it say that so whatever you have in place for a normal approval in your instance of service now that's basically what's going to happen at this stage it's going to follow the normal approval process now you can you can also um let me see this might go to uh if you have Cab For example uh it will go to cap right but the idea here is we want to be able to automate as many of those stages as possible by looking at the same information the cab would look at looking at the analytics of the uh the test results and so forth so uh if that's taken place um then you should you know we should be able to step by step go through this and you see these changes are no longer required now that this change now should go to a um the Implement stage and once that happens that pipeline should go to completion you see and that's what happened here the pipeline um basically received that the change request was approved it was okay everything went appeared and then it can deploy the application so the application deployment won't kick off until that change record is approved uh you could also reject the change right if you reject the change then um that you know that pipeline uh would fail um would fail in Azure devops okay so that pretty much concludes what's in the lab guide uh the other thing I wanted to show you we talked about the devops uh the data here in the in the dashboard right we don't turn the jobs on to uh to to aggregate this data by default so I'm going to take you through the steps you need to do to turn that on so from your in your instance uh you want to go to your performance analytics jobs and then you want to search for the devops jobs is I think there's three of them or maybe there's four of them now and this will um this will bring up the okay so these are all the uh you know see and now if I search by uh I'm gonna bring up all of them if I search by name I'm looking for devops right these four jobs we want to make sure that they're active only a couple of them are active Okay but we're gonna we're gonna make the daily collection active okay and we're going to make the historical one run at least once okay so we're going to go ahead and uh in order to save that I gotta change my scope I'm going to set this to active making sure it's running as the system administrator and I'll go ahead and click if you click exit view now it actually saves the record I found so you don't have to in one clip you can save it and activate it and run it at the same time uh okay now let me go back to that other historical one this one you can if the other ones are set to true then that's great you can leave this one you can just run this one on demand you only need to run this once this will take all the data that had ran previously uh that we aggregated and added to the dashboards okay so um I'll go ahead and change my scope again and then I'll go click on execute now uh you don't need to activate this on a daily basis like I said this is just a one-time job and we'll go ahead and run that okay so that would be that would get you everything you see in this instance so you'll have connection to your devops tools uh and then from there you'll be able to start collecting the data which is very valuable and it's not identifying teams that you might want to uh set up for adoption okay uh any questions anything maybe Eileen anything you wanted ahead at this point so that's the end of the dock yeah uh for free um I can also unmute people if you have any feedback or questions right at the highest level you know we we took a tool like Azure devops you come into to devops change velocity you connect your tools like ADL will automatically get all the events for those tools whether it's pipeline executions commits work items and its updates and from that it's really powerful right Joe shows your insights we showed you know using that devops data for trace of building your change requests automatically creating that change while pausing the pipeline so there's a lot to do with with that data we have connections out to the cmdb as well um so uh yeah uh just brief pause here um uh we're allowing you guys to speak up as well so if you have uh any questions just general comments or feedback um I know it was a little tough to follow virtually in a workshop with um you know looking at a screen and doing the actions at the same time but uh yeah uh feel free to unmute yourself at this point if there's any questions or feedback we'll pause for a little bit okay we do have a poll right hey so you'd be dude do we uh but question mark is uh oh that is good so what are your next stops your next steps for devops change velocity should see a poll on your screen uh just take a second to pick a choice if you want other or unsure there as well if you're just here for information or wanting to know more specifics of how to connect um you know we're also happy to reach out and do additional uh fall on sessions as well right it looks like uh we got uh one participant um okay we got a few more here seems like everybody wants to test this out in the next uh in the next few months okay let me jump in here and so it seems that we have unmuted lines I'm not sure if if Kieran Marcus Stefan are you still with us and if you are love to just open it up in just a quick uh dialogue or a feedback for us because uh doing this kind of a Virtual Lab virtually uh it's pretty tricky and so we are experimenting too uh you know if you're still with us love for your feedback to us did it work like what can we do differently uh and whoever wants to come off near the Iran Marcus Stefan maybe not uh that's fine uh but uh you know if you're still hearing this or look at this in the recording I would love to get your inputs offline to a little later yeah oh yeah sorry I was having trouble um picking buttons in the poll is just it just seems to read only to me as you can hear me but um yeah so a little um so we've um I'm a process leader I'm not a techie at all and so I was just kind of watching but I've got my servicenow developer talking to one hour one of our Ado developers they've already managed to make a connection in it at all um and a built a basic pipeline um but they're a bit stuck in terms of getting some other information to uh to transfer from one to the other so um maybe uh maybe uh we could have a if you've got you can offer one of your techies and I can set up a meeting with my techies and hopefully you can help them out yeah absolutely that's something yeah and microswitch we can definitely do that in order to share your company on the one call here but uh definitely we can configure the dialogue uh post this you have Jose and Eileen's contacts if you don't we should probably share with you feel free to reach back to it to us you can connect together and the same thing we can do with you to Stefan and and Kiran and whoever let's let's do this later okay I guess the last thing I wanted to leave everybody with was just this slide here and uh just let everybody know you don't have to you don't have to jump in and do change automation all at once there's a lot of value from just connecting the tools uh there's a capability that allows you to take the data that that you collect from the uh from the tools and and simply attach them to change records so if you add a change record you can search for the data and then go ahead and um uh and add it selectively like in a manual way and then of course you can have change records that open but don't you don't take control of the pipeline right you just record the change records as record keeping but you don't interfere with the pipeline you know these three steps here you could do in more of a passive way the change automation actually involves creating policies and and working with the devops teams in a more intimate way so that you know this this would take some time but I think the first three uh stages of this adoption Journey you can do it in a passive way without where the developers keep doing what they're doing you collected you connect to their tools you collect the data and you you basically create these uh change records and then automated right without taking control of the pipeline so that might be a good first couple of steps uh and then of course the governance around change automation is extremely useful as well of course so that's something you're going to learn to do okay so uh I guess that is it that kind of concludes the uh the workshop today I want to thank everybody uh who participated some of you actually uh took the time to register for a lab and and Reserve an instance and connect to an actual ADL environment which is great others you know you just followed along on the screen that's great too uh hopefully this will uh inspire you to go back and work with your teams to you know first set this up in a Dev environment and uh we'd love to get some feedback on and hear how that and hear how that goes right all right well thank you everybody I think uh at this point we will uh conclude the workshop there's no further questions have a good afternoon thank you
https://www.youtube.com/watch?v=Hzf4QTyWW5Y