 And I'm just going to record to my computer for this one because it's easier. Okay, so I'm going to do a get remote add upstream. And the reason we add upstream I'm clicking this thing right there adding upstream now allows me to see the changes from others. Okay, so. Now your pull request I want to evaluate that and the way I do that is I have this. There is a program called GH from GitHub that lets me do this kind of thing with the command line and so I'm just going to say GH PR checkout and oops the wrong I need the number. And then your number which is 65. Okay, base repository is this one. And I see your branch name is develop. And if I look at the diffs between your branch and master. There it is. Okay, so now I'm going to compile this with maven clean. Skip tests install. And what this will do is this takes your change and gives me a local copy that I can use to run it. Okay, and now I should be able to say maven clean. maven HP I let's see minus D Jenkins dot version. equals 2.277.2.3 let's use dot three for today and HP I colon run. And now I need to go learn something because I don't remember how to. I'm going to do it this way. We'll just go HP I colon run my Linux computer is not the computer I'm sitting on. And so I'm going to have to do another step here to, oh, and this will fail right because I have another program running on that that port. Okay, let's do that again. Now had you had any issues running Jenkins and seeing your results when you were running Jenkins. For the, for the first thing, but there is a command that I run them. Okay, good. All right, so you were able to, to see your results. Where is my tunneling thing. There it is. Okay, so this thing. I need to do a quick configuration of. I think this is the one I want. And now if I did that right. I did it right very good. Okay, excellent. So now what this is is this is that Jenkins that I was running here with that maven command the HP I colon run thing. What I should be able to do here now is I should be able to open pipeline dash syntax. And I should be able to open the look at the clean WS. And here it has an advanced button. And let's see the thing that you had added was you had added clean when unstable. This is WS cleanup. Clean when unstable. Okay, and I'm not seeing a help entry for unstable here. Okay, I see one for patterns. I don't see one for apply pattern also on directories or clean when status is okay so I'm not seeing your change. In the, in the, in the user interface that I'm working with it says during workspace cleanup. Did you, did you see that change when you made the change did you see it when you were inside Jenkins. No, I was not sure what to do inside Jenkins. Good. All right, well so then let's, let's go through this together so you don't mind if if the two of us together go through this. I'm not sure how to get it on to clean when unstable. So that's that's a very good question and let's go looking for it. I think I may want to apply it to this apply pattern also on directories, or don't fail let's see this one don't fail the build if cleanup fails is already there. Okay, so this one apply pattern also on directories may be a first place for us to do. Yeah, okay, so let's, let's try to make it so that we can see it in in in Jenkins so did you were you able to make any change that you could then see yes my change was visible for instance to this text. The only thing I did, I tried to upload the HP so I was not really sure what I was supposed to do. Okay, good well so then let's let's so so I've you've seen this part. This is how so I went to pipeline syntax and then clicked clean WS this thing right here and that. Now see this but I don't yet see the change so let's go see if we can find a way to add some text here and then then we'll test it again. So I'm going to interrupt this. So the that text that I just had there apply pattern also on directories. Let's try well, or maybe yeah let's try for that one for right and actually let's take the first task which was, let's make a change to this disabled deferred wipeout help and see that our change is visible. So, I'm going to take that one. Okay, so here it is here is disabled deferred wipeout. I just got help. Oh, that's cool. I've never seen this before. So it says. So let's look at this in our editor so here is. So I've got an editor that lets me search for things you could use visual studio code to do the same thing. Any of those will work or vi in my case. So here is this one. This is the text message and somewhere name is being referred to. And then this is the help file, and it says, or this is the user interface file and it provides separate help here. And this plugin is using a different tech, a little different technique. Interesting. Okay. So, I think we want to find this file. And I'm not entirely sure where to find it so I'm going to do a search for it. That wasn't it. I'm going to search for it like this. Interesting. That is. Alright, so. Oh, this is great so you put it in exactly the right location. And I think. Well, so let's let's make our change right there. So I'm going to edit that file. And let's see let's put some strong text. Mark and Sharon were here. Okay, that that should be something that is very visible people will, we should see it when we run right. So now I'm going to run the, I'm going to do the build. And in this case, it's just maven clean minus D Jenkins dot version equals 2.277.3. Yeah, I colon run. Okay, so it's running again. And what we're expecting is that in this session here, nope, not in this one in somewhere in that one. Yes, right here local host for 8080 when I click that now. Back in Jenkins. And now if I go to pipeline syntax. Okay, clean WS advanced. And now disabled deferred wipeout here. Ah, yes, just see that it worked. Okay. Okay, so, so this one now that let's stop there. So the steps I took was I found an existing file that had the text in it, and made a change to that file, and then loaded it in Jenkins to see that would work. Do you want to do that same thing yourself now so that you can see it so you show me that it works that way. What would you prefer next. I think you can just continue because I might load and then my computer. Okay. Alright, so, so this one, we did a mark and Sharon were here and in did it in bold text so strong text. So the next thing. I tend to pick this one apply pattern also on directories, just because I'm accustomed to working on these. I haven't yet learned how to do the one that you chose this unstable. Because when you look at this user interface, I'm going to make this user interface much bigger. We'll see where the question where the, the, the question marks align. Notice that the question mark over here aligns with this row. And the question mark here aligns with this thing. The question mark here. The problem is, I don't know what happens when I try to put a question mark on one of these are when it tries to put a question mark there, because it seems like what we would really want is one question mark over here that describes all five of these options. And I don't know how to do that yet so that's that's something that I'll have to learn and we may be able to learn together but I think this one. I need to do something for because here's a question mark there and it matches with this one. So if we do the apply pattern also on directories. Let's see if we can find a way to add help to that. Would that be okay. Okay, so now I need to make this smaller again 300 400% is huge. Okay, so here we are. How about. Okay, so I'm going to search for that text. And it was. No, that's not it I made a mistake. What was that text it was apply pattern also on directories. Okay, so here it is. Oh, and interesting it exists in two places. Pre build cleanup. And okay so it exists here. And it exists here. That's interesting. Okay, so that's why they did the alright and notice. We can follow the pattern that is right below it where it shows the help file, just like you did. We're going to do that same exact thing. So instead of cleanup parameter. And we can even use the preferred wipeout as our example and say okay we're going to do this. Copy it up here. Okay so here it is apply pattern and now a recommendation for a file name apply pattern also on directories. Do you think that's okay as a file name. Yeah. Okay, so now that's, we need to find There's that file. Disable deferred wipeout. And we want to create a new file. Named that is apply pattern also on directories so I'm going to write that file as apply pattern also on directories HTML. I'm going to take out the copyright message and change this a little mark and share and we're also here. And now what if we say something apply the deletion pattern. I'm not sure what it means to directories. So I'm just guessing in addition to files. What it means is let's see if we can see this at all first. And if we can see it, then then we can decode what is the best way to do that. Okay, so let's run this again so I'm just doing the maven. Clean or the maven. So what it will do is it will show us here it is it's doing the maven thing with HP I colon run and I could have done that from the command line. I could have done it from inside Visual Studio code from inside a Java ID any one of those. And now it says it's up and running. Let's see if it worked. Whoops wrong wrong one where is our there it is nope that's not it. Here it is okay. So here I am again local host port 8080 Jenkins pipeline syntax. And now let's try clean WS again. Okay, so there's clean WS advanced and apply pattern also on directories did not get any help. So my attempt did not does not seem to have worked. Because there's this help, but I didn't get any help on apply pattern also. Why not. What mistake did I make. Okay, so. Oh, remember we said earlier, there were two files. Yeah, right and I only made the change to one of the two. The change is called pre build cleanup config dot jelly. And I suspect that's not what I'm seeing here. I'll bet I need to make this same change in that other file in this WS cleanup. Yeah, so sorry that what you're seeing is me learning things, just like you'd be learning things. I hope you don't mind that that that's not terribly shocking to you that I don't know, don't know these things all the time. Okay, so. Here we go. Where is the apply pattern also on directories. Okay, now let's run it again. Okay, so it's says it's running. The change is fully up and running. Let's try it again. Okay, clean WS advanced apply pattern also on directories now has Mark and Sharon were okay so what did we learn there we learned that now what that that showed is that there were two places that had to change, and I had only initially changed one of them. So finding that big benefit by running it I I could see Oh that's not doing what I wanted. Now, if if you had encountered something like this. Ooh, ooh, ooh. This look at this Sharon this may be the same place that we need to consider how to add help to those check boxes. Interesting. I don't I truly don't know what it will mean to add help to those check boxes. You had added help for clean when unstable right. This was the one you had added help for. Shall we try and experiment. Let's try adding this thing, this help equals thing on the checkbox. Now this may fail completely, because it may tell us. You can't put help on a checkbox. I don't know but let's try it. Are you okay with that. All right, so now we need your help file, or we could put we could just leave it as this one for now. No, no, let's, let's make it yours. Let's use your original help file because you wrote it, and your original help file was here. So now let's go find that WS cleanup. And while we're here, let's try several others. We're going to put the same exact help we know it'll be wrong but we're going to put the same exact help on every other one, just to see what it will look like you're okay with that. Yeah, it's okay. Okay, so here it is running again. And now let's go back to our web browser, a clean WS I am truly curious to see what this is going to look like. It doesn't seem so we didn't lose that one. But I don't see any help for any of those checkboxes so I don't know how to. Well, oh wait a sec. Maybe, maybe we do. Okay, you remember, we said hey what about putting help here. So if we could find a way to put the help there so that the question mark appears over here. So let's see this this says clean when status is Sharon I thank you very much for your patients while I'm learning. There's my proposal. Shall we try it. Yeah, what this is reminding me is that there are many times when I don't know until I'm looking at the specific thing. What problems it has or what issues there will be. So, so thanks very much for your patients. Okay, let's see how it looks now so pipeline syntax clean WS advanced clean when status is. Hey, right. Okay, so Sharon we may have found a way to do. Whoops, no way to say during workspace is is that I need to make this much smaller sorry I've got to see it on the same line. Clean when status is. Yeah, that's the question mark we added right. Good. All right, so, so what this highlights is we have just learned that your pull request will need to be changed in and changed in a way so that so that instead of trying to add help for just one of these checkboxes, you'll have to add help for all five of the checkboxes in a single help file. So now, I now need to ask you Claire, are you okay with having to change your your pull request in that way. Are you. Are there things about what I just did that would that would be hard for you to do by yourself or hard for you to do even if you've got access to the recording. Okay, I'm asking the way that you're changing the file structure, like the, the file arrangement. Let's say the, the place that you can look at the file. So, if it is the same way to do it on VS code. It is the same way you would do it with VS code I think anyway so let's let's I'm not a VS code user so I'm, I'm hard. It would be difficult for me to show you with VS code and be credible but but let's look at the changes that are pending. You can see alright so here is, here is a change that I made to WS cleanup. And I need to fix this so that it's a smaller change so I'm going to, I'm going to do a something with it so that it's a smaller change. Hang on for just a minute while I do some things that make it a much smaller change. What is, wait a second, wait a second. Something's wrong here quit. Yes. Okay. We were working on WS cleanup. And I need to make it smaller. Okay, so apply pattern also on directories. That's probably a good change. This one though is much too big a change we need this. Just a minute I've got someone pinging me for my company. Just. That's great. Okay. Excellent. Sorry, I need to interrupt for just a minute so I can check in on something on the Jenkins community I'll be right back. It'll be just a minute. Okay, so I need. Get her. Show you what I'm doing just so that you're not totally totally distracted. Here's this. Okay. All right. Okay, I was too, too thick. All right. Okay. Good. Sorry for the disruption Sharon. Thank you. All right, let's go back to where we were. So, so I wanted to. There we go. Okay, good. So this is what we learned right which is that, that we need to add the help on to where was it let's go back to Jenkins again it was right here. We need the help on this line. And the way we did it was was by adding this help equals thing right here. I think the file name is wrong because you'll probably want to call it clean when status clean when status is or something right I mean you'll want to call it a different name. Maybe we do that now while we're here status is. And now let's go see if we can find that file when status is. Was that what we called it. There we go. Okay. Clean when status is. All right, I'm getting a little bit lost Sharon I apologize I'm going to stop and we're going to take a look at all these things and see what we've got. So here is clean when status is that HTML right. And let's be sure that there is a mention of that. Okay, so there it is mentioned in that location. So, let's put some extra help in there. This, I'm used to it being in a div. Like this, and then, okay, choices include. And now we've got to do something like a. Some way of defining giving a definition list and HTML actually has this concept of a definition list for now let's just do it as a as a, an unordered list. And, and then we'll fix it later, because I don't remember off the top of my head how to do a definition list. Okay, so choices include now we got to go remember what the choices are. Success, unstable failure. Okay, success. I'll say that again it was unstable of not of stable unstable failure, not built. Is that correct. Let's check. So, success unstable failure, oh and a boarded I missed a boarded okay. Okay, and I suspect we want the strong on the, just the word, not the colon after it, like that. Okay, so. Alright now what would we say something like clean the workspace. If enabled the workspace will be cleaned on successful builds. It was enabled by default. Because I think it was enabled by default wasn't it, when we when we opened up the page, it was they were all checked by default. And now if we do that use the same words in vi not in. Okay and this one is we're cleaned on unstable builds. What do you think does that look. Let's use the correct words unstable on failed builds on. I don't know what not built means. What do you think not built means if the build wasn't built how can it clean the workspace. I don't understand that one. What does this even mean. Alright go ahead, did you use had a comment and I wasn't listening. I'm not sure it was incomplete. And I'm not sure what a boarded means because if you've a boarded the build you didn't get to the end of it. So this one we may have to do some testing to even decide if those those options make any sense. Okay so does that seem like a reasonable. Now we need to go back to our because I need some entry text we need to go back to this. So it was clean when status is help for what should the help entry text before clean when status is what if it said, remove workspace contents. Based on the status on the, the result of the build. And now we need probably, we would want something that links to what the results of the build are. And now I'm again learning Jenkins valid build results result or Jenkins build result. Success. Stay unstable. Failure. Let's try those. Okay, none of those are immediately on the Jenkins web page. So that didn't help me okay so I'm just going to have to list them, move workspace contents based on the result of the build allows the user, the pipeline to only clean workspace to oh I know okay to leave the workspace. I'm going to try to describe a use case allows the pipeline to leave the workspace contents. If the build was unstable and needs investigation or failure or failed and needs the workspace for investigation, leave the that's better to sit to not clean the workspace contents. All right so now I'm now I'm trying to describe the example okay. So is that does that make sense to you are you okay with that description. Okay, so if the build was unstable or failed and and needs the way maybe we should say the contents of the workspace for investigation for failure investigation to investigate the failure. Okay, now let's try it so. So I'm actually going to add that file. Okay, and now I don't need this change anymore we've confirmed that we are. Okay, so we now have a new file here. And if we look at the differences, we see this help and this help. Okay, so I think. I think we could run it again Sharon you're okay if we run it again just to see how it looked. Yeah, it's okay. Okay so let's run it again and here it's maven minus d Jenkins dot version equals 2.277.3. So back to where we were, nor that. Oh, here's our page let's refresh this page and see what we got. Okay, so clean ws advanced. And now I've, again, I've got to get things so that I can actually see the association between apply pattern also on directories. And that's the other one we did isn't sorry this is the one I need to click. Hey, look at that. Okay, now, now the problem is alright so so we did, we did these steps and it's great that we did these steps those are really good. But there's another another thing here because now what happens alright so we've seen that this looks like it's behaving the way we would want with inside the snippet generator and that's really that's a big win. However, how does it look when we look at the steps reference. So back up here at the steps reference I'm going to click the steps reference and it'll take a little time for it to generate. Now, if we search down there should be an entry for clean ws here. And now let's see what. Yeah, see. In this case. This is my help. Oh, oh, oh, look Sharon this says all my nice attempts to put it into the pipeline syntax generator worked. That was a big win, but notice that I did not get any additional help in here, not a bit. So my, my attempt was good. I've added it to someplace and so I've helped one set of users the set of users they're using the snippet generator. But the users that are reading this they didn't get any help for clean when a boarded. Now did your change show up in the steps reference here. I guess we could we could test that can't we why am I asking let's check. Let's see. So it was the ws cleanup plug in, right. Okay, so apply pattern. No, no, that wasn't the one right the one that if I look at your change was to clean when unstable dot html wasn't it. And yet it doesn't. So it's added here but it didn't appear in the steps reference clean when unstable see this. All it says is it's a type Boolean. So your help didn't didn't reach us. Okay, what would we need to do to add that. I don't know the answer Sharon, I apologize but I just don't know the answer. Would you be willing to, to use these, these other changes, revise your pull request to include something from these other changes, so that you can make progress there and I'll have to investigate what will need to be done in order to add help for this setting because I don't immediately know what to do with it. At least I've seen what I'm supposed to do. Sorry say that again I didn't quite hear you. It's okay, at least I've gotten what I'm supposed to do. Yes. Okay. Well, and this, I think this gives you a chance to experiment to see, see other places where you might, might, might try it. So let me. What I'm going to do is I'm going to, I'm going to commit these changes and I'll push them to a repository that you can access to consider hey, here's, here's what you and I gathered together. And then, then you can decide what you would like to do with that existing pull request. So let me, I'm going to do, I'm going to commit these changes, and I'm going to use some, some what might be called fairly advanced get stuff just because it will help me. Is that right, we want. Oh, no, we're just going to, we're going to do something different. Okay, so get commit minus V minus P. So I'm going to ask get to ask me questions about everything that I'm doing. And in this case, no, I don't want to include that. I want smaller of that. No, I don't want to include that. Yes, I want to include that. Okay, good. So, add a single. Add snippet generator help for clean when status is places the the help inside the snippet generator page, but does not place the same help place the help inside the pipeline steps reference. The interface for the checkboxes make sense in the snippet generator. No need to add help for each checks box in the snippet generator, better to use a single help section to describe all the checkboxes. Okay, so that gives me clean when status is, and it's the ws clean oops did I miss one file. I did I didn't get the pre build one. Why not. Okay, well, let's get that. Oh, that's embarrassing Sharon I didn't get the pre build one because I didn't fix it. I didn't do it right. Okay, so the problem is, I, I made something I made a change in this ws cleanup, but I didn't make the same change in the other file. And I don't know when the other file is used, but I think the help will be helpful in either case. Where is that clean up. You know, apply pattern also in a no after apply pattern on directories clean when stuff. Oh, oh no no right right my mistake okay because this thing is called pre build. And before the build starts we don't even have the concept of build status. Therefore this this doesn't exist. Okay, my mistake. Now I did find one error. So there's my proposal. And let's get. Now if we look at another one to apply pattern also on directories. Okay, so apply pattern also on directories and there's the help. There's the help. Okay, help to apply pattern on directories. Now this one we should be able to see it in the, in the pipeline steps reference. Shall we take a look at it just to be sure, because I would expect apply pattern. I don't see it there either. Okay, wait a second back to where we were. We're working on pipeline syntax, and in the snippet generator clean WS advanced apply pattern also on directories there's the help, but no help. Oh, Sharon, oh this is such fun. Okay, you have you have you have brought me to many to learn many new things Sharon thank you for doing this. So, so what we're seeing here is, you really are you have you have shown me okay this this place of inserting the help is a fine choice for help for the snippet generator. And it's adding it in the HTML pages the HTML page fragments generated in Jenkins by a thing called stapler. So this jelly file jelly is a is an HTML snippet markup language, and Jenkins uses that to assemble its HTML pages out of page fragments. What we've done is we've added this but this is only usable in the snippet generator, not usable in the pipeline steps reference. So if we want to add it to the pipeline pipeline steps reference, we must also create the file in a different location. So let's, are you okay with, I should ask you, do you have time for more of these experiments is this okay or do you want me to stop. It's okay. Okay, you're sure. Yeah. Okay, so, so what, what we just did is we just saw that this thing has what we did is we added things. So I should change that get commit minus minus amend. In snippet generator, the help that has been added will not appear in the in the pipeline steps reference, because it has been added to the jelly file. That is used is used to generate the web, the Jenkins page, not. It has not been added to the internal, what would we call it to the Java code as a resource. associated with with the argument. Let's put it that way the pipeline argument. Okay, so at least I've described it to say why it doesn't appear. If, if you're okay with this let's keep looking and see if we can understand what it will take to get that into the steps reference so apply pattern also on directories. Okay, so it is not seeing it. Let's see that. So it says the entry is apply pattern also on directories. And it's looking for Oh, there it is. Okay. The field is delete doors. Okay, so what we're looking for is a field inside the code. Name delete doors. So here it is this thing is called delete doors in the in cleanup there's another one in pre build cleanup and there's another one in WS cleanup. And I think the one we want given that we were using WS cleanup as the jelly file name I bet we want to do WS cleanup here. And let's try it. Okay, so what we need is instead and so now you're getting all sorts of things about Java and and Maven packaging. So this is the Java class file. I want something in the resources so I want touch WS cleanup, let's call it instead. Help dash delete doors dot HTML. And instead of going in Java, it goes in resources. I think that makes sense. Let's try it and we'll see touch source main resources. Okay, that worked. And I have to warn you this may fail completely because well because I'm just learning. All right so now if we hit enter here this should build it again. Let's see if it's there. The one we changed was, which one did we modify we modified delete doors which is, we said was associated with, we said it's associated with this thing. Apply pattern also on directories okay good. All right so back to where we were clean WS advanced still has the help for apply pattern on directories. That's good. And now if we look at the steps reference. We're looking for clean WS. And now we're looking for no, it didn't do it for me. Okay, so I failed. I don't know how to add help to the steps reference for this thing. Let's try, let's try something different. So I'm just going to put it in that other name to see if I can get it to appear at all. Nope, and that didn't do it either. So there's something more that I need to learn here about how to add things to the to the, what do you call it to the pipeline steps reference. I, I wasn't able to add it there it absolutely does not appear here right we're just not seeing it. The delete doors there's the there's the parameter, or the, the optional argument thing, but it didn't take my help at all. Nor did it take the help that I tried to add at the top most level delete work. Sharon, I apologize I don't know how to do that part. I do know how to do the part that we showed that we did earlier with how to add it to the snippet generator and that will already be a help. So if you're okay with that I'm going to send you email. Actually, let's just do it now so that you've got it. I'm going to push this to a repository to my fork of it get push. Okay, good it didn't allow get push origin minus minus set upstream. And now we're going to call it you call the name of your branch develop is that right. Okay. All right, so if we go there. We should see this thing. Here we go. Okay, so let's just look at the develop. Oops, nope, nope. Let's go to my fork. Here is my branch called develop. And here is your commit plus my commits. So there's yours. And here are my two additions to it. So would you be willing to to look at those two changes and consider, you could take the changes I made and do the same changes in your copy, test them and see if it behaves the way you expected, you may need to you probably want to improve this. But it's not not something you ultimately want to submit, but it would be good to have haven't for us to find an answer to that question. I just don't know the answer yet. Okay, so I'm going to email you pricing here. So here we go. Perfect. I'm going to put this on screen so you can see it. Okay, so to Sharon. Oh, I didn't get that right. It was, I've got your email address here. You just gave it to me just a minute. It was Sharon. Okay, copy email address. So here we go. If, if, if I do this better, Sharon. Okay, did I spell that correctly. Yes. Okay, very good. Alright, so my branch with more with what we learned from our session. Okay, now let's go find that branch. Here is your change, plus two changes that we discovered while we were exploring. And would that help? And would you be okay if I check with you tomorrow to see how it went? Yeah, it's okay. Oh, great. All right. Sharon, thank you. I will post a link to the, I'll stop this recording and post a link to the video after it's finished.