Creator Toolbox - Managing Dev on ServiceNow Part 2
[Music] welcome to creator toolbox we've got a great show for you today this is a continuation from the last episode so if you are watching this live thank you very much if you're watching it later and it's been recorded i invite you to go back and look at part one not necessary but a good intro let's get on with our introductions uh andrew go ahead thanks chuck i'm andrew barnes developer advocate here at servicenow and i specialize in managing large-scale development deployment uh among other things on the platform which is why today is so exciting and brad hey everybody my name is brad tilton i've been developing on the platform for a while now and i'm excited about today's show uh managing large scale deployments is not one of my specialties so i'm i'm looking to learn some things my name is chuck tomasi senior developer advocate at service now been here since 2010 customer for a couple of years before that and a history that goes back to the uh i forget if it was the devonian or the mesozoic era but it was one of those stone age times and this is this is a topic that's that we get a lot from our customers especially our large enterprise customers that have lots of developers and they're looking to manage their applications and their deployments so i with that i'm going to turn it over to andrew all right so as chuck said last week we did uh part one of this which was covering update sets and how to raise your maturity level with using update sets in uh servicenow to manage your uh development but there are other options um and we're going to explore those today so we're going to look at both the application repository and source control as options for how to manage your development and move your development between instances and control things like branching for your development segregation between developers and features so with that are there any questions from either of you before we dive into the screen share um you want to save announcements to the end we should do announcements right now okay wow you're you're the man with the marketathon news so let's talk about the hackathon first i've got the first one yes uh so uh the annual hackathon uh for knowledge uh is coming up here in 11 days from now uh so it's going to be start on may 8th and go for 24 hours and you can go to register at the knowledge site so you register for knowledge and then you can go search for the hackathon and register there for the hackathon and then you'll receive information on how to create a team and you can either create or join a team and come and join in our hackathon there are some cool prizes um and uh this team will be participating uh so we'll be building stuff live on stream as well during the hackathon we just won't get to win any of the prizes uh but but we're actually gonna use the app afterwards so that's our prize is no one will bother us while we're building this app on the stream [Laughter] so come join us for the hackathon i'll make sure that we have the link to that in the description here and i look really looking forward to that and as andrew alluded to we've got knowledge coming up may 11 12 13 and then the following week 18 19 20 so two weeks of groups of three days knowledge.servicenow.com is where you want to go for that the developer content a lot of that's going to be contained in the creator console look for those sessions that start with cc or the labs that are ccl just lots of great stuff keynote is key 4004 i you know you've you've done this too much when you've got the session ids memorized look for the keynote there's all kinds of great stuff fred did you did you release the blog article yet or not oh we do have a blog article coming out today i just checked it's not released yet uh that's going to list out you know what what you need to know before you go to creatorcon and we've got lots of different sessions uh fun sessions uh all sorts of of things uh and those are kind of uh listed out in the blog post so check the developer blog today and you'll have a lot of information in there yeah if i'm not mistaken this is the 27th don't we have a newsletter coming out today too we do have a newsletter coming out uh later this evening and tomorrow depending on what your geo is watch your mailboxes for that there's going to be a lot of good stuff in there too yeah we do have some fun sessions for knowledge um especially some of the ones where well at least we think the ones we're doing is fine ask me after knowledge how fun it was uh so let me go ahead and transition us into a screen share all right so i will start sharing my screen now um so we are going to hurdle through some of these things today because we've got a lot we want to cover um so uh you know please ask questions in the chat if uh you know you have a particular question that we don't dive into uh directly um so i am in so i've got uh three instances set up here they're all in the same company so to speak uh so they share an application repository and if you don't know what the servicenow application repository is it is a um it's a place uh in servicenow to store your applications um versions that are ready to be moved between instances so it's kind of like source control but without the extra features of something like git so it doesn't have branching for example so it's not for development storage uh it's for really for storing uh potentially publishable versions of your apps so speaking of source control let's dive right in and import an app from source control so i'm going to import from source control so i am in this instance here and i'm going to uh come over to github i've got an application in github that i'm going to load into this instance because i need to do some development against it you'll need credentials so one thing to note here is uh to interact with any source control based um repository in servicenow as of paris i think it is uh you need to have read write access so you'll need a credential record and you'll need read write access so you can't for example just pull down a public repository that you only have read access to you'll need to fork that repository so if you were on a public repository that you only had read access to you click this little fork button there that will create your very own copy of that as it exists right then and then you'll have uh read and write access to that so with that let's go ahead and get this importing did i already do it that's possible uh well let's grab a different one then it's it's possible i may have already imported this one uh so let's go grab a different one oh how about the link in spoke that's a good one let's grab this one linkedin spoke import so the very first time you do this so i was in studio and i did import from source control this is importing this application uh you know fully uh from scratch here so now i'll be able to select that application the linkedin spoke and i will have all of the contents of this application loaded in studio for me to be able to manipulate it i believe that yes that one was just a shell but we can switch over to the one that we wanted to see which was slack points thing which i apparently imported about 30 minutes ago making sure everything was working so i have this full application loaded and i can uh so anything in studio can be stored to source control so you say oh well how do i get my application into source control and so if you already have an existing application the way you link it to source control is in studio you select that application and you click the source control tab and then you're going to use this link to source control option and so that will need to be an empty repository in which you're going to then store this application in source control the next thing that i want to look at here is i'm a developer and i'm ready to do some development on this application so what do you think uh having watched last week how i did that process for update sets where where do you think i would do that uh sort of similar thing here um brad or chuck what what do you think i should do if i'm going to start doing development in a source controlled link application i'd either create a new you're talking about just making a change yeah i'm going to make a change i'm going to i'm going to go work on a story okay we you've either got uh your navigator down the left-hand side to pick one of the files that you want to work on a business rule at acl script include whatever or you could create a new one absolutely but there's a step before that that i actually want to do when i'm gonna work on a new feature for a story um which is going i'm gonna create a project oh create a creator yeah so i'm going to create a branch and the i'm going to name my branch base the same way i did for my update set so we have a pattern that we're using in our development team and so i'm going to name this story 4001. and the name which is fix the cake so we're going to create a branch and i need to not have spaces in there nice so now i have a branch that i can work in for my feature for my story and if another developer is working on this application they can have their own branch that they're working in now one caveat with that is in any individual servicenow instance only one branch of an application can be active at a time but i could be in two different development instances like here i'm in a different instance working on the same application and i can be on a different story and we want 4003 which is make the pie so i can be working on on different branches in different instances of service now or if we're not working on the same thing you know the same application and same story at the same time we can time slice that instance so um even here where i was currently working on make the pie branch you know the developer working on the other story can come over here and say switch branch and switch over to fix the cake and so what this is going to do is do a delta compare between the current branch i'm on and this other branch and just change the application files that are needed to do that so let's take a look and watch that in action right so we are now in the fix the cake um so let's fix the cake so update user points business rule let's take a look at that make an update to it and then switch a branch and see what happened come on and uh you know we're just gonna throw in a log here okay you're braver than me i just put in a comment all right so we uh have made an update in this instance to this business rule on our fix the cake branch but we will need to either commit this to source control or um stash it if we want to switch our branches so let's see both of those options so if we say switch branch it's going to prompt me to say oh well you have some uncommitted changes here and would you like to discard those would you like to uh stash them or would you like to cancel and go and commit them um so we're going to uh you know stash the uh the cake is best comment and we're going to switch the make the pie and then what it's going to do is it will actually prompt me so it's going to do that delta compare it's going to load those application files as they exist in our new target branch make the pie and then i have the option to apply our stash back here or not it's up to me um but if we take a look at that business rule update the user points we'll see that it no longer contains that comment i thought it asked automatically what would you like to do with the stash changes i i i agree with you chuck was kind of surprised not to see that though prior to quebec it did automatically prompt you uh so i think that that's a new change or it could be you know where i've seen that is we're we're being not following best practices on our dev program site but when we pull changes from dev program dev into prod sometimes we have like a cis template record that's been modified in prod and it says hey wait a minute you want to stash this i say yeah pull all the stuff from dev brings it in and then when it applies it says what do you want to do with the stash changes well i don't want to lose those templates so i apply them back it might be conditional and i don't know exactly what those conditions are so i have applied that stash change now and so our business rule should have our comment and it's time to commit that change so here we are cake is the best so let us commit our changes so this is going to give me a prompt for what do you want to commit and if you have multiple users um you will see multiple users here in the left and you can cherry pick exactly which updates you want to be committed at this time we only have one so it's really easy but in general you know especially in a large uh team you're gonna have multiple people's work here um and you only want to commit the stuff that that actually should be committed uh for what you're trying to do so we will commit this uh adding comments to update user points because story set to so we're going to commit those changes and then we can go visit github and take a look at slack points thing and we'll see that the branch make the pie um had a commit less than a minute ago and we're currently looking at the master branch or the main branch um and uh we can actually so uh let's assume that i'm now done with that development and i'm ready to uh you know merge this into the main branch um because it's ready it's ready to be uh you know merged into main and promoted all the way up the stack so i can uh you know follow the prompt there which says hey let's let's merge these changes and i'll i'll review this typically you would have a developer who's not you managing uh the decision to merge something in but for simplicity's sake today i will be you know playing multiple roles so we will create this pull request and now we will say no conflicts so let us yes you need to throw a comment in there um i'm on the wrong i i ended up on uh you're on josh's somehow the wrong repository or josh he's gonna get a pull request notification um this one did i create those branches in josh's oh oh you'll know if you go to the instance and check your yeah let's go see what the instant says my source repository is because at the bottom right it tells you the branch ah that's why i went to i went to my personal one and not the org one okay here we go this one all right now we should have our branches yes sorry um we have a lot of versions of this uh repository floating around and i have access to a lot of them it's more real-life demo that way yeah it is definitely a more real-life situation so uh we just take a look at the make the pie which should have our comment yes three minute our commit is here from three minutes ago excellent and let us so we can take a look at this and see uh there'll be a lot of noise um and one of these in here will be the actual like right here this this is the thing that actually changed so i could uh i could merge this into my main branch i'm not going to do that just for simplicity's sake since we already did it once and we did not i got off track so let us return to our instance and so that was creating a branch switching between branches uh stashing something and applying from a stash and those are those are pretty much the main things that you'll be doing with source control the next thing that i wanted to show in studio is let us proceed to this instance we're going to create a new application so you might say oh well i don't use studio because i've got all these global apps and and i say well you can handle that in studio as well and so we are going to make the creator toolbox global show global bundle there we go so if you don't have this global option there's a system property that allows you to enable that um i don't remember the name of it but just knowing that this is controlled by system property will probably get you the right google search to find that somebody type it into chat you'll get a goal yeah somebody type it in the chat i'm waiting for mark to pull out the property again he did that for us last time so i have created a global bundle for creator toolbox and what i can do now is i can add application files into this global bundle from the global scope so if we want to add existing files i will come over here um i want to add some business rules from our incident table so let us narrow down to incidents and we want to do oh caller close incident auto close and one more so with the property ah thank you mark so you've got some options here one of them is is if you already have an update set that you have been using to manage some global files you can load that here and it will show you all of the application files there and then you can pick from those to add them we're going to use a name search today to find our incident table business rules i probably should have gotten more specific than clothes update set is is really powerful because you can you know if you're doing some development you've got it you know you've already got it all contained in an update set and you decide you know let's let's do this through source control in the app repo you can pretty easily just import all that into a bundle absolutely brad so that's a really powerful feature feature for folks that are already you know using update sets and want to transition to using these global application bundles that really helps accelerate this because it will load all of those um application files that you want for you uh relatively fast so now i have created this bundle that has these three business rules in it and you can add you know any application file that normally goes into studio can go in here with that add file so we've got these three business rules in this bundle and we can do the same thing that we just did with source control for this um so in this case what we're going to do is we're going to create a new application repo for source control and we're going to do it in my repository we're going to call this ctb example bundle example low ball bubble all right and let's make this private repository it doesn't have to be github but that's what i'm using today so i'm going to return to my instance i've got this global bundle and if you recall i said if you want to link an existing app how you do it is you go to source control link to source control give it the url we're going to give it a branch so we're going to call it the main branch to to be our starter one we're going to provide our credential and then we're going to say link to source control and our expectation now is that what happens here is we don't have an empty repository anymore once we switch to our main branch and you'll see we've got our properties file and then we have our this is our bundled scope sys id um so there's our sys app um and then under update will be our three business rules does that make sense it does right so and we can apply all of the same logic here we can you know create branches we can do merging um you know so all of those wonderful get features are available to us here with source control now that's a bunch of stuff about source control what about the application repository so let's go take a look at the application repository real quick so if you type my company applications in the main service now window you will see this application manager interface and you'll be able to see which apps are in development which apps are not installed and which apps are installed and we're in our dev instance so all of the ones we have are in dev they're in development so that will include the app we just created ctb global bundle right here and you can open studio from here brad's got a squint do you have a question i that uh creatorcon workshop i think that's an old workshop of mine that number looks familiar it's not it's it's last year's it's got to be last year's because last year was ccw all these are the ccl this year yeah it's not this year's 1856 is mine from last year it's yours okay that's why it's modified march 25th 2020. that's why it's familiar yes it is familiar uh from last year so c2b global bundle so we can open this up and see you know the regular application um interface here and see what version it is and you know if we come down here application files what we expect to see three business rules yes there we are so this is our global application bundle and so what does this give us it gives us the ability one to to use studio to manage these files it adds the ability to use source control and then it also adds the ability to use to the application re repository so i can use this interface to do that so i can click this publish to my application repository or if i'm in studio i can do the same so i can go to file publish and i can give it a new version we don't need dev notes we don't need dev notes so um the first thing it did is if you're linked to source control it will commit the app to source control and then it will and then it will uh publish to the application repository so you might have missed that in the the screens um but the first thing it did was it was uh perform a commit to the linked source control uh repository if you have one i forgot does it make a tag also it does make a tag as well so we should be able to see over here we just made a new uh commit and we also should have a new tag but it doesn't make a branch it does not make a branch no okay but we did get a tag and a commit and if you wish later you can make a branch from a tag absolutely so that is uh now published to our application repository and what can we do with that we can go to one of our other instances and load our my company applications and we'll see that there are let's see no apps here so let's give it a refresh where'd it go i think my chrome just decided it was done with me yeah show's not over don't leave chrome just decided it was done with me [Laughter] chrome's on a smoker break let's uh let's restore those live stream you have a question we do have a question about uh the merits of the app repo versus git as a deployment mechanism excellent um so uh that's a really good question and uh well let's go through uh the strengths and weaknesses by doing that so uh one thing that we can see right off the bat is in our application manager in our test instance we can now see and have access to our ctb global bundle and we can install it here another option since we were using source control is we can install it from source control now those will install in two different ways so it since the app has never been loaded here they'll be roughly the same but if the app has been loaded they'll be slightly different on how they they install so let's install this one let's make a change and then go perform and update to it so we're going to install this global app bundle here and let us return to our dev instance and we will make a very quick change to incident auto close and we will perform a publish and then we'll go deploy that to our test instance so let's uh be like chuck and just add a comment be like chuck only comments here elements are your friend so if we now do a publish and we're going to increment our version oh no we're going to do we're going to do a bigger increment that comment what's worthy [Laughter] probably not our policy but okay that was a major patch release major patch was it was a chuck level comment i don't know about you but somewhere in my career i'm sure adding a comment has fixed a problem [Laughter] oh uh absolutely um and there's the uh there's the the old internet story of removing a comment broke the application uh and so the there was a new comment added please don't delete the above comment uh because we don't know why but everything breaks if you do so don't do that i've had comments to say i don't know how it works don't touch it don't chop your fingers off so we now we have more than one version for this app in our application repository and uh we we denote that uh there is a new version here that it can upgrade to so we've got our installed version and then we have uh versions that we can move up to and there could be multiple options in here if we had you know multiple versions published but we only have one so let us go update our version with that and one thing to note for both applications that your dev team makes and publishes to the application repository and ones you get from the store the next step after that is very important which is you should go to your upgrade history table and we will look at just now this entry so this is the entry for the upgrade from the version we were on of that application to the new version so there are three script entries and oh look there is one new script updated there's no conflict and so it just updated it but we potentially could have had skip changes to review if the if the file had been changed this is much more likely with a store app than with one of your own apps but it's still possible with one of your own apps if someone went and changed uh you know if they touched an application file in production um which they shouldn't be doing but maybe they did for some reason and so you could have skip files to review there as well so this upgrade history is very important to review uh for store apps or apps that you're promoting from the application repository of your own um because you you need to review those skipped records um andrew can you do me a favor on the uh this target instance and go to that business rule was it incident closed absolutely we can let's go to studio and are we let's switch to that app in studio you can't we shouldn't be able to incident was this ever pushed with git or was it only installed with app repo this was only installed with that repo okay come on load what i found i don't know if this is true for global apps but what i found with scoped apps is if you use the app repo it treats the target instance almost like it's sacred it doesn't let you make changes it says this has been installed through the app repo you are in production you shouldn't be messing with this don't mess with it if you've got changes don't do it in production so it makes the the record read-only if you do it through github you're effectively saying i'm another developer instance so i can make changes in production so there's a risk element there depending on which choice you use to move your changes through git up to prod you technically can but there is a risk that somebody's going to change something and now when you go to install again it's going to say hey you want to stash changes you go what who's making changes it will show you but you're going to have to resolve that if you continue to do your deployments through the app repo that's not a concern so i've got the business rule open here and so i could make modifications to this business rule in not dev uh if we and then that would cause a skipped entry uh for the next version update from from the app repo so we've got a differentiation between scope and how it handles global well there's a so there's a protection policy field on the um like on the business rule to where you can set it to protected or read only so if you use that field and set it to read only then when you deploy it through the repo it's no longer editable in an installed state but yeah it should be editable no matter what i i haven't done that at least consciously with any of my scoped files but yet when they end up in production through the app repo they are read only it shouldn't be but um we can certainly take a look at that at some point so we have uh now deployed a version uh to our test instance from the app repo we've deployed um uh source control changes um through the app uh through we've deployed changes through source control uh we've created branches we've merged branch well we talked about merging branches we didn't actually do it um the next thing that we can talk about is how does this all tie together uh and when should we use one of these over the other um which came back to that question uh that someone asked earlier of uh when should i choose which of these to use and the answer is for me um my best answer right now is for development i like to use source control until i'm ready to publish so until i'm ready to you know start the the release process for the work i'm working on source control is the way so i will use branches and commits in source control up into the point that i'm ready to move code up the stack i can still use source control to deploy to other dev instances if i'm in an environment where i have multiple dev instances but if i'm ready to move something up the stack is when i use the application repository and part of the reason for that is i want the apps to to be in the installed state instead of in the in development state in non-development instances and the uh the process is just simply easier for my admins who are doing the promotion so maybe i have a release manager who's not even a servicenow dev who's managing our release process and they can perform the installation of applications from this interface my company applications and you know do that that drop down that we had and hit install like this is a nice easy interface versus you know telling someone to install from source control in studio um is a is a higher bar right so that's that's where i'm at uh for the differentiations between them can you use source control all the way up to prod yes can you use the application repository um all in all of the instances mostly um so uh that that's how i uh separate them so so you're saying for for managing development across like multiple development instances you would use source control for that and when it's time to deploy your code to like a test in a prod environment then you would use the app repo yes that was a great summary brad i agree so while you were doing that description i did a little research on what i just said looks like script includes default to the read-only protection policy everything else is open unless you explicitly set it got it so there's a default for script includes nice that we've we've resolved that nugget so what we've shown uh so far today is all of those steps manually but we have solutions for that we're developers and we don't like manual things [Laughter] at least this is our job to automate so that means we have over here in we should have um uh actually there's a sound oh did you see it no no i was just it i think it's in it sn ci cd it's the yeah it's like the name yes cicd that sounds about right yeah here's the api and it was a rest api it was what it was um so there is a whole suite of apis to manage this stuff uh for you via automation and i am a big fan of these [Laughter] um so there is um a whole suite of these that can do run a test suite activate a plugin install an application from an application repository um run a health scan apply remote changes from a local instance from source control it can switch branches it can publish code changes to a connected application repository and you can see some of this if you have app engine studio so if you're on quebec and you have app engine studio there is actually a uh deploy deploy event request yes so there is a table that manages the application deployment process for citizen developers who are using app engine studio and it's backed by this deployment request table which handles the approvals and automation of promotion so it'll publish that citizen devs app to the application repository and then move it up the uh your pipeline which will be to test and then to prod but it doesn't need to be limited to just stuff from app engine studio so that workshop ccw uh 1856 uh that i had from last year's knowledge uh has a deployment request table in it that that does more than uh just app engine studio stuff so this we have one bank here earlier um manages uh can manage uh and and this is just one example of how you can automate this um but something like this can manage your uh deployment process um and so you can set the values in here you can even set most of this stuff in an automated fashion and it can then you know invoke the flows that i have backing this application uh to to handle approvals and then it can do things like commit your code to source control publish it to the application repository run atf suites and then conditionally on the success of those ats suites if they all pass it can then deploy that version to the test instance and then run the atf suites there write those results back to this uh file and then even perform other things like oh okay well everything's good to go um let us deploy to broad so let's take a moment and look at some of that so let's switch over to that application and this is just again this is just an example of what you could do with those ci cd apis and all of those apis also have either flow subflows or actions that you can use to invoke them from flow designer so if we open flow designer we have a flow here in this application that will uh we i think we have remote deploy from source control i think is the one that we opened and mark calls out that we can also run instance scan through these apis yes that was one of the options in that rest api was to run instant scan and we love instant scan we had a cool couple of great episodes about that the cool part about them being rest apis is that not only can we orchestrate them from within servicenow that you're showing but if your deployment process uses you know github actions or jenkins or i think we've got four different uh you know integrations that are already built that you can use to orchestrate you know your deployments and everything we actually have a blog post from it was december where there's a video embedded that shows uh github actions uh you know managing this process absolutely so flow since i'm a servicenow developer flow was my go-to but as you said uh brad it could it could just as easily be a github action based deployment process because of those rest apis and the plugins that servicenow has made for things like github actions so uh let's quickly look at this uh flow and then wrap up so this flow um you know uses that deployment request table and it looks up any of my so i've got a atf suite that's related to my application so it's going to go find those it will run that suite and then if it didn't succeed it's going to update my record but if it did exceed it's going to update my record in a different way and that update to that record will cause the next flow which will actually uh perform the deploy from source control so my my process started with running atf before i allowed it to deploy from source control and you can stitch these together in whatever makes sense to you because of all of the subflows and actions that we've provided um you can create um as simple or as complex of a release process that you want with all of these with all of these tools so let's see one of them in action really quick um and then that will be our last thing so if we go to take a look at things that were which one do i want to run let us oh let's go to flows actually i'm going to do deploy from app repo let's do that so i'm going to test this flow against yeah we could do number two but let's see what's in the number two uh we want to deploy this app to test yeah let's do that um in order to do that we need to remove it there because it was already there earlier today i already tested this once today um installed apps while i'm doing this one of the best uh things to do uh when you have a application that you create so a scoped application and you're going to use the application repository is publish it right there empty empty shell publish it and promote it all the way up your stack and the reason for that is in case you perform a clone before you're ready to deploy the working version um you can you can run into issues if you um do a clone back to your dev instance in production didn't have that application um it won't be in the dev state uh and that's really important to have for your for your applications is you want them in the in the dev editable state um so promote that empty shell all the way up your stack to production um is it is a good practice uh to to invoke so we're going to from our dev instance so we're going to take a look at the operations view of this flow and you can see this flow is not very complicated because we've got a subflow that's doing most of our work for us we feed it some inputs and it's ready to go so it says installing application with scopes that's one of those actions that's backed by that rest api we showed and it didn't fail so that means it completed awesome so that means over here we should which app was it you gotta gotta know what victory looks like uh zero two was uh shell game this application scope let's in our test instance uh head over to sis store [Music] at that list and see if we have that scope installed hey look at that there's our nice there's our application installed so with that i will stop the screen share and we will return to the video view and so we went through a whole bunch of stuff there uh that was the lightning lightning round uh all the all the things about uh global app bundles uh application repositories and source control um all bundled up into one one one hour show so i hope that was helpful um are there any questions uh before we fully wrap the chat likes it that was also a nice little tip at the end there with the uh when you install an app it installs into the sys underscore store underscore app table when you have an app in development it's just the cis underscore app table and that's how the instance knows the difference between an installed app and an app that's in development absolutely and there's even the the not installed app table too which is a sys remote app is the apps that are not yet installed but that are available to be installed so those are three separate tables um and that is why it's very important for that earlier comment of um the deploying all the way to prod before you do a clone for your any of your applications at least the first nail you need at least that empty shell in prod so that when it installs in dev um it actually installs that application and then you can change the version and it's still in the development mode but if it's not there and you and you'll have to install it from the application repo it won't be in development mode so that's that's an important note so you either need to promote it all the way to prod that empty shell or connect it to source control and install from source control to get it back into that dev state and with that i thank you all for going on this journey with me to uh exploring all of the options or at least many of the options around uh the application repository and source control and there's a lot of automation that can be done that will suit your organization's needs which is really nice because it's super flexible thanks andrew yeah thanks andrew and thanks everybody for watching we will see you again we we will not be having a show next week or for the next couple of weeks we've got uh creatorcon content coming at you so we want to make sure you focus on that but we will see you later in may back here on creator toolbox and andrew is going to be back for our next tech now on may 25th which is also a tuesday at 8 00 a.m pacific 11 eastern to won't you talk about that give yourself a little promo debugging on uh servicenow so i'm very excited uh that will be the first time i'm joining tech now so i'm looking forward to that so come join us uh to talk about and see um how to uh debug in servicenow go get registered devlink.sn tn 8085 i forgot 85 reg i'm sorry i'm working on multiples at the same time so it gets a little out of hand sometimes so yeah devlin.sn tn 85 reg to go get registered for that that way you get the notifications and whatnot should see you should be seeing an email and i think we've got it in the newsletter as well so stick with us and we'll see you again real soon thanks brad thanks everybody bye everybody [Music]
https://www.youtube.com/watch?v=zv3_noREhnM