Integrate Jira and ServiceNow - Step-by-Step
[Music] hey everyone it's Justin thank you for watching and welcome to my house that's Justin's house in this video I want to show you how to integrate jira and servicenow specifically Agile development within servicenow I get asked for this video constantly and I haven't made a how-to integration video so this will be my first attempt let's go ahead and get started I'm going to start in jira I've got a project here called duraproject Dash Utah I'm assuming I'm going to make a new project for each release of service now as I keep this up to date and it's got a board and everything but very very important if you're going to do this you need to know how I created this project so this project was created with the scrum template okay so that that was step number one and it's team managed meaning I'll use template here it's a team managed project and not a company managed project which you can see over here just next to my head so that's a very big difference for those of you out there in the wild that might be trying to duplicate what I'm going to do I'm in a basically a free instance of jira I'm using a team managed project and the scrum template which you can see here up at the top so that has very important implications for how this integrates down the road so if you're doing something different you may want to stop watching now and look for different instructions for a company managed instance or something that's not using the scrum template all right now that we've got that out of the way let's actually switch to service now and take a look at what we need to do there so the first couple of steps you want to do is before we install the atlassian jira integration we want to make sure our prerequisites are done so number one would be making sure that Agile development 2.0 is installed which you can see here I've got Agile development 2.0 installed the next thing you want to make sure is installed is the jira spoke so here I've got the jira spoke version 4.2 which is installed the next thing you want to check for is an authentication framework so if you go to Integrations Dash you'll see this Integrations external authentication framework so you want to make sure that that's installed and is running I noticed it says virtual agent there that's why I was checking my notes to make sure I look at the right thing but yeah that's correct so once all that's good then you want to search for atlassian and then jiren and I'm just going to type in well I didn't spell it last again right it always happens when you hit record you make spelling mistakes so atlassian jira integration for Agile development that means we're going to integrate jira with the um with the Agile development side of service now now that doesn't mean we can't do incidence problems or change other records custom tables stuff like that also all that in a future video but right now we need to get this installed which will automatically install the agile or atlassian jira Integrations common let's take a look at what that looks like I'm going to hit install and there you see I got a prompt that we do have agile installed but it's also going to install the atlassian jira Integrations common plugin so I'm going to go ahead and hit install and we'll fast forward through the time thing here to show that this actually finishes and completes all right it looks like that successfully installed I'll put in post how long it actually took but it was not quick um I was working on my other screen doing other stuff so that is the plugins that we need to install so next we'll hop on to the next steps all right now that we've got everything installed the next step we want to do is go back to our documentation so let's head back to servicenow and I'm going to follow this pretty much step by step so if you need to reference this this is going to be your source of Truth and I'm gonna call out anything that varies but the next thing you want to do is actually connect the two systems together and in order to do that we need to set up credentials now I'm going to tell you the biggest mistake people make is they go into jira and they access their account and they go get an API key I want you to not do that because then you're going to be testing with your account and your account is the one doing the synchronization between the two systems and that creates all kinds of issues what you want to do from your project is you want to actually add another user so I'm going to actually manage my users in jira and I'm going to create a new user by adding them to my project so I'm going to invite a user and I've got a service account set up I created it in my 365 development instance I'll show you right here so you're seeing everything that I'm doing it's just a service account for jira jira SN service account I've already created that in 365 so that I can invite this user to my particular instance so let's go ahead and put in that email address and I'm just going to leave the beginning of the email address and I'm going to block out my actual domain but it's just a on Microsoft domain so nothing big no big secret there if you're familiar with Microsoft 365 I'm going to give them for now I'm going to give them basic not trusted or site administrator I think I can get away with basic and then add them to the project but let's see here create all access to your software site admins administrators yeah I think I'm just going to leave them as jira software we can always change that permissions later if we run into issues so go ahead and invite them and that should send them an email and then I'll go over here and watch that email box and see if that invite comes through there it is it came through they've been invited so we're going to go ahead and join the team and that should just log in and we'll put in a full name we'll just call this jira servicenow service account and for I'll use my other password I've got on my other screen over here line up and oh man I hate these let's see Bridges is that a bridge no it's a stairwell bridge bridge that's not a bridge is it a bridge can't tell looks like a bridge no and we're gonna skip this stuff and skip and Skip setup alright so what I'm expecting to see is the projects that I have access to and right now okay I don't have access to any projects so that's expected so let's go back to our jira instance and uh go back to our project and give this user actual access I'm going to get out of my user Administration and now we're here I'm gonna go to Project settings and access and I'm going to go ahead and add that user jira to add people there we go I said there's Nigeria service now account and um add one person and now they should be in there so let's go back to my other browser and see if that project shows up we'll just hit the refresh button here and there we go there's my gr project okay all right so they have access let me get rid of this quick start here and everything looks good so that's the user I want to use in service now when I set them up so let's go to service now and do that credential Alias so basically the instructions here are to open up the SN the existing credential Alias and we're going to create basic authentication authentication credentials now notice this procedure doesn't have much detail here so this is where I'm going to have to add some some color to show you actually how to do this so let's go ahead and get started with that so what I'm going to do is pull up that connection and credential alias and that will be my goodness right there under integration hub and we should have one for jira after installing everything and we do and I want to use this one I believe this SN jira int dot jira let's just confirm um in our documentation there that's correct so sng or int.gr so that's the one we want to use whenever these are available by default you want to use those otherwise you've got a bunch of extra work to do so there is that one right there and that's an alias so we actually need to go ahead and create an actual connection and credential and I've got a related link here um to automatically do that sometimes there's a template there that'll let me do that so um in fact I just noticed one thing here um I'll point out that that the the record and stuff like that is in a different application I don't want to be an employee Center so I'm just going to get out of this one I'm not necessarily going to go to Agile I'm just going to go to Global so that way any of my changes are going to be in the global scope all right now that I'm in global scope let's go ahead and try this related link see if it does what we want it to do and I'm expecting to plug in my jira instance details and creating a credential okay so this sometimes happens there's no configuration template so that means we're going to have to do this on our own which is fine uh we'll go ahead and create this on our own so I'm going to do a new connection and we'll just hit new here that was right behind my head don't know if you saw that and we're just going to call this um jira actually you know what let me pull my jira instance name uh into that so I've got jpu for jira project Utah that'll just make it relevant to that so let's go back here and we'll call this jira jpu and the connection URL so I do need to pull that we'll go ahead and grab that I think I'm going to have that hidden on um for you guys so let me just how can I show you that I'm gonna we'll see it when I paste it in so let me go ahead and paste that in there you go so that's and actually I'm gonna have to blur some of that out because I don't want to do messing with my my uh Jared instance but that's the connection URL and notice I'm linking to the well you can't because I'm going to blur this out but I'm linking to the root of my jira instance I'm not actually linking to the project just yet um we'll take care of that when we set up a jira instance later and notice I don't have a credential so we need to go ahead and provide a credential so I'm going to hit the look up using lists and then we're going to create a new credential from here and the new credential we want to create is a basic authentication credential it's a basic auth credentials and the name of that is going to be do your service accounts I'm just making that up the username is going to be that email address that I created in office 365. that's how they're going to log in and authenticate on microsoft.com and the password is the one that I created but I'm going to actually use an API key so let's go back to here actually I don't want to go back to there just yet let's go to Safari and for this user I want to create an API key so let's say manage account what I want security API token so we're going to create manage an API token oh this is a good one this this burned a lot of people back in January so they did change the size of their JPI tokens they vary now they can be different sizes so that'll become an issue depending on what instance you're running out for service now the field for those tokens may be too short and you may have to make it larger so let's go ahead and try this out we'll give this a label for service now Utah and create that and now I've got that token I'm going to put it over in my notes on the other screen and it is a massive token so it's huge um all right so that's done there let's go back to where we were setting that up okay so I'm going to paste that token in there and hit submit okay and see this is what I was talking about so if you get this error message uh password value is too long and it could be truncated after encryption please either reduce the password link or increase the field side so that's what we need to do we need to go increase that field size uh for that one so what are we going to do that is in this table right here Discovery credentials is with the table we're going to have to go modify so this is where we get a little bit off the path of doing an integration with jira and have to do some servicenow work in order to make this work so I'm going to close this and let's uh get off the path here and go ahead and modify that table [Music] yeah we're going to leave without saving I have to come back to that there's the table and since I'm an administrator I can go in and configure this particular table and what we want to modify is that default password length I think it's probably set to 255 um or something similar to that let's just take a look at password yeah it's set to 255 and I'm in global scope which is good let's just verify there and I'm going to go ahead and increase that to 1000 so I never have to worry about this again there we go that change is made now we'll just hit update on there to ensure that gets applied and now I should be able to go and create that credential with that ridiculously long API key and notice that I'm going through the effort to use an API key rather than just plug in my password so again best security practices here using a service account and using the API key where we can control access all right so let's use our history now and go back to our new record for a connection and we'll paste in again some of those details I call this jira jira jpu and then I had my connection URL taste and for the credential so let's go ahead and click new we'll do basic auth credentials and we'll call this jira service account [Music] and then I'll plug in my user id again which is my email address all right I'm going to paste in my API token and I shouldn't get that error message now so we'll hit submit and it takes it perfect so I've got my jira service account and a connection and the server version we're just going to leave the default there set to eight I wouldn't change these unless you know something differently about your particular instance and we'll go ahead and hit submit on that all right so let's go back to our instructions there and see what the next step is for connecting that so we've created the connection and credential or we have updated the connection and credential Alias we've created our basic auth connection credentials and we've created an https connection that's where we actually started let's create that connection so next thing we need to do is actually create a jira instance so we're going to go to this menu item navigate to the agile jira integration jira instances and I'm just copying that over to my notes on a different screen but let's go ahead and do that so atlassian oh where's the jira I'll just search for jira is probably faster all right do your instances we go and we'll click new and we'll call this uh let's keep the same name jira jpu and we'll use that credential Alias for jira that we just updated with our connection so remember it's the snjira int.jira and uh there's let's go ahead that should pull the URL notice there's no field for the URL but we had that https connection or HTTP connection but we do need to select a version so let's see what our options here are Azure devops and jira API obviously we're doing jira so let's go ahead and just save that rather than submit submit would bring us to a new screen notice it did grab that URL so it did bring that in from the connection so we'll look good there so the next step I believe before I hit connect let's just make sure there's nothing else to do on that list of stuff um yep everything's good there so the next thing to do is Click connect so this is the money maker or are we actually going to make that connection did I screwing up any of these steps we'll find out here when I hit connect all right connection cannot be a established so that's a that's a problem and I think connection failed and I need to figure out what particularly failed so it doesn't give me much details please check the system logs for details so that's what we're going to do let's go check the system logs before they run out I've got a favorite for the error logs which is basically a filter on the system logs to just show error messages and hopefully we can see maybe I got put in the credentials wrong or something like that oh goody what's the search for jira status code 403 and that was at 10 47 so let me try to see if there's anything surrounding that we're in 47s that should filter the log down to just the stuff that happened around that time if I'm lucky here and while we're doing that let's just status code jira 403 let's see what 403 is forbidden all right so it's forbidden and let's go back to while we're waiting on the error logs to show up here yeah it's still running let's go back to the documentation make sure I didn't skip anything or mess anything up create an https connection and let's go back to here so what I'm going to do now in order while this error log is still trying to pull up I suspect is remember I made that jira user um just a regular jira software user let's go ahead and Elevate their permissions and see access and uh we couldn't find anyone oh let's get rid of that I have two project roles aren't editable in jira software free okay so that means I need to not modify them at a different level so let's go to user management again I'm not paying for this jira instance so it's a little bit wonky there I've got my jira service account user right there so let's see we can show details has access to jira software and their basic so I'm going to update them to let's see you can update product settings add new products and invite basic users to products can administer your site determine user access and update billing details like you so let's go one step up to trusted and then we'll test the connection again and see if that works I'm going to cancel this good so I'm going to cancel that and let's head back to our jira instance and try connecting again connection successfully stops okay so as a permission to issue on the GRS side so I want to make sure that when you create that jury user that they're at least a trusted user and that seemed to work all right so my next step then to get this running is let's hop over to our documentation again discover and import gr projects and Boards so we're just going to go ahead and click discover projects and that will run the job in the background to discover those so there should be a button there yep discover projects so I'm going to click on that and that is going to start the import request and we can monitor that import request down here and we'll just see that it's requested and we'll just quickly refresh this until we get to a state where it's discovered by projects all right so now okay so it's doing projects boards and then it's going to go ahead and create the mapping so again a lot of automation here automatically doing some of that for you let's hit refresh again all right all of them completed so I'm just going to go ahead and refresh this entire form and I should see all my jira projects all my jira boards and uh some mapping for the company managed and team manage all right now that we have our jira instance actually connected it's time to actually do the import and synchronization of different things so if we look at the instructions here we've connected it we've discovered everything and now we need to enable Import and Export of issues and import issues from jira to Agile development so I want you to pay close attention to the order that I'm going to do that's the first thing I'm going to do in jira I have nothing on my board so I'm actually just going to create an issue let's go ahead here and we'll just start with the story type of task or issue type of task sorry and this will be our first issue in jira and we'll put a description of this was created in jira and what I'm doing is I want to make sure that when stuff starts synchronizing I know where it came from so I know where everything is passing you know going this direction that direction correctly so I've got something on my board now for uh for issue to be visible it must match your projects and filters uh looks interesting I thought it was to do let's just go to the backlog there we go there's my first issue in gear I don't need a kanban board to manage that so that's a Sprint all I'm interested in is this backlog item right there all right so let's head back to servicenow and complete that configuration and mapping I'm interested in this instance or this project down here jira project Utah you can see it there it's a team managed project so I'm going to open that up to your project Dash Utah and we're going to go ahead and do one thing I'm going to enable Import and Export I'm going to save this and that's going to be important for when we create the team integration settings here that I do wanted to do that import export so let's go ahead and click new for the team integration settings and this is a really key concept is that you're going to link that project to an assignment group and servicenow so my jira board is obviously going to be from that project so the jpu board and then my assignment group I have an assignment group called servicenow sprinters that we're going to use that's actually what I've used in my Azure devops videos and we're going to use it here in my jira video so there I've got it saved that's the assignment group and now all I need to do is import issues so I'm going to click import and that will create an import request we can go back in time I just created it so really I'll need to go back to the yesterday and that'll be everything and hit submit and now that will connect and automatically bring in those that issue that I made so let's just monitor the status of that here right now it's been requested and it's importing the Sprints I don't think I had a Sprint so this should be interesting probably too late to go create one that's completed now it's importing the issues we'll just that's processing completed all right so we've got that completed here so I should have some issues now inside of servicenow for the one that I created so basically I'm in table Maps that's if you're changing something like uh the Sprint and epic or a story and you've got maybe some other field you can go in here and you can actually change those those mappings so if you open here for a Sprint and you want to change What fields get mapped from the Sprint in jira to the Sprint and service now this is where you come do it at the project level within the jira instance all right and there it is you can see the external field names is the field names over jira and the internal field games the field names in servicenow but let's get back to that import let's verify that that stuff came in like we were expecting there was my import Sprints and issues so I was looking at the servicenow sprinters team so what I'm going to do is I'm going to go to my agile board actually let's just go open stories um module development stories and I can sort on the servicenow sprinters group so we'll just show matching there and what did I call that story over in jira let's go back to who I called that first issue in jira is what we're looking for and so I'm looking for first issue in jira I don't actually see it so I don't know if that actually came through let's see here what's going on what's going on uh let's go back to my jira instance and I'm going to open up that issues Imports ah nothing came through no issues um everything nothing failed no errors but nothing was imported like I wanted so let's go back to project and oh um I created a task in jira and I've only got a mapping for a story so this is a good lesson let's go ahead and uh let's let's keep it out of the box I'm going to change that to the story rather than in this video get tied up into creating another table and stuff like that we could do that in a future video in fact I think I have another video on that so I'm going to go back to jira and we're just gonna create a story instead of an issue and actually while we're here we'll go ahead and create a Sprint oh no we already had a Sprint but now I got two sprints um let's add some dates to the Sprint uh we'll do this from the 26th and we'll make it a two-week Sprint through the 7th of July and we'll include a goal there but now I've got an actual Sprint can I delete this one uh Delete Sprint there we go all right so now I've got a Sprint let's go ahead and create an issue and we'll make sure this one is I think that means story uh if it changes it yeah that's story which is what I want uh let's change that back to the story and we'll say second um first story what's it called first story in jira enter so I've got my first story in jira created let's head back over to service now and we'll do another import of issues and see if that actually brings it in so we're gonna go to again we'll do the same date range that we did last time submit and we'll just wait for that to complete and we'll actually check out on this time we'll check out the Sprints see if that actually imported anything okay that did not import anything um but Sprint one was actually already there so maybe that makes sense um and then the issues are processing now let's see if our story came over still processing processing okay there we go uh completed it found one and updated and it didn't insert it just updated interesting um okay so let's go back to our stories for servicenow sprinters there we go first story in jira it is there now and then we open this story and see if uh has everything that I'm expecting there's a description uh we'll just put update from servicenow and I'm going to save that and what I'm interested in is that export going to be real time or am I going to have to do an import export in the previous time I've done this integration those were real time so let's go back to that other instance and see if it changes we'll just move here um first story in jira oops I didn't mean to edit let's click on it yeah it's not updating in real time all right so let's go back to setting up the Integrations via import schedule a job to Auto Import customize mapping and reset mapping so it looks like there's no automatic jobs happening no web hooks so let's follow those instructions here to schedule a job to Auto Import issues it Imports issues from all your projects which you selected the enable import option if you're not configure the scheduled job you must manually import issues for the discovered projects so we don't want to do anything manual so we're going to go find that scheduled job for import issue um job there's no export that's interesting importing and exporting issues between agile and jira all right so let's just follow the instructions here I'm going to head back to my instance and go to my schedule jobs and definition scheduled jobs and then what else did it say there open the import jira issue job so I'm just going to search on jira then see what else is there star jira import jira issue it is not active so we need to get into application atlassian jira integration for Agile development here we go and that'll let me update this job okay so let's go ahead and activate that and we will run this um hmm a lot of daily is it so default is daily I'm going to do it periodically every hour [Music] and that should be sufficient for my purposes obviously your mileage may vary depending on when you need it and I want to go ahead and execute this to see if I get that update that I made to my story here so if I go back to my story where I add it in there there's a short description update from service now I was expecting to see that in my jira instance so let's go uh we'll use our history and go back to the JP jira project and there's my import requests and has empty for the request to buy but it is completed and it is just import not export even though I've got enable export checked uh let's go see what happens and go into jira here ah got it so the import is an export um so it got my update and uh that's interesting so let's open that and um let's just add something else here uh let's see move my head out of the way uh we will and from jira and I want to do an assignment to Justin yeah and then we'll save where's the save button I haven't been here for a minute um that's no restrictions visibility we're safe it's just instantly saving yeah I must be instantly saving everything okay so there's my first issue there's my first story that's been updated and I'm gonna sign it in there so let's go back to my environment here let's check out that story I don't think it's going to update by itself um I hope it did look at that and from jira so there's a web hook established that I didn't see and now the assigned to got updated so I remember in the other video I had to do points I'm not sure if points are still not set up so let's just double check that really quick um we'll go back to our field mappings jira we were in the gr project and table maps and story is what we have mapped so let's open that one up I got Sprint or no it's Sprint epic assigned to short description description and State uh are we able to sync so um if I wanted to do the um I wanted to do the points I could add that points here but let's just let's just check something else out let's do the description and that'll I'll feel like this integration is good if the description comes across so we'll go back to our story and we'll add into the description now I am testing description my head's on the way that's good and we'll save that and we'll head back over to jira and we will just click on this one click on that one and there it is now I am testing description came right on through and I'll update it here um we'll just say this is a pretty good test exclamation looks like it is by directional and the integration is done for my purposes of showing you how to set up this integration so let's head back to servicenow and look at that updated without me even refreshing the page this is a pretty good test looks like it's a bi-directional integration and the integration is done so that's it I did the jira integration step by step and hopefully you saw there that there's some steps that are not complete or not detailed and you saw me work through those permissions and completing things that are not exactly outlined so I hope you found that this video helpful if you did please like Please Subscribe or share it with somebody who's interested in integrating jira in service now and that's just the base layer there's lots you can do on top of that I have some other videos we'll link to them up above about uh putting into stuff in the backlog and getting incidents and other stuff into jira from servicenow so it's not just a story to story integration you can do a lot more so definitely check out those other videos and until next time don't forget to always be learning [Music] foreign
https://www.youtube.com/watch?v=37iJjKz94Qw