Transcripts
1. Introduction: Hello and welcome to this course on Jira software essentials, understanding AQL filters, where you're going to learn how to build your dashboards and automated reports using the Direct Query Language. The first, what is Jake QL? Jkl is known as JIRA Query Language and it is a handy way to retrieve just about any Jira issue field data by directly querying the geodatabase. So similar to, let's say SQL, or better known as SQL, or structured query language. Where an application queries and database in a relational database format and retrieve information to display or manipulate. Jake QL specifically queries the Jira database to enable Jira administrators and power users to be able to create dynamic reports based off of subsets of specific data within their Jira projects. So that you can create more custom reporting and e-mail notifications for prescriptions out of the box, as well as some pretty awesome dashboards that we can create to not only while your stakeholders, but to find some insights to improving upon your data.
2. Why Use JQL?: All right, so now you know what JKL is. Why use it when you already have reports in JIRA and other ways to view your Jira issue data. Canned reports are great for some things, but when your manager or stakeholders ask for different data in let's say, a pie chart or specific subsets of issues and a list based on different types of criteria. Well, that's where JKL comes in handy. I can't stress it enough. The ability to filter out precision subsets of data to build custom reporting is extremely powerful as an agile product owner, scrum master, release, train engineer, and pretty much any role you might play when accompany using agile methodologies to build out and maintain digital products. Specific use cases outside of the dura camera boarding could include things like bug tracking dashboards to track all of the issues that have been reported with your application. Work distribution by team member. If you're looking to highlight different capacity that is assigned to different team members. We can also look at components, specific lists if you choose to specify, let's say UI work versus database work or a specific functions that span across a full stack of front, middle, and backend pieces that together form a whole piece of value. So a lot of different ways that you can slice and dice this. But this is just a one way to understand the powerful use case for JKL as a whole and start to practice using JK well, in your own setting.
3. Project Requirements: Perhaps the most important part before starting with JKL is ensuring that your project is set up correctly. Data is worthless if it is an accurate, for example, if you have a bank statement from last month that only tells you how much money you earned, but doesn't include the expenses that you incurred. That doesn't tell you how much you actually have as positive cashflow. So your complete financial picture is not visibly accurate, which could lead to overdraft in your account. Instead, you'll want to see every transaction including the expenses so that you can see how much discretionary money you actually have to spend. The inclusion of the expenses is a requirement for bank statements. So similar to your Jira projects, there are certain processes and workflows and fields that you may want to make required in order to ensure the data is accurate a 100 percent of the time. The problem that you may incur is that if you don't make certain fields required and then you try to report on them. You could potentially experienced data loss because your filters will not be finding issues that do not have some of that data filled out in some of those fields that you want to capture. So in the next section, we'll go ahead and we'll set up our project. And we'll set up the project required fields so you can understand what it's going to take to set up your projects in a real work environment.
4. Project Setup: All right, welcome to Section 2. In this section we're going to set up your brand new project so that you can follow along with the course. We can import the same sample project Issue data that I'll be using through the rest of these lessons. And so that you can achieve the same results with setting up your AQL filters and building your bug dashboard. Now, working with Jira issues wouldn't be complete unless we're actually working with a real project. And so we'll be setting up a fictitious real-world project or a copywriting application that uses artificial intelligence to generate content for copywriters, content marketers and storytellers alike. So similar to a game called Mad Libs. If you've ever played that game, if you haven't, I suggest you Google that, try it out. It's a lot of fun and you may get some laughs in your day. But we'll call this project awesome copy. I know it's not the best name, but it'll work for the rest of this course.
5. Sign-Up for a Free Jira Software Cloud Account: Okay, so we're going to create our first for any project to set up our required fields components, and import our data. So in order to do that, what you need to do first is to sign up for a free Jira software Cloud account if you don't already have one. And so the best recommendation to go about doing that would be is to open up your browser and do a search engine. Search, Google search, whatever search engine you use, just search for Jira software cloud free. That the reason for that is that's going to give you the most up-to-date results and links to try out their plans. The URLs don't necessarily change all that much, but this will be the best way. So you check out free cloud software plans at last in any of these links can get you to the same place. And we'll just click on that. And now we're at the Atlassian.com website. You can see here the URL says software slash free. And what I'm looking for is the software cloud experience. Why can see here is right, there's a drop-down for products and it can just click on software project and issue tracking. There's a lot of different flavors of Jira, but this is the most robust core one that we'll be using for the remainder of this course. And so click on Jira software and it says, get it free. And we're going to click on that. All right. And then from here, you can sign up with your e-mail or with your Google account. And we won't go into the details with that. I already have multiple accounts set-up with various Gmail accounts. And so that's how you'll go about signing up for your free Jira software cloud account. As you can see, it's free for up to 10 users. So definitely more than what you need to get started for this course. Click on continue with Google. If you choose to sign up with Google, put your credentials in and then login that way. Or again, you can sign up with just an email and enter your email, create a password, put your name in there, and you'll be all set to go.
6. Create a new Company-managed project in Jira: Okay, so now that you have your free Jira software cloud account, we'll go ahead and create our brand new project. If you haven't created that free account yet, go ahead and pause this video. Go back to the previous lesson if you need to refer to that. But go ahead and create your free Jira software account. That way, you'll go through this course without wasting any time and be able to achieve the best results as you follow along. So once you're in your Jira software cloud account, we're going to look at the top menu here and look for a way to create our project. So we'll go to Projects. And the drop-down here, we'll click Create Project. And when you do that, you're going to be presented with a few different templates that you can select for creating your initial company managed project. We're not gonna go crazy into diving into each one of these. For our purposes, we'll just use the Scrum projects so that we can leverage sprints towards our project goals and create our backlog and our board and, and all that other good stuff with that. But you can dive into any of these other ones on your own if you want to play around with Kanban or just a flat list of bugs for tracking will create the Scrum projects. So click on that. And you can read some more about Scrum and this project template and how it can help you with your project. That, uh, basically the key thing about Scrum is that you'll be working with sprints, and so depends on how you want to set up your sprints. Some people do it in two weeks. Some people do it longer to is the average timebox that I've used with most of the teams that I've worked with over the years. Now. But we'll go ahead and we'll just select this template. So go down to select the project type and click Use Template. All right, so your template is selected, and now we need to choose the project type. So you'll need to create one of these in a team managed or accompany managed format. The team managed is just these very simple configuration. You don't really need to mess with any custom configurations. And it's just, it's very good for small projects in small teams. But we're going to be working with an expert configuration because this is something that you'll encounter most oftentimes in a corporate setting and enterprise setting for an expert configuration. And you may not have control in your own enterprise with permissions and things like that. And that's why we recommend the Jira free software cloud account. So you can go in here, create your project and select the company managed project. Okay, So click on that. And now you're going to be prompted for creating the project name, which will generate an issue key for that. Now if you get these pop-ups, you don't need to worry about this stuff. You can just click on, got it here. This is just for connecting some other tools that you might leverage, but we're just going to focus on getting this project up and running. So create a project. Namely, we set our project was going to be four For a copy of writing application that uses artificial intelligence. And so the name of it is awesome copy. So we'll say our project is awesome copy. And it automatically generates the key here and here as AW. That's fine. We can just leave it like that for awesome copy. And that's just going to be the prefix that's on the front of every one of your issues that gets generated in your backlog. And so you'll see what that looks like more once we start importing our issues. But it's just a unique identifier for each individual issue. So you'll have a w1, a W2 to W3 just depends on, on, on which issue in that order you import. Okay, so we'll go ahead and click Create. Now that we have our name and key setup. And now we're back into our initial setup for our project. So you can see here, just taking a quick look, awesome copy. Software project has been created. You can see you have a board. There's a road map section here, backlog, Sprints and some other areas that we can, can, can see that we have in our company managed project. Now, one key thing to note here is how do you know that your project is a company manage project and not a T manage project. Well, you can look at the bottom left of the navigation pane here and it'll tell you you're in a company managed project, or you're in a team manage projects. You click on this link to learn more about the differences between those two. But you want to make sure that you're in a company manage project. And I stress this just because, and some previous Jura courses that I've taught. And that's been a big question that comes up a lot as to which project type should I be in and how do I know which project type I am using? So once your project is set up, we're going to want to set up required fields. And the reason for that will be as so that we can make sure we have the most accurate data. As new issues get created into our project.
7. Set Required Fields: In this lesson, we're going to cover how to set up your required fields in your awesome copy your project. Now, required fields are important for one key reason. And that is if you're going to be building any reporting based off of your AQL filters and the issue fields that you include in those. You want to make sure that those fields are being required by your end users. Or if you have any automation that's creating stories in your backlog for you to fill those fields out completely so that you are reports are a 100 percent accurate. Oftentimes what happens is people are reporting on fields that are optional. And in many cases there are Azure projects get bigger and bigger and bigger. There, there's a potential for data loss and missing critical stories that just simply don't have that particular field filled in. So I just want to cover this lesson and preface it by saying for our purposes, we're going to, it's going to be very simple. We're only using one required field. And that's going to be the component field. And if you, if for some reason you're having trouble trying to find where to set up the required field. I wouldn't stress over it, especially when your workplace, you probably have a Jira administrator at your workplace. That's not you. And that person would be the one that has the access to be able to do something like this within your project and within your company. Jira instance. Okay, But that said, assuming that you've already created your free Cloud account and created your own awesome copy software project as a company manage project. We can then open up our project and go to the project settings and the lower left-hand navigation pane. And now in your project settings, you're going to want to click on issue types. Okay, so you can follow along with this video. But again, keep in mind when we're dealing with company manage projects in the project settings and some of the administration screens. It can get very complex very quickly. So I recommend if you can get through this lesson and set the required fields, that's awesome. But don't let that hold you back from continuing with the rest of the course because the component field is going to be available to you by default. And this step is just putting an extra guard rail to give you that required field as part of your issue. So click on issue types. Ok, now in here, you're going to want to click on the field configuration, and we're going to click on the default field configuration just right here for bug. Okay? And you can see I've got a lot of boards, different screens here set up. You're probably, if you have a brand new account, you're not going to see all of those. But we're not going to worry about that. What we're going to do is we're just going to look for the component field that's here. And you can search for it. Just type in component. Alright, now you can see components. And there's a required button here to the right under the Actions column. And we're just going to click on that. Okay? Now you can see it says that components field is required. And now if we go back to our project, go back to our awesome copy project. Now if I want to try to just test this I could create and I can type in a summary. We'll do test component. And you can see here there's an asterix right here, a red asterisk saying this is a required field. Now, when we try to create this, you can see there's nothing there. It says none and it doesn't allow us to edit that field. And if I try to create and I click Create, it's going to give an error message saying component field is required. And this project, awesome copied does not have any components. So what you need to do is create your components before you start, at least one component needs to be created in order to leverage this field. All right, so you know, when you're working with a new project, that's a key distinction that you need to understand. So we'll go to the components tab here. And you can see create a component. And I'll just type in test here. For our demonstration purposes. We'll click Save it. Now if I wanted to create an issue, it would give me the TextField here to start typing in or the drop-down to select test. If I want to create a new component here I can say new component. Now that there is one component value in there, it's going to let me do that and then I can just click new component. And it will automatically create that component for me once I hit the Create button. Okay, so now you can see that I also add a new component and the issue was created. Okay, so if I go back to my components list, I can see, I just have to refresh the screen there. And I can see there's new component and I have one issue that is tagged to that. Okay. So that's just kind of an overview and demonstration to show you when you set a required field. But it's important to just make sure it a brand new project, especially with the components that you have, a at least one component created so that you can start feeding issues. And we're going to cover that more when we get into our import section. Because we want to make sure that the components are all created before we actually go and try to upload and import a list of bugs for our awesome copy project.
8. Creating Components: All right, here's a sneak peek into what we're building, just so you get some contexts. So each of these components are building these little charts and graphs out I'll be using. And we are going to be creating three components in our project so that we can import the bugs that we need to be working with RJ QL filters through the rest of the course. So back in our project, we're going to be creating these three components, AI engine, user profile management and subscriptions and billing. So to do that, click Create Component. I'm going to call this one AI engine. And it's important to make sure that you have the exact same names that are going to be in your import list. Because if they don't match up, then you will get errors when trying to import. So we'll do a final flight checklists going through our import to make sure everything looks good before we upload it and be all set. So we've got AI engine here in the name, and we're going to just leave that, leave everything else as default. Just click Save. All right, the next one we're going to create is user profile management. Okay? Type in user space profile, space management. Click Save. All right, and then we're also going to create subscriptions and billing. Create component descriptions, space and these villi click Save. And I like to make sure that I keep my components clean so things I'm not using, I'll get rid of. So I'm going to delete the test and the new component. When you delete a component that has something assigned already, it'll ask if you want to, you want to swap it with a another component so you can switch it where you can remove the component from all issues and we're just gonna do that. So click Delete. All right, so now we have a clean component list. We've got user profile management, subscriptions and milling, and our AI engine component. And the next lessons we'll be using the import process to import our issues based off of these components. And we'll roll our sleeves up and start digging into actually creating some of the filters that we're going to be using to build out our bug dashboard. See you in the next lesson.
9. Importing sample project issue data: All right, so I hope you have all of your components setup. If you haven't done that yet, I suggest you go ahead and do that now before we get started with this lesson. Okay? So now provided that you have all of your three components created in your Jira Project. For Awesome copy, we're going to download the CSV file, the comma separated value spreadsheet file that you would normally see in Microsoft Excel. You can open those in Microsoft Excel, or you can open them in numbers on a Mac or any spreadsheet application that you have. And copy and paste those component names in if you haven't done that already. So we're going to open up and I'll just show you open up the spreadsheet. And this is what it looks like. Okay, so you can see we have all of our issue types in here in a CSV format file. And the reason for that is we're going to need to upload that in JIRA. And that's one of the formats that is required to select when you're doing a CSV upload, when you're doing bulk import in JIRA. Okay, so you can see we have some bugs here that are already in the Done status with some timestamps as when they're resolved and resolutions. Here, all your components that are related to the issue summaries that are here. And we only have about 50 of those that are entered in here. More than enough for our demonstration on how to set up dashboards. So go ahead and download this from the resources section and spend a moment just checking the file out, making sure that you have something that looks similar to what I'm sharing my screen now. And then we'll go ahead and to JIRA and start the import process. Okay, So back in your Jira project, go back to your components. Make sure you have your user profile management, subscriptions and billing and your AI engine components created. And now we're going to go with the import process. Now there are a couple of different ways to do the import. But for our demonstration purposes, since we want to import issues that have already been closed out with some resolution codes in there. We don't want to use the standard way because you can't import resolved issues as of this recording using the standard way. But i'll I'll show you what the standard way looks like just so you know what the difference is. So the standard way of importing issues would be to click the Create button import issues and then go through that process. That is not what we're going to do. Okay, So we're going to cancel out of there. The import process that we're going to do is going to be done within the the administrative section. So we're going to click on the switch to menu and go into the administration section. Okay, From here we're going to access the application settings. You can see at the bottom left of your screen here, we're going to click on Jira. Okay, Now in the import and export settings, in your left navigation pane, we're going to click on external system support. And this is where we want to select the CSV format. You can see there's other formats and other other places we can do imports from as well of a for our purposes, we just need to select the CSV value. And now we're in the CSV file import screen. So what we're going to do is we need to choose the file that you downloaded, the CSV file for this lesson. And that's what we're going to use to upload. So click on the Choose File button. Okay, I happen to have mine in the Downloads section, we're going to click on the CSV file name that it downloaded. I have titled as J QL course import issues dot CSV. I'm going to open that up. All right, I have my source file uploaded and there's a little checkbox here that says use an existing configuration file. So after you do an initial import, you have the option to save the selections that you've made during the process for field mappings, things of that nature. And save that into a configuration file to help speed up the import process as you do future imports that you want to follow the same setup for our purposes, we're going to leave that blank. It'll be a good exercise for you to go through the import process and the field mappings to understand how it all works. Okay, we'll expand advanced. Now, we're also not going to mess with this because we're going to use the default values for encoding and the CSV delimiter or comma. Okay, so we're going to click next. And the next thing is you're going to want to select the project. And our project was awesome copy. Okay, awesome copy. And the key is a W. If you've created a different key, that's okay. But again, just make sure you select that project that you set your components of end. Awesome copy. And we're going to skip the e-mail suffix for new users. Since we're not going to be. Tagging any or creating any new users. And then we have our date format. I'm going to leave that as default as well. The only thing I'm going to take off of here is the hours, months. Right here. We're going to take off that, add a text at the end of the day, month and year. So just delete that. Okay, that's just gonna make sure that when we do the import, any date field values are going to match up. Okay, I'm going to click Next. All right, now in this screen we have all of the fields that are in there. Csv file, the components issue type resolution, resolved field, status field in summary fields. And it gives us a little example of just a snippet of data in one of those fields to show you what that data looks. All right, so we want to map the fields to their corresponding fields. So in this case, components for components, issue type. For issue type. Go ahead and match up resolution. And resolved is going to be the date resolved. And we're going to say status. And this is going to be the status and summary. All right, Now you want to go in the map, the field value, we're just going to click these checkboxes so that they're all going to map. All right, we don't need to worry about any of these additional paragraphs below. But feel free to read through those. And we're going to click Next. All right, and it'll show you the components that are going to be mapped. Everything is looking good so far. Bugs Don all date values, okay, and all our status, our summary. So error codes, things like that. All right, and we're going to click Begin import at the bottom. All right, so now you're going to see this Status screen for importing. All of these is if you see any errors, that's what you want to address. But for the most part, if you've been following this lesson to the t, You should not have any issues during your import process. If you do have issues, feel free to send me a message. I respond to my messages if you need support on your import. But again, use the CSV file that I downloaded and make sure that you are importing in the Jira settings, the global Jira settings, external system support area. And, and you'll be all set and get all of those issues into your project as expected. Okay, so now you can see that one project and 50 issues imported successfully. And that is you can download an detailed log of this import if you wanted to. So this would be beneficial if you could click on that. All right, and if you could save this file somewhere as a text file, this would also help me in helping you troubleshoot your import if you do have any issues that happened. But, but basically, if you see this 50 issues important successfully, you're in the clear. And you can also, like I said before, in the beginning of this import process, you can save the configuration for a future use. And when you click on that button, it'll just download. And it'll, it'll say CSV configuration and give it sort of this, this number dot TXT file. And you can use that to select during the import process if you have to run through a similar import, okay, and then import and other project, you could do the import process and start that all over again. Okay, so we are all set with our import. And in the next section we're going to go ahead and take a break from our project setup. Since we've already done that and we've already set up our components and imported issues. Now we're going to start to play with the basic searching and the advanced j QL searching a little bit. So we can start to understand more of the search capabilities that are at our fingertips and then get our skills up so that when we go into future sections, we will start to really build out our particular URL filters and get our dashboards up and running. See you in the next lesson.
10. Basic Search: All right, So now that you've imported all of your issues, hopefully you've done that and if you haven't, make sure you go back to the previous section and previous lesson, and go ahead and do that now. Okay, so once you've imported all of your issues, we're going to click on Projects, makes you go back to awesome copy and get out of your administrative settings. And we're going to click on the Issues link here in the left navigation pane. And as soon as you do that, you're going to be presented with the search bar up here. And by default you're in the basic searching view here. This is the basic searching view where you're going to be presented with a free text field. So if you want to type in, Let's see, payment type. That'll just basically parse all of the free text in your Jira issues and only filtering on those specific issues that, that you want to find. So that's a nice quick way to just find issues in here. Now you'll notice that in the basic view, you can do these dynamics searches. You can click on the assignee if you wanted to. And now I can just put in my current session, current user. If I was assigned to any of these, but when we imported them, we didn't have anybody assigned. So by default, every issue in here is on assigned. You can go ahead and click on the reporter. That's also going to be me here because I was a logged in user when I imported them. You can click on that just to say nothing too special about that. The various statuses. Now here's where you can see, it'll change. We did import some that were resolved. So if you scroll to the bottom of the screen, you can see 22 of those were resolved. We've got in progress for those that are in progress and some to-do hear about 17. Okay. So you've got that. These are different ways that you can type, different issue types in here that you have in your project, as well as the different statuses. Now, one thing to know about the basic search is that you have a switch to Detail View button here. You can click on that. And that'll basically get you into a view where you have the list of all your issues here in the far left. And then you also have a detailed view here where if you click on any one of these, you can see more details as far as the actual issue data within each one. Now I don't like to use this in particular because I find it that it's better to use these, the Scrum boards or Kanban boards and to open up and inspect each year issues that way, especially as you're working with your Agile teams. But what I do find is the ListView to be very powerful and will get two reasons why as we dive into the advanced views and JKL filters. But with regards to basic search, there's some things that you're limited on here. You cannot customize the columns that are showing. By default, this is, what you see, is what you get. You can do is you can click on these little three dots here. And you can action to different things against this ticket, which is nice within each ticket. But one thing you won't be able to do is if I click on the three dots here, I can see I can bulk change. I can also import issues into this project. Or I can export these issues into an Excel or Word document or any other document so I can work with the data outside of Jira. But one thing I can't do is I can't save. So if you're watching this video in the future, that might change. But as of this recording, he cannot do that. And so with the advanced search, that'll give us some additional capabilities. And we'll get to that in the next lesson. Before we get to the next lesson, I want you to spend just a few minutes just playing around with basic search capabilities, picking out some text strings here, you can just drag and drop and copy, or just type it in manually. And go ahead and play around with that. So type it in, do some basic searching, clear it. And in the next lesson, we'll dive into the advanced searching capabilities.
11. Advanced (JQL) Search: In this lesson, we'll dive deeper into the advanced searching capabilities and what your a has to offer. And one thing I want to start off with saying is that this is a very, very intuitive application in general. So when it comes to searching, you'll be able to create a lot of cool filters based off of a really cool key feature that is called autocomplete. Now if you ever typed into Google, go to google.com. And when you go into Google, you can see if I type in how to use j, q, l. You can see it's auto completing here and give you some suggestions, right? And so it's the same concept with AQL when you're writing new JKL filters and whatnot. But a couple of things to note when you go into Advanced Search. Go ahead and click on advanced search if you're not in there already. So again, just want to go back through this. If you looking at my screen here right now I'm in the all issues screen. Okay. So if you're, if you're in the all Issue screen here and you see this Advanced Search button here. You can click on that. And that'll take you to the advanced searching here. You can see that those buttons are now disappeared and you have some additional CSV, Excel, google Sheets sharing links and some other operations that you can do here for importing and to produce some bulk changes. You also have this drop-down here for list versus the detail view that we covered in a previous lesson, as well as the columns you can toggle on and change the various column layouts that you have here. The hide and display them. You can also move them so you can take, let's say this updated date. And I want to move it all the way up here in the before the assignee, you can drag and drop that. And what's nice about that as if you're writing a filter that you only want to see specific information, you can drag and drop it wherever you want. And then you can go ahead and save it as that filter name. So when you click Save As, and we'll just call this Test filter by updated. Okay, I'm not gonna say that because it just drag the updated field and put it in front of the assignee here as an example. But you get the point. So you click on Submit. And then now you can see that your filter here says test filter by updated. All right, So before it just says Search, but once I save it, it'll say test filter by updated. Now some additional details here that you'll want to look at, just permissions and subscriptions, and we'll cover those in a future lesson. But what you'll want to understand about advanced filtering is that there's two different modes. So one is, and you can even call this basic, kinda call it basic because that's what it is. Even though the previous lesson we covered the actual basic screen where you had a few limitations here, such as you couldn't save. But now in this advanced view, you have some of these drop-downs that you can search on. But you have the ability to save. And you also have the ability to switch to Jake QL for advanced searching, right? So out of the box, the advanced searching screen that you're looking at here is lot of capabilities so that you can use. But as you get more advanced, you think of different ideas that you potentially want to surface data. You'll really want to leverage AQL because you can really put together some neat combinations that you just can't quite do in some of these other formats. So just take a look here and see you've got a drop-down for finding projects. If you have a lot of projects, you can do some string searches for whatever those project names are or keys, issue keys. So you can see I've got bank buddy here for an app that I did a lot of different projects. And this project in particular, Awesome copy has the key of AW. Okay, we've got, we've got the types. So you can search based off of the different issue types that you have in your project, different statuses, assignees, and you can also add additional ones here. So let's say I wanted to put it in a due date filter. I can add one here and it'll give me a nice drop-down to get more advanced into what kind of date ranges I might want. And what's really nice about this is that if you're brand new to to Jira searching, this is very user-friendly. And when you put this data in and switch it to Jake QL, it'll actually translate what that looks like in JKL for you. So I'll give you an example. If I wanted to say now overdue and keep this very simple. So you can see what we'll do is click update. And it says now overdue and there's nothing there because I don't have anything that's set with a due date because we don't have anything that is set with a due date and are important issues. But if I switch to JKL, you can see there's a do. A du is less than or equal to 0 and project equals our awesome copy project orderBy. And created and descending order. Okay, so we switch back to this basic innate preference that before when I said, when I refer to this as basic, because really within this advanced mode you have the two basic filters, this or the J QL. Okay? So that's just one way you can take a look at what AQL looks like in your different filters. So we can do that again. We'll go back to this basic link here and we'll take out overdue. And we'll just say, you know, I want to look at everything that's done. All right, so now I can switch to J QL. And I can see that the project I'm selecting is this one with the project key is a W. And status equals done. That little drop-down that I selected four, done. It's putting that in writing that in for me. So by default you get this order by the sorting. I'd, I created descending. But you can change that. All right, so if you wanted to sort it and say, you know, I wanna do ascending, so I can delete this. And what's cool about that autocomplete that we talked about before are similar to Google. You see that it's automatically completing here based off of the texts that's been entered. Now if I hit space, it's going to give me options of what I want to do based on the available actions that filter is going to give me. So for created, I can sort by descending, which was what we had. But now I can just change it to ascending. And now when I search, you're going to notice that these keys are going to all change. Search. Now you can see it's ascending. It's going from 2, 3, 4, 5, 6, all the way up from the lowest number to the highest. Okay, so now I can go in here and let's say, you know, I'm starting with this project and I'm starting with a blank slate. And I can see that in order to create some advanced strings, it's going to automatically suggest some potential combination. So if I'm selecting this project, I want to say AND, or, OR for the various conditions of my filter. Let's say I wanted to do this project and component. When you start typing it in, you look for the field component. It's automatically there and you can click on that. It'll complete it for you. It'll give you the various operators so you can see if it equals, it does not equal, is not, is not in an end. So what's really nice about these is if that if you wanted to combine multiple, you can use the NOT IN and the n clauses here. And if you're struggling with learning some of this, don't get too discouraged because there's syntax help links all the time that you can just quickly click on. And it'll take you to the support documentation for advanced searching with Jake QL to help give you some pointers on getting your AQL queries up and running. Now, I use this a lot, and I do leverage Google and use this a lot. Just depends on the complexity of the filters that you're trying to create. And as you get really skilled at this, you'll come up with different ideas to put together different filters and create some really advanced combinations to build some, some data dashboards that that'll really be beneficial and servicing the data that you're trying to do, you're trying to report on. Don't get discouraged when you're, as you're building this, this is a, this is a skill that will take you time to build, but as you're always thinking about different ways to create new filters, you'll get the hang of it very quickly and be able to create some really cool dashboards and things like that. So these operators here, so if I were to just click equal, I can say equal. And now I can see a type and again, i w space. It gives me all of the available components that, that I've typed in my JIRA Instance. So some of these components are from different projects. So it allows you to leverage components globally from multiple different projects from your instance. But we won't find anything. So if I clicked on email marketing and I tried to search, I'm not gonna get anything because I don't have any components created in this year project for email marketing. However, if I wanted to select AI engine because I know it's one of the three that we imported. That's one of the three components that we included in our imported issues. I can click Search. And now you can see in the component field here, I've got all the results that are for AI engine that come into place. Okay? Now if I wanted to include not just the AI engine, I could type in equals. Ai engine. And now here we go again. We're going to say and component equals subscriptions and billing. And you can see how that adds some quotes there, because we're doing is string search and the string search. Rook will require quotes if you're going to be putting any spaces or special characters in side of your search query. So if you're familiar with other forms of querying, SQL or SQL or other database languages, then this will be pretty intuitive for you. If this is your first time doing some more advanced searching, it may be a little new to you, but just, just understand that whenever you're searching for not numeric data, you don't need the quotes. But when you're searching for text strings, it's best practice to include those quotes. All right, so we have two different clauses here. And now we search for it. We don't have anything because now we're looking for the criteria for it to be both in the AI engine and the subscriptions and building one. So we don't have that. Now. If we type in or you'll be able to see that it's going to return both sets of results, all the ones that have subscriptions or the ones that have AI engine, which makes total sense, right? So now one of the things that you'll come across a lot is as you're going through writing your AQL, you'll say, Wow, I've got a really, really long DQL statement, this filter, It looks like I'm writing paragraphs. So one of the things I like to cover when writing these is the DRY concept. Don't repeat yourself. And for developers and programmers, this is a familiar, or should be at least a familiar concept where, you know, you want to minimize the lines of code, the amount of code that you have to achieve the same result. And so when we look at component here, we've got component value strings here, phi two times. So some of those operators will help us minimize our code by saying, Okay, well, instead of saying component equals AI engine or component equals subscriptions and billing, what I can do is take out the equal operator and leveraged the n operator. Okay? So what N is going to allow me to do is you're going to notice you're going to need a parentheses here. But if I just click AI engine, it automatically puts it there for me. Okay, So this is, again, this is what's really, really nice about the application is that it predicts some of these things in and just enters the information in for you. So if I said AI engine, now the next thing I need to do to put this together is the separated with a comma. And I can say subscriptions and billing. So I can see here now I've got the two different values for component, but I only have component written watts. Okay, so now if I hit search, I'm gonna get the same result. But just with less text in my filter makes sense. And this will be very beneficial as you start to string the more complex filters together. And it'll help make your filters more readable and just produce less errors when trying to write really long complex queries. Okay, so this is a quick crash course on J QL advanced searching. But have fun with it. And the assignment I'd like you to just kinda go through and play around with searching, will use components for searching and a few other things in the assignment. So go ahead and do that. Just have fun with it. There's no grading or expectations as far as that's concerned. Just want you to get familiar with typing in the AQL searching bar here. And then we'll work on saving your filter as well. And then future lessons kinda just diving into the various details of each of the elements within your Saved filter. And yeah, we'll have some fun with it. So see you in the next lesson.
12. Key Foundations of Filters and Subscriptions using JQL: Hey, welcome back. And in this section that we're going to cover the key foundations of filters and subscriptions using JT. Well, by the end of this section, you will have the skills and understanding on how to save your JKL search into a Saved filter, set permissions, subscribe to notifications, but overall, be able to apply some of the best practices when it comes to creating and defining great JKL filters.
13. What defines a great JQL filter?: In this lesson, you'll learn the key concepts that make up a great search filter by using concepts such as dry or don't repeat yourself from software development, as well as leveraging autocomplete to help you build queries faster. You'll master what it takes to write effective clean JKL from scratch. And additionally, by taking a user-centric design centered approach toward filtering your issues will help you go a long way to create better filters that will match what your users expected and enable you to power your reporting efforts and teams to make better decisions. And the concept of don't repeat yourself bears in mind we mentioned this in the previous section, but it's something that in this case does want repeating. And the concept of not repeating in your code, it makes it nice and efficient. But we want to hit home this point because I've seen a lot of Jacob well queries over the years that have very complex or very difficult to read statements because they are carbon copies. There's lots of lines in the statements that achieved the same thing. And what you can see when you go back to your geo project, similar to the screen in the previous section, you can see that I've got my J QL window opened up here. I've got my project setup here as private equals Kw and component in AI engine, subscriptions and billing. Okay, so one thing to note is that in this, using this IN operator, this is essentially the same thing as implying the or clause in the rest of what's hidden between the parentheses. So basically what this is saying is I want everything in this project AW, and all of the issues that have a component that are in AI engine or subscriptions and billing. Okay? So if I were to write this out without this, I would be typing component equals. And then I would put AI engine. And then I would include or component equals subscriptions and billing. Okay? So you can see how this is not very, don't repeat yourself friendly. Because what it does is now each time you want to add a potential new component that's in, you'd have to keep typing it over and over and over again. So if I wanted to get AI engine subscriptions and billing or a component of user profile management. I'd have to explicitly type in each one of these equals statements with component mentioned 123 times in this example, as opposed to cutting it down to one, using the AND operator and putting all of the component names in the parentheses, which is the best practice in this case, both of them will work. But as you start to build more complex queries, you will soon see that benefit of consolidating and cleaning up and minimizing your search strings a little bit. So less is more in that case. And so I really wanted to just take a moment to highlight that again and show you that, you know, this is going to go a long way and building more advanced queries as you practice this in your own projects, day-to-day projects. If you have any questions, let me know. In the next lesson, we'll go about saving our filter and touching on some key highlights during that process. Okay, so in summary, we covered an example for not repeating yourself when writing clean, Jay QL. Now both of these ways you could use to get the same result. It's just that one is preferred over the other when it comes to the efficiency of your AQL. So we have Project equals AW and component in AI engine, subscriptions and billing and user profile management would be recommended over writing the clause for component equals over and over and over again, as you can see in the not recommended solution at the bottom, again, both ways will give you the same result. But there is a recommendation, especially as you start to write more complex and advanced queries. It will help not only with the performance of your queries, but it will also help in making sure that it's easy to read for anyone else trying to understand what your queries are doing, as well as debug if there's any issues with your filtered results.
14. Save your filter: In this lesson, we're going to save our AQL filter. Now, this is a simple process, but it bears in mind it's super-important to follow some sort of best process in doing this. So that as you start to build a lot of filters, it's very easy for you just to look at the title of the filter and understand what it is intended for at a high level. So for example, giving your filter a simple yet descriptive name, you won't forget. So you can easily identify which specific results it's returning. As you get more complex and you're filtering, you can use the description field of the filter to be able to explain all of those details. But if it's very, very quick and simple filter, you can just name it with what it is that you're searching for. And we'll dive into an example in just a moment. But it's important to note that this is critical if you want to use your filter, your safe filter as a function of another JKL filter, which we'll talk about in a future lesson. But when you start to leverage some other tools and plug-ins like script runner that allow you to create nested queries and functions. You can get really, really, really advanced in how you would like to build your filters. So just something to keep in mind. But let's go ahead and save our filter that we just created in the previous lesson here we got our project AW and component. Put a separate one for each one of these. And we're going to clean that up so that it's only a component in operation. And simplify that, modify that a little bit. And now we've got component in AI engine subscriptions of billing and user profile management. Now, I see I've got the gray button here. It means I haven't. I need to run the search first before I can save my changes. So I'm gonna click search. All right, and now have the ability to save this. Right now, I did save this initially as tests filter by updated. But if you but if you don't have anything there, it shouldn't say that at all. So I'll just go ahead and search issues here. What it'll do is it'll just say search here. If you haven't saved anything at all. And now I'll be able to save this as. And in here we're gonna put a descriptive name. And so in this case, my filter is finding all of the components, okay, these are all of our three components that we're using for this project. So I'm not I'm also not specifying any specific issue types. I want to find whatever is in these components. So I'll say all issues and all components. Okay? If I know that there's going to be a potential for a future and a components to be added to this, then I would have to make sure I'd go back and add those components in here. So this may not even be the best description for this, right? So keep those things in mind as you're writing these things right now, these are all the components I have. But if we want to be even more specific, I can say all issues in AI, engine, subscriptions and billing and user profile management components. Okay, So now I can click Submit. All right, and I can see that it says all issues in AI engine. It's a long one, a little bit longer, so I can just highlight and as tooltip that should come up, you can see all issues in AI engine subscriptions and billing, and user profile management components. Okay, So very concise, very descriptive. It's exactly what the query is doing. Now, if I had a very robust and complex filter, what I can also do is go into the details here, right? And where it says permissions here. We can put in the name here for the title. And then the more detailed description of what the issue filter is going to be doing.
15. Set your permissions: All right, So after saving your filter, make sure to set the permissions so that others, you users can view it. Especially when you're building nice looking dashboards. Nothing is worse than having this great looking dashboard that you want the world to see. But they get an error saying they don't have permissions to view it because of your filters are being locked down. So what we wanna do is make sure that we enable that so that it's able to be viewed in any get dashboard gadgets or embedded reports using tools like Confluence. So let's go ahead and enable the permissions here where you can see where it says access private by default, that's the setting. But we can go ahead and we can create group. If we have a group that we want to only share this with the entire organization that you have within your incidence or even opened it up to the public, right? So if anybody has that URL, so for our purposes, we're just going to put my organization. So anyone logged into my instance, you can click on public just to see what that will do. Anyone on the internet, no sign-in required. Okay. So if you're sharing this with some folks that may not be part of your instance and stake holders maybe that I've been more business people that don't necessarily need a Jira login, but we'd like to see some data. Then you might want to do that. But go ahead and select my organization for now. And then we'll click Add and we'll click Save. All right, so now you have your permission set up. And they were a access for folks to View, and you should be all set. Now if you click on the Details link about the filter, you can see permissions. This filter is visible to any logged in users. And if you want to go back and edit it and change it, you can. We just hit Cancel. And that's how you would set up the permissions for your filter.
16. Subscribe for email notifications: All right, In this lesson, we're going to subscribe for e-mail notifications. Now, email is still quite heavily used in a lot of organizations today. Even with the social collaboration tools like Slack and other different types of communication applications, email is still a very critical tool in being able to receive different types of automated data, especially with in Jira. You can set up automated email subscriptions for your filters and say goodbye to having to copy and paste links and manual emails based off of your filter criteria. So let's go back in to our filter here, we can see that we've got the Details tab that we were just Stanford to set permissions. Now if you go underneath of that, you'll see this filter has no subscriptions. So what I can do is click on new subscription from within this filter, right? And I can set this, I'm going to set this as a personal subscription. You can set some more group wide global types of subscriptions, but I don't want to blast anything right now. I just want to just send it to myself. And I'm just going to say daily days per week, days per month, or advanced. For our purposes, we'll just click daily, leave it daily. But you can play around and see what some of the things you can do here. You can even use chronic expressions if you're familiar with cron. You can use chronic expressions to specify more advanced intervals that you like this to Ron and report on. But most of the time, I'll be honest with you, I've never really had a use case for that. It's just been daily days per week, month. And so when you do that daily, you can select the interval once per day, every three hours, two hours, however we like to do it. So usually what I like to do is if I have a run that's going to be for a daily, I would probably put it like first thing in the morning when I get into the office or the login that we I can see a fresh report. And so I can you can specify a specific time if you wanna do it like that. So once per day, I will put, say eight AM, Okay, and now you have the option here to e-mail the filter even if there are no issues found. I don't like to do that because it just it's wasteful to me to get an e-mail and click it and see nothing in there. Right. So if I do see the e-mail covenant in my inbox, I know that there's actually something in there that needs attention. So you can click subscribe. Okay, So now if you go to the details tab, you can see that you have been subscribed to it. You can even set up new subscriptions for yourself for other intervals if you'd like. When you click on the Manage subscriptions link, this is going to bring you right into the filter listed of subscriptions. So anybody that subscribe to this filter, you'll be able to see how, but you will only be able to run the actions against your own account. So you don't inundate other folks with emails. But I can run this filter now. And it will send it to the email account that you have registered or this for your user account. And then you'll be able to get that and take a look at what that looks like in your email. So let me go ahead and do that. I'm just going to click Run now. All right, And as you can see, I checked my Gmail inbox and I can see that I have the filter name here and all of the issues that are returned as a result. We talked about in a previous lesson and making sure that when you save your filter, that you have the right columns that you want in your view. Because this will be also included in this format when you get these issues sent to you, your inbox him in an email format. So it's really nice, It's really nice way to generate some automated reporting. And you can click on each one of these links that'll take you directly to those issues to, to update them or, or do whatever you need to in order to manage them. Alright, so go ahead and set up a subscription for yourself. Save your filter 70 subscription. Run it, and just play around with that a little bit and take a look. And you don't brainstorm and think about some ways you might want to use some of these safe filters in your own projects. In the next section, we'll switch gears up and create RJ QL, save filters for some more specific things that we're going to do by building a custom bug dashboard for awesome copy. And it's going to be for open versus done bugs. And so I'm really excited to dive into that with you and start building some really cool dashboards. See you in the next section.
17. Creating JQL saved filters for Open vs Done Bugs: All right, welcome to this session on creating JKL save filters for open versus done bugs. By the end of this section, you would have created the required filters to be used as the source for you building newer open versus done bug dashboard. In our awesome copy project.
18. Building a bug dashboard: In this lesson, we'll cover building a bug dashboard and what it's going to take. Now, there are endless ways you might want to consider surfacing or project data. But before building a bug dashboard or any dashboard for that matter to show the defects or issues for project so that teams can view and track progress to improve software projects will need to create some saves filters first, the safe filters will be the key data sources for creating the various gadgets that you can put on your Jira dashboards.
19. Create JQL filter for finding all Open Bugs: Alright, in this lesson, Let's go and create our first AQL filter for finding all bug issue types that are in the open status. This will be used in the next section as the source filter for our pie chart and filter results gadgets in our bug dashboard. Okay, So back in your project, if you're not in the filter section, go ahead and find the navigation link for filters. And go into advanced issue search, the very bottom of that menu. And now you should be in your advanced issues screen. If you're not seeing this J QL, a free text query box here you can go ahead and click on the switch to advanced link that's in the far right of your screen. So if I switch back to basic, I'm going to see all these drop-downs. And then I can click switch to J QL and back in my J QL. So we're going to find all open bug issue types. So the first thing we wanna do is we want to define the project. This is the first thing that anytime I go right to sourcing age AQL filter, I asked myself the question pertaining to just my project or multiple projects. In this case, we're going to say Project to type in Project equals. Now this order BY created descending, that just kind of a placeholder default text. I'm going to delete that out. You can sort it if you like. Or main thing is that we want to find the project awesome copies. So I've got an awesome copy. I like to use the key. And the reason for that is, is if the name ever changes to the project, the key will always stay the same. So that's a key thing to note. If you want your, your AQL filters to be future-proof in a sense, then you wanna make sure that you're leveraging the key and not necessarily the name. So you can leverage the name. There's no harm in that for your own projects, but, but I've found that it's very beneficial just to do this so you don't incur any errors in having to update the name in your AQL filters. So Project equals AW and issue type equals bug C and that auto-completes there. I'm just going to select that is you type equals bug and status. And what we want is open. Okay, So from there, But I click Search. And now I don't see anything. And I wanted to show you this as part of troubleshooting a filter. Sometimes you, we type in things that the values are just not pertaining to our project. And so it's always good to keep in the front of your mind a troubleshooting mindset, right? So when we're looking at this case, we know that we imported all of our issues and they're there. So it's a question of okay, well, what is the exact status now? We call them open because they're open, they're not closed. But there's a specific status that you're issues that you've imported our n and it's not open. So how do we figure that out? We just take out the status statement. And now we're just going to find Project equals AW and issue type equals bug. So we're going to search. All right, now let's go ahead and troubleshoot. And we can see that the status column. Now, if you don't see the status column in your view, remember, you can always toggle it on. You should see it by default, but if not, you can go to columns and then look for status, and then check the box for status. Okay? So we're going to cancel out of there. Go ahead and enable that if you haven't seen that yet in your view. And now I see all of the open stuff. It's an in-progress status, right. So I have a to-do in progress and done. Those are the three official statuses. So what I wanna do is go in here and say, and status equals. And in the drop-down, I'm going to select in progress now notice when I do that, it has quotation marks in here. And it's doing that because this is a text string. And so in order to ensure those values are red, it needs to have those quotation marks to account for the space in between these two words. Okay, so we're going to click Search. Okay, now as works Now I've got 12 in-progress issues. All right. We're going to leave it just like that. And we're going to let you know what? We'll add an order by clause to this. And the reason that an order by clause is nice. Especially if you want to organize your Issues by, let's say priority. You want your highest priority at the top, all the way down to the lowest, or by creation date or by status, all of those sorts of things. So we're just going to organize them by components. Okay, So right now you can see you have components here that or you have AI sprinkled in here, user profile management and subscriptions. Let's do it by components ascending so that our AI are all at the top. So we'll say order by component ascending. Alright, so now click search and you'll see all of our AI engines or their subscriptions and billing and user profile management. Perfect. Okay, so now we're going to Save As okay, and we're gonna say all open. And I like to add in the project key or project name. So AW, Dash all open bugs. And you can even say in progress here if you like, ordered by component ascending. Okay? The rule of thumb I like to use is that if as long as it fits within this safe filter box, I can get us descriptive if I want to. That way I don't have to dig into the filter when I'm just looking at a Saved filter list and I can just choose the filter that I want because I know exactly what it's going to do. So again, that's just a refresher from our previous lessons where we talked about using good naming convention for your filter. So AW, all open bugs in progress ordered by component ascending. Okay? And that's really kind of the statement that you have there in your actual filter clause as well. So we'll do submit. All right, Now, don't forget, we also want to enable the permissions. So as soon as you save your filter, this is a required step unless you're just creating filters for yourself. And you don't want to share it with anyone because by default, you'll be the only one who can see it. So click on details and edit permissions, all right, and go ahead and select the permission type that you want for our purposes, we'll go ahead and we'll choose my organization. Okay. For some reason if you didn't see that, just choose something, I would say public. You can choose public. Okay. And after that, you can go ahead and click Add. And you can see it says Add and your organization there and then click Save. So now to verify, you would just click on the Details tab again. And you can see that it says this filter is visible to any logged in user. Perfect. All right, so now that we've got our filter saved for all open bugs, we can use this for the dashboard gadgets that we're going to report on in the next section.
20. Create a JQL filter for finding all Done Bugs: All right, we're moving along pretty nicely here, so in this lesson, we're going to create another filter for all done bugs in our awesome copy project. So what's really nice is that we already have a base filter to work from. So you already have your projects, set your issue type as a as bug and which only thing we're going to do here. Really simple. We're just going to change the status to. Done. And you can leave the the quotes. It doesn't hurt. But if you if you just click on Don, you'll see that it removes the quotes because there aren't any spaces in the value. So after you do that, we can leave order by component ascending and we're going to click search. OK, now for this one, you can see I've got all my components ordered by this. I'm going to actually change the ordering for the results I have here because I have another value here. Let's say I want to see it ordered by the resolved date. So what I can do here is I can change this value from component to resolved. And we're going to search and see the resolved values change from the oldest date ascending all the way down to the latest date so you can search and find that the earliest one that was done was January 1st. And the most recent one was May 27th. Let's say I don't really want to sift through if I have a lot of buzz, I want to go all the way down to the bottom of list. I want to see the most recent bugs that were resolved, and so I can just change this from resolve descending to resolve descending and type in D.C. or just delete the ascending and you'll get the values when you hit a space after resolved. And just select the descending value and then click Search. And now you have a reverse order. Now, another little quick hack to do this is you don't have to go in here and type. You can just click on the header of the value of the column you want to order by. So watch when I click resolved in the header. This resolved is going to switch to ascending. So click on that. And now you can see the value has changed to ascending. Now click again and I've got my descending, so that's a really nice thing and shortcut to remember that. You know, if you are already looking at this and you want to do a quick sort, just tap the button on the header, the link on the header and it should sort it for you automatically. I can do this for created that say I want to do created. Now you can see I've got two clauses here. So the first thing it's going to do is it's going to order by created data descending. And then after that, it's going to order by resolved descending. So you can add additional criteria in your shorts. But I generally like to try to just stick to one. There are some use cases where you might want to to do that when you're trying to sort by priority and date values and things like that of that nature. But we'll go ahead and just take out the. Created the sending value. Click Search. Now we're back to just ordering by are resolved. Are resolved descending. All right, so just make sure your statement looks like mine and its product equals A.W. Issue type equals bug and status equals done order by resolved descending. All right now, one important note when you save this filter, do not click Save because if you click save, if you're if you're already in a previous filter and you're using this as your base filter, it's just like saving a word document or, you know, some other type of file. If you are in the file itself, you hit Save, you're going to overwrite it. So make sure you click on this, this arrow on the side and click Save as so when you click Save as you can start typing a W dash all open of bugs and we're going to say done all done bugs or by resolve descending. OK. You can do that. Or if it makes more sense for you, you can even say ordered by most recently resolved, right click submit. Go back into your details and we're going to click edit permissions again. Go ahead and select your organization or select public and click Add and then click Save. OK, now you're all set with your done bugs ordered by the most recent resolved date.
21. Dashboard Gadgets Overview: All right, Welcome back. In this section, we're going to create our dashboard for w1 versus open bugs for our awesome copy project. We'll start by creating a two column layout Dashboard, followed by adding a couple of Pi gadgets as well as filter list results. So that you can get a nice dashboard to identify trends to help you have better discussions, more productive discussions with your team on resolving bugs.
22. Create your Dashboard and Layout: So the first thing we wanna do is we want to create a two column layout for our dashboard. So to set up your first dashboard, what you wanna do is click on the navigation menu for dashboards. And I already have one that was testing out, so I have a start one here. You likely have nothing there. If you have a brand new project. And what we'll do is just create dashboard. So click Create Dashboard. Here we're going to call this our awesome copy bug dashboard. Okay, I'll put a little description in there if you'd like. And what I'll put here is just all bugs associated with the awesome copy project. Okay, then we'll go ahead and just click on the Access. Like to make it a best practice to just put in, put in your organization or public to make sure that the dashboard is accessible to other folks. And I'll click Save. Okay, so now you have your first dashboard and you will notice by default that this has created a two column layout for me already. So there's nothing that needs to be done here. But if you don't see this, what you would want to do is just click on the Change Layout button in the upper right-hand corner of your screen. And then you can toggle on between one column, two column, three columns. And then there's also a left sidebar and a right sidebar. Okay, so we're just going to leave two columns for now. And then next we're going to start adding our first gadget.
23. Add a PIE Chart gadget for Open Bugs including all Components: In this lesson, we'll add a pie chart gadget to our dashboard that includes bugs for all components. Now, this will help us show the distribution across each component to identify potential trends that we might want to dig deeper on. Determining the root cause maybe to prevent future defects from occurring in those specific areas. So this is a great view to identify those trends for pretty much any kind of use case that you can think of. All right, so back in our awesome Coffee Bug dashboard, and you want to go and create a new gadget in the first column. So just click on add new gadget. Then I'm going to click Load all gadgets. And then we're going to search for pie, pie chart and click Add Gadget. Alright, now that we've got that, just click Close or anywhere off the screen. So I'm gonna close that window. And now we're asked with selecting a filter or projects. So what I wanna do is find all of the open bugs that we had, we had saved in an open filter. And I can just type an open and it's the AW, all open bugs in progress. All right, so now I'm going to select that. And if you, if you're not sure where your stuff is, you can click on Advanced Search to have some additional capabilities like just seeing all the filters that you have starred and things like that. But we'll go ahead and select our filter. And now we want the statistic type, and that's going to be the components field. And we want to click on auto refresh, just so our dashboard stays up to date, at least every 15 minutes. Click Save. And now you have all open bugs in progress ordered by the component ascending. So we've got our AI engine that we've got subscriptions and billing, and our user profile management. And you can see the pie, pie charts from a percentage perspective as well. Here as you scroll over each section.
24. Add a Filter Results gadget for Open Bugs including all Components: In this lesson, we're going to continue building this dashboard by using the same filter for are all open bugs in progress ordered by a component. And we're going to create a list view. So now we've got this pie chart. But what if I want to see some details as far as what are the issues, summaries, what are the resolved dates are statuses. I want to see that in a single view. So what I'm going to do is click on Add Gadget. So in your upper right-hand corner of your screen, you'll click the Add Gadget button and load all gadgets. And we're going to type in filter results. So filter results is going to give us that filtered list view and click Add Close. And then in the Saved filter, we're going to want to select the same one that we did before, which is the AW, all open bugs in progress filter. And for a number of results, we'll just put in 50. So that gives us the maximum number of issue results to show in the one view. And then we have our columns that we want to show here as well. So for our purposes, we've got by default here, issue type, the key, the summary and priority. If you wanna go ahead and add in say resolved. If it's resolved, you can do that and then also put in the status so that you can see what the status is for our issues. I like to have our status up here somewhere in the front. So I'll just put that after the summary. But you can drag it and drop it however you like and play with the views. And then auto refresh every 15 minutes and we'll click Save. All right, so now that you have that there, I'm just going to click on, you can drag and drop these however you'd like to view them. I like to have my pie charts. The top kind of gives us a nice summary of the breakdown of all of our components. And then below that you can see all of the filtered results using the same dataset that is generating the pie chart. So we've got our t, We've got our summary, we've got our issue type, which is this bug. The status. You have, the priority field. If you have priority said, we don't have any priorities set on our issues right now, so they're all blank as well as our resolved here for the first 12. These are all blank as well. Now I need to double-check. Will just go to Configure. Alright, and I put in the number of results 50. Okay, that makes sense because we are only looking at all open bugs. It's only given us those 12 that we have here. So you can, you can double-check. I do this from time to time, especially as a create a lot of filters in different gadgets and my dashboards. You want to double-check and make sure that you have the same total count. So I've got 12 there, and I've also got 12 down here that are all in progress. So now this also gives you some different contexts, two of fields that you may not need, even need. So for example, we're looking at all open bugs. Well, There's, nothing is going to be resolved there, so you can just remove that. And we can remove the status as well. Because we already know they're all open. And we just have our issue type key summary. And I'm going to even take priority off there. And instead, I'll put assignee. Because maybe I want to see at a high level who is assigned and what issues are not. They're assigned to anybody and what issues may not be assigned to any one just yet. So we'll click Save. All right, so now I can see this is looking better. I've got a, The issue type, which is our bugs. I've got the key, the summary, and the assignee, and all of these are unassigned. All right, so got some work to do to go back to the team and start finding out who's going to take on some of these bugs. In the next lesson, we'll build out the second part of our dashboard to show all done bugs, bar components.
25. Add a PIE Chart & Filter Results gadget for Done Bugs including all Components: Okay, Now let's continue and finish this dashboard out. We've got our, all of our open bugs now we're going to create all of our closed bugs. All of our resolved are done bugs in the right column. So click on the add new gadget and we're going to pretty much rinse and repeat of what we did in the previous lessons for the left view of the dashboard. So now click on Load. All gadgets will search for pi. Select the pie chart, add gadget. Right now we're going to search for all the Done bug. So the AW all done bugs. I'm going to select that filter and again, select the components as the statistic type. And then we're going to click on update every 15 minutes and then click Save. All right, so you can see you've got your open bugs here on the left. You've got all your Done ones here on the right. It looks like we've got a lot more. We've got 22 here. So that's nice. Now we're going to build in the filter results for this one as well. So go ahead and click on the Add Gadget. And then in here, again, we're going to click on Load all Gadgets if you don't see all these. But we're going to search for filter results. And we're going to click on Add Gadget, then click Close. All right, and then from here we're going to select all done bugs as our filter. And again, just put in 50 there over time as you build a lot more of your historical issues, you'll see, it'll, it'll be nice to have the maximum there or not. It just depends on how many you want to show on one view and how much scrolling you wanna do as well, right? So, well, we'll keep that there. And now here in the done one, I'm actually going to want to see I'm going to want to see the resolved. So let's put in resolved and then put an update every 15 minutes. Just check that box and then click Save. Right now I want to drag that over and just drop it right underneath of our pie chart for all done bugs. Yeah, right. You just created your first dashboard. Congratulations. Now you can see you've got all your open bugs on the left view. And you have the pie chart for that as well as the details underneath. And when you look at the dawn one here, now we proactively built this, so it was really nice. We don't have to go back and edit it because we've ordered our filter most recently resolved. So you can see by default, I've got May 27th, May tenth, May fourth, all the way down to January 1st, year. So it's showing us a nice view of our most recently resolved issues. Now, you can simply toggle this on and click on the header and just sort it the opposite way if you'd like to do that as well. So really nice. By default, your filter will order it for you. And then you can just click on that if you want to. Just take a quick peek in a different sort view.
26. Building a Bug Archive Dashboard for Resolved Bugs Assignment Overview: All right, so I hope you're getting the hang of writing J QL and creating dashboards. In this assignment, we're going to build a new dashboard, and this time it's going to be for a bug archived dashboard for all of the resolved issues from this current year. We're going to continue to sharpen our skills by building dashboard from a new JKL Saved filter to only show us the result bugs so far this year. So as you dive into the first assignment, as we create our filter, I'll walk you through step-by-step on how to get this done in the solution demo video. But just follow the assignment instructions and try to do it as best as you can on your own. And then watch the solution demo video to see my setup and the walkthrough on how it was created. Good luck.
27. Building a Bug Archive Dashboard Solution Review: All right, so let's take a look at the completed dashboard here and walk through the process. If you've got tripped up in the assignment, feel free to come right here to the video and watch it, and then go ahead and create it yourself. But hopefully you were able to get through without having to take a look at the video first. So taking a look at the awesome copy resolve bugs dashboard, I've got a Pi widget here that basically shows me all of the unresolved issues from last year broken down by component, as well as a ListView here for all of the filtered results. And I also have the issue statistics here for awesome copy bugs resolve this year for all of the components broken down by a little bar by percentage. So 11 issues, six issues, and five issues is a total of 22 and it gives me a percentage of the total amount that are associated with each, each of these. So it's just another way to view this data in a different way. And the two-dimensional filters statistics that you have your AI engine for five, user profile management, six, subscriptions and billing 11. Again. Another way to look at this, if we wanted to find all of the assigned or unassigned issues by components, see the breakdown across the team who squashed these blogs based on these components. Now the one key thing here is to note that we're using the same filter, that one filter that you created. We can use that to interpret the data and look at it in different ways. So you don't have to create a million filters. Sometimes the largest filter, the biggest net that you can cast out to capture issues within your project is all you need. So that you can just pick different fields that you'd like to see within your dashboard. You can get pretty advanced with these. But you know how he leasing just if you are looking to build more advanced dashboards with dynamic filtering capabilities that you check out. The bonus section where I talk about the script runner plug-in that allows you to leverage some advanced AQL filtering capabilities, as well as the rich filters plugin that will give you the ability to write some really nice filters that can give you some additional capabilities to select drop-down menus and a bunch of other cool stuff. All right, so first what we're going to do is we're going to create the filter for bugs resolved this year. So going into my filters, I'm going to go to my advanced issue search. All right, so I can open up a JKL prompt here. And I'm going to look for this project first. It's project and it's awesome copies. So I put in my key there. I'm going to say, and we're looking for just bugs. So it's very important that you do this or else you'll get every issue type that's in a project. So we'll say issue type equals bug. And we're going to save resolved. And What's interesting about this is since you are looking for everything for the last year, we want to find everything that is greater than or equal to the first day of the year. So in order to do that, we're going to put a few operators in here. So you can see on the drop down here, the available operators. If you're not sure what these mean, you can click on syntax help and that will take you to a nice support page that will go into describing what these operators do and some other things that you should be aware of as you're building your query. And as always, feel free to use Google for search when you have questions on specific things regarding your JKL, you'll find a lot of information in Google search results. So going in here we'll see resolved, we'll say greater than or equal to. And we're going to say start of year, okay, So all we need to do is just click on start of year, and that applies to this current year. So we don't need to make any other changes to this. And then we want to sort this. We're going to say order by resolved. And we're going to say ascending. And the reason we want to do that is just to see and test the filter to make sure everything looks good and we see, yes, January 1st is the first that we have here that's been resolved. And it goes all the way to May 27th. Alright, so if you're using the same import that I provided, you should see the same results. And then we'll go and we'll click Save As. And you can call this awesome copy bugs resolved this year. Click submit. And you have awesome copy bugs resolved this year. All right, we'll click Details and always wanna make sure we set our permissions. I'm going to select my organization. Add and then Save. All right, so now I have my filter created for all bugs that were resolved since the beginning of the year. So everything that's been resolved this year. All right, and the next thing we need to do is build the dashboard. All right, so we've got four different requirements within the exercise. And the first one is we want to make sure that we add a pie chart. And then the next thing is that we want to add a filter results gadget as well as a two-dimensional filters statistics gadget and an issue statistics gadget. So as we do this, note that we're doing all four of these were adding all four of these gadgets using just one filter. So you will be able to look at data in different ways based off of the various fields that are available to us in our Jira issues. So back in our project, who want to go to probably easiest just to copy this title here, copy the title of your filter that way when we search for it as we create our gadgets. So it'll be very easy to just find it. So we want to create a brand new dashboard and feel free to play around with the layout. I'm going to use a layout different than in the first example we did earlier in this course. We're going to call this awesome copy bugs resolved this year. Okay, so we can call that and we can put a description if you wanted to. I'm going to leave it empty for now. It's always good to put some sort of description there, especially if you're sharing it out to the organization. And I'm gonna click on Add for access and click Save. All right, so I've got a default in two column loud here and want to change it up a bit. Someone who clicked change layouts. And I'm gonna make it so that is a two column, but it has a left sidebar. If someone can click left sidebar. And now I'm going to go to the left side bar and click on Add a new gadget. We're going to search for pie chart and add that. And now in here, I just paste it in what I had in my clipboard. It doesn't appear to be pulling out just that item. All the filters here, I'm just going to scroll down and select the awesome copy bugs resolve that this year. I had two of them in here for going through a previous example, but it's the same one. So that's why you're seeing two of my screen, but awesome copy bugs resolved this year. We're just going to select that and then we're going to click on the component has the statistic type, and then update every 15 minutes, I'm going to click Save. All right, so now you have a pie chart for all of your bugs resolve this year. The next thing we wanna do is a list view. So I want that in the wider section of the right column. And I'm just going to click the Add a new gadget and put the filter results gadget in there. So load all the gadgets. Type in filter. You should see filter results come up there in the search. Click on Add Gadget. And you can click Close or click anywhere off the screen. And then here I'm going to paste in my filter, select the same filter. And I'm going to put in a max of 50 results to display on the screen. Now, I want to change a couple of things here too, because I don't have any priority data in my issues. So I'm going to delete that. I want to see the issue type, the key, and the summary. But there are two other things I want to show in here too. One is, since it's a resolved dashboard, I want to see the result date. So I'm going to click on resolved and the order that drag that all the way up to the top here so that it's in my farthest left column. Once the I saved the dashboard gadget and it displays. And I also want to see the components. So I'm going to type in the components and add that. And we'll just keep that at the bottom of the list here. So click on update every 15 minutes and then click Save. And now you can see I've got resolved here in the far left and I've got my components in the far right. And it looks very nice so far. So I've got my pie chart, I've got my filter results gadget going to add the two-dimensional filters statistics as well as an issue statistics gadget. And so let's go ahead and add a new gadget. And I'm going to do these two. I'm going to actually put in the far left column here because there are small enough that they look really nice in there. And go ahead and play around with the layout. You'll find what works for you and what you feel looks best for your dashboard. So there is no right, wrong for that. Just go ahead and give it a try. So now I'm going to click on, Let's see here, I'm going to click Load gadgets and I'm going to search for, to type in TWO. There's my two-dimensional filters, statistics, and click on Add Gadget. And from here, I'm going to look for my filter again, bugs resolve this year. And in this one, I want to see the components. And I want to see the assignee. Now, unless you manually assigned your imported issues to someone, you should see them all unassigned. Which is totally fine. This is for demonstration purposes only. So we'll type in number of results 50 here, just to see the maximum amount. We won't see that many because we only have three components. But if you had a lot more, you would see those. And then the sort by is going to be total so that we're doing it based off of the number of issues. And then we'll click on update every 15 minutes. Okay, click Save, right, so you can see I've got unassigned in the y-axis going up and down. And I have components going across on the right here. Now, I don't really like the way that looks. I'd rather have my components going up and down so that I can go back in here and configure and just switch them up here. So I can say, let's put assignee during the x-axis and y-axis would be components like save. That looks much better. Okay? So I have all of these unassigned and I've got my components broken down here. Now I want to add an issues statistics view, which is going to give me some percentages if you like, looking at things in that way. So we'll click Add Gadget. And we're going to search for issues, statistics. Click Add Gadget, access our filter. All right, and then we're going to select this statistic type is going to be component. And we want to sort it by the total number of top down. And we'll keep it as a 50 max for results will keep the sort direction is descending. Now here's really important that we want to make sure that we select Yes for this because if not, we're not gonna see anything. Remember, we're only filtering on resolved issues. So we wanna make sure that we are saying yes, we want to show the resolved issues in our statistics. Click update every 15 minutes, click save, and there you go. So we have a nice dashboard. I'm just going to drag and drop the pie chart all the way up to the top here. And voila, there you go. Your, your dashboard is complete. We've got our pie chart filter. Here are lists, results are filter results here in the right. And then below here on the left, we've got an ice percentage breakdown of subscriptions and billing being at the top of our list, all the way down to AI engine components. And then a nice two-by-two statistics that are showing who's assigned to what for these resolved issues. So I hope you enjoyed that exercise. If you have any questions, let me know.
28. S1L4 WhatToExpect Skillshare: The most important thing I want to stress before starting is to suggest leveraging the course control playback. For some of you, I might be talking just at the right Perfect speed. For some of you, I may be talking a little too fast, and for some of you, I'm maybe a little too slow. So in order to adjust the appropriate playback speed, you can activate that within your course player, here at the lower left-hand side, there is a one x playback rate. And then when you click on that, there are half speed all the way up to double speed for playback. So feel free to adjust that to your preferences and pause the video frequently and often as you go through the exercises to complete your project setup. All right, so moving along, really want to just touch on this intro. It's very important to understand the what and the why when it comes to any topic. But I really want to get to the meat and potatoes of the actual course and get you hands on making JKL queries and building some cool stuff. So what to expect from this course? In this course, you're going to learn how to quickly get familiar with understanding the key foundations of building powerful JKL filters like we've touched on in the earlier videos, to surface your DER data Like a Pro, we'll start by setting up a brand new company managed project, also known as a classic project. If you choose to use an older version of JIRA installed at your company, will then import some issue data for an example project on building an AI based copywriting SaaS application to help companies come up with content ideas lightning fast. We'll go over the two types of filtering in JIRA, the basic filtering versus the JKL filtering. And set up your first AQL Saved filter along with a dashboard setup to view those results, will cover filter subscriptions to help you automate some of the reporting based on your filter criteria, as well as other use cases for dashboards and much, much more.