 Hi everyone, my name is Victor Buu. I'm a product manager here at GitLab and today I wanted to show you some features in the planned stage of the DevOps life cycle. So you can see in GitLab we have many stages in our DevOps life cycle. We have the planned stage in particular and the purpose of this video is to show you exhaustively all the features in our planned stage as you see on the screen. So all the features in the planned stage are in about.gillap.com slash features pound side plant. So I will be going through this particular list. You can go through this list on your own. You can see links to documentation and whatnot but this will be an attempt as of April 17th of 2019 to be as exhaustive as possible going through every single feature and plan as documented on this particular website on GitLab. We have issues in GitLab and so I'm going to be jumping around actually today and so you have issues in GitLab and you have an issue page so you have issues here and you can see that we have issues and you can see a title, description, comment thread, a sidebar with a bunch of attributes and so on and so forth. I will be showing, oops, going to description templates in GitLab. There are description templates when you create a new issue in GitLab. What you can do is choose a description template to use that issue so you can see coding style proposal so on and so forth. So there are many different templates that you can configure. Templates are stored in a variety of places or in particular they're stored in two places at the project level. There is a default description template that you can enter stored in the database associated with the project but you can store additional description templates in the code repository of your project. So if you go to files here, you go to .gitlab, you can see issue templates and these are all the description templates. I'm going further. We have task lists in GitLab. You have task lists showing you a list of tasks and so you can have things like this, so on and so forth and you form a task list that shows up in many markdown fields for GitLab including comments and the description and even you will see two of three for example tasks that are finished if you check them off in the description. File attachments, you can attach files in GitLab. By clicking here, you can attach it to the description and you can attach any binary file from and upload it into GitLab and it will be attached. Award emoji, you can award emoji here as associated with a particular issue. In this case, you're associated with the description essentially and then also for say let's find something that's been longer. As a comment, you can associate, you can add an emoji, add a reaction emoji to an existing comment throughout GitLab. GitLab, flavor and markdown. So you're typing markdown, you can click on this button and actually give you more information on the markdown syntax that you can use within all these markdown fields inside GitLab. Again, we call it GitLab flavored markdown to give the specific implementation and syntax you can see. So for example, you can have headings here, you can have some like this. So standard things you would see in markdown, you would see inside GitLab. Threaded discussions. So you can have threaded discussions here, you can respond to this comment and then you can create a thread inside this comment. Activity thread, you can add multiple threaded discussions. Filter both system activity, you can go to this area, you can show comments only. So you will only see comments right now or you can see system notes or activity from the system by showing these things and when you do this, this little UI here in GitLab tells you it's very helpful so that you can go back to showing comments or showing activity so that you know you're not logged out and you can actually comment. That's great. Tracking title changes, you can see that if a title needed to be changed, then you would be able to see it. So I'll give you an example here for an issue that may have changed title. Probably in this one would be a good one and you can see that the title changed here. I deleted this characters and then added this character here and so it's tracking the title changes. Continuing. Labels. Labels are used throughout GitLab as you can see here. You can configure them in the label list of a project and a group. You also have prioritized labels. Oops, let me go back to here. And you can see you can move these labels around like so and with the prioritized labels when you go to this issue view, let me go to a incognito one so I'm not logged in so I won't be showing anything that I shouldn't be showing. And seeing a label list and I can sort by label priority because I have those priorities labels as I mentioned earlier. So sorting by label priority, these issues now will be sorted by priority label. You see next patch release, next patch release on and so forth. So if you go back to here, you saw next patch release was the highest priority. So that's why those issues are first, so on and so forth. Issue weights. So we use these for story points and other systems that's equivalent to that. So an estimated effort. So you go into any issue. For example, this one, and you can see that there's an issue weight for this one. There's no issue weights, but you can add it and it will show up in a variety of places. It issue boards, issue list, showing you sums of weights and whatnot. Milestones are work in a variety of ways. They can work just like agile sprints or they can work as point in time. So example here, inside GitLab.org and I'll probably show this one to be a little bit safer and then show you the milestones here. And you can see that there's all these milestones, 11, 10, 11, 11 at GitLab. When we use milestones, we use them to represent both a sprint and a release, but any milestone has both a start date and end date. As you can see here is March 8th to April 22nd. And you can see you can change that information if you were logged in in this particular case and you can edit the milestone. So if you only have a due date, then you can represent that as a use a milestone as a sale release on a particular date. Continuing. Issue due dates with a particular issue can associate with it a due date. And if you do that, then that issue will send you a notification actually, two days prior with some caveats and notification settings. Assignee, you can have multiple assignees and issues. Here, you can have multiple assignees and issues. Then we give you an issue, one of these issues here. And you can assign multiple people to that issue. You can lock a discussion. You can go here and lock a discussion. If you do that, as it says that only project members will be able to continue commenting here. You can make a issue confidential. If you do that, only reported access members are above are able to actually see the issue. The issue will just be hidden. If you don't have that level of permissions, that's great for security tracking security bugs, tracking private customer data or just any scenario where you have issue tracker, in our case, where you wanted to be public in the general case, but then you wanted to have some private conversations about something can use confidential issues, related issues. You can associate an issue with another issue here. I can associate another issue like so. So for example, I could associate this issue, which I'll do right now, as an example. I mean, now it's an associate issue. So then I can click here and go to this related issue like so. So really, really helpful. Moving an issue to another project, an issue is, I'm going to show this so you can see everything's easier. You can move an issue to any project. What that will do behind the scenes is actually close this issue and open an issue in the target project of where you want to move it. So moving an issue is an abstraction. What's really happening underneath the hood. It's closing issue and copying all the contents, the title, description, sidebar, information, comments, thread, and pasting it in the new target issue that was just created in the target project. Well, you can mark an issue as a duplicate. And if you do that, this issue will be closed. And then you'll get a link indicating as such that it's a duplicate of an existing issue. You can anticipate duplicate issues, which is really cool. Let me go back to here. If you create a new issue, and you can start typing, you will see anticipated issues right now on production, gilab.com, I believe, with disabled dysfunctionality due to some bug or performance reason, I believe. So you won't see it just yet, unfortunately, but you can see it here how it looks. New issue via email. Oops, going back down. New issue via email. So what you can do is you can go to any issue tracker, for example, to gilab CE issue tracker here, and I can go back to, say, this one, and then I can click any button here. Oh, this is the group level. So this feature only exists at the project level. So let me go back to the project level one. And I can email a new issue to this project. I can copy this email address here and so forth, open up my email app on my desktop platform. So that's really awesome. Bulk edit, I can bulk edit issues as well. And so using here, this is again at the group level. But really, I can do bulk edit here and change the issue information here. So I can select status, I can change the labels, so on and so forth, by selecting multiple issues, like so. Great. I can export issues to a CSV file, I can import issues from a CSV file, doing this here, or this here. And for export, what it does is actually whatever is on the page, whatever you filter by it, it will be sent to your email address. Burndown charts are really awesome. Currently, they are associated with the milestone itself. So here is my milestone. Here's my burnout chart. Seeing the issues burned down in the milestone, you can do it by weight as well as issue count, as you see there. Awesome. Issue analytics is an awesome feature. You can see issues that have been created in the past month, I believe, it's at the group level. And so you can see issues that have been created in the past couple months or 12 months in this case. Quick actions, you can mark, you can go into any comment here, you can do a variety of quick actions, you can do many of the things I've just been talking about, but you can do it as quick actions inside this comment box, you can actually see a list of quick actions very easily here. You can see that it's quite substantial, all the quick actions that we support in GitLab. Custom notifications, you can go into your personal settings in gitlab.com or self-hosted GitLab and make custom notifications, you can also configure per project or per group. So there's a lot of granular things there to do as well, are something that is similar to notifications. But they're not exactly the same and you are assigned to do when things happen, such as you're mentioned in an issue and so on and so forth. So it's a great resource here. So you can see I have a lot of to do for myself. And as things are happening, I can mark these to-dos as done and so on and so forth. I can mark something as done. I can mark all of them as done and so on and so forth. Custom text and emails, you can configure email text in the entire instance. So here I don't have access to the entire instance on gitlab.com because I'm not an admin, but you can do this, enable additional text to appear in all communications. Really, really awesome feature. You can do sub-addressing email servers. You can do catch all email inboxes. You can do jara integration with gitlab. You can do a bunch of integrations with gitlab issues and merge requests. But in this particular page, we're highlighting jara because it's a popular issue tracking tool. In the industry, many companies use it. And so many companies using organizations in general using gitlab, merge requests will integrate with gitlab with jara issues. And so we have even have jara development panel integration hooking up with gitlab merge requests. Issue boards are a really awesome feature inside gitlab. You can see issue boards here. You can see them at the group level and at the project level. So let me show you. So you can see there's this nice search here. And I'm going to show the plan issue board here. That's not very excited. There's not much here because we're already in 11-11. So there's going to be a lot more here. So that's an issue board. You can see project level issue boards, as I mentioned, and group issue boards, kind of multiple project issue boards and multiple group issue boards. Total issue count per issue board list, total issue weight. So let's go back to this example here so you can see it. So you can see per list, you can see the issue count in this list and the total issue weights of 5 and 15, 10 and 30, so on and so forth. So two and five. So two issues, two plus three is five. So that's what that five is. Issue board label list, assigning list and milestone lists. So this is a really, really cool feature. So let me go back to here and maybe show you some of our boards in action. And so you can see these are label lists here. You can see the back end team as is using boards with assignee lists here and you can see people assign to issues and so on and so forth. For assignee lists and you can even see milestone lists. So milestone lists. Oops. And so you can see issues per milestone here. So essentially, if I go back to here and click this example, you can see issues associated with a particular milestone are in the milestone list. So you can use boards essentially three or more ways. So that's that's really cool. Okay. Continuing issue board configuration. You can look at the configuration here and you can scope down the issues associated with the board. Issue board focus mode, which is really awesome as well. Can see take out some of the chrome at the top of the issue board. We ordered issues in the issue board list. You can move these around. That will save the priority order. Can add multiple issues to project issue board. This is a pretty cool feature that exists currently for the project level. So that's why I'm going to actually go to the project level to show you that. But if you go to the project level issue board, you can see that can add issues here. And you can see multiple issues. And you can add them all at once to a particular list. So really really cool feature here. New issue in issue board list. So you can actually create issues in line in the board itself. And it will be associated with that list with that leave on this case already. So that that's also a really nice feature with issue boards. Time tracking. Time tracking, you can go to any issue and enter time tracking information. Let's go to one example. Let's go to something that might have we'll just we'll just do an issue here. And so you can enter time tracking information here. Can add removed time spent, you can spend time, so you can add and subtract time. And you can estimate how much time it will take and that information will be populated in the sidebar here. Very cool. Yeah, so that that's what these three features are for time management. Moving to agile portfolio management, you can have multi level ethics, reward issues and epic epic states. So let me go into say here and show you that very quickly. And you can go to some of these ethics here. Let me find an epic that is meaty and has a lot of good information that can show up this view, essentially. So in this particular case, this epic has a as a parent epic, but that doesn't have any children epic. So that's not too interesting. This epic is more interesting. It's a parent epic. It has it's an epic itself. It has a parent. So as an ancestor that you could click on which is yet another epic, right? And it can also have child epic. So as there's three child ethics here. So what's sort of really close bothers a roadmap view, and you can actually see the child ethics, child ethics, basic structure of Mike and this one. These two ethics have start and end date. So that's why it shows on this roadmap view inside the epic itself, the roadmap view in general is here and you'll see all ethics scoped to the group here. And so you're going to see a lot of them here. But the one that's really cool is this one where you can see child ethics and the roadmap view of this child ethics here. So there's a lot there. You can reorder the issues in an epic. So if you go into this particular epic, you can see issues, you can move them around. And that will save the system. I'm not going to show that here because I'm logged out. So that that won't work if we logged in to reorder issues or ethics, because that will save to the system. So that's the purpose of reordering them in the first place. And you can use that to indicate priority or order of implementation, whatnot. You can use fixed dates and from milestone. Again, let me show you it in action. Actually, here, or actually, I'll just do this over. There we go. So you can see you can move issues around like that. Right. And then that will save to the system. And you can change this to fixed date from milestone fixed date is exactly what we think it's a fixed date that you set for the start and end date of the epic from milestone is that it's going to look at all the issues here and look at the issue with the very earliest milestone associated with that issue. And so in this case, it's actually 11.3 and 11.3 starts on September 22nd. And or ends on September 22nd, and starts on August 8. And so that's why that's what August 8. And the last milestone here is 12 zero and ends on June 22. So that's why that's what this is here. So it's, it's taking all of these milestones of these issues and then dynamically calculating. So if you make any changes to these things, these two fields will will update automatically their dynamic dates, and they will be reflected on the roadmap itself, as I showed earlier, already had it here. Right. So the start date and end date of a given epic will depend on what I showed earlier, these values here. Okay, spend a lot of time there. So that's epic fixed dates, epic dynamic dates, as I mentioned, road maps, as I showed you earlier, can promote an issue to an epic, similar to moving an issue, you promote an issue to an epic, it will take all the information title description, you copy it over, close issue, increase in the epic. So what if you're working on issue, and you want it to turn into epic, you can do that in very cool. I believe that wraps it up there might be yeah, there might be service desk. So service desk is the last feature I wanted to mention. So I don't want to show it on production, because that's gonna have sensitive information. But you can see in this screenshot here, that you can see service desk issues, and basically, like like a Zendesk or something like that, where you email in you have your customers email into a given email address, and then those issues will show up inside gilab and you can respond to those issues. And then in line, and then the customer will get the information back. So your customer will be using an email interface. And then, but you as a gilab will be talking to the customer inside an issue. So that that's gilabs service desk. So that's all I wanted to talk about today. If you have any questions, leave some comments in the video. Reach out to us at gilab, you can learn about more again at about.gilab.com sign up for account at gilab.com and start playing with the features Thank you.