 Yeah. No, something is shaking. Yeah. Hello. Good evening. Good evening. Alright, thanks for being here. And I see that the recording is already running. So that's good. We've got a recording happening. Hi, Mark. Good evening. Hi, good evening. Now, I am often curious what weather is like around the world. So for you in the areas where you generally live, are temperatures typically in the 30s? Celsius? 20s? Yeah, 30s, 27 to, from 27 to 30, yeah. Okay. All right. Good. And we were just grateful today that it was, it was, I think it was about 15 today, 20. It was 15 to 15, 15 and 20. So actually very nice. It's the summertime is coming for us. We're looking forward to it. All right, it's time. Let's go ahead and get started. So welcome to the mentoring session. What questions do you have? What topics would we like to address? Like you suggested on the Slack channel, we could start by going through our task for some of us that are having some challenges submitting PRs. So we could start by knowing what the challenges are and how we can be unblocked. I like that idea very much. So Sharon, Sharon and I had worked earlier this week on a on an issue that was blocking or is getting in her way. Sharon, are there things that that you've learned since then where we need to where we should discuss them things where we might be able to do a review that others could use and gain from your experiences? Hello. Yes. Okay. After we went through, I, I added the code to the code base, but I haven't been able to push because I've been having internal problems running Jenkins. And are you in a place where you could share your desktop and we could watch and talk about what you're seeing? Okay, I'm not sure. Let me try to share my screen. That's great. I can see it. Okay. And so looking at your desktop Sharon, it looks like this is a Linux desktop probably Ubuntu. That's interesting. The prompt that we saw there that said evaluating your shell environment is taking a long time. That usually would indicate that there was a there's there that might indicate there's a configuration problem in your dot bash RC or your dot profile file. Okay, so you're going to very good. Okay. Okay, so I was running to build errands. Okay, so is and is that the error message that you were getting? Let me type in the command. Okay, great. Go ahead. You can continue them. I'll just tell you. Actually, it's perfect if we can just watch you if you don't mind us watching you, you're welcome to you're welcome to just go ahead unless there's something sensitive. You're in the plugin directory so you could do a, oh, wait a sec, you're in tilt slash Jenkins underscore home so is this directory a development directory for the plugin or is this something that's different. No, it's the one but I cloned it inside the Jenkins home. Okay, so this is so if you do a get space status here it will tell us that you're inside a get repository. Perfect. Okay, so we see that you have some changes. You've got an editor open. Yeah, okay, good. So when I run this command, I get a big error. Okay, good. Well, so let's see. Let's let's watch the error. So forgive the, the terrible pain of typing in front of other people it's it's an awful terrible experience and I agree it is. Okay, so that message that we're seeing there tells me that you're probably running Java 11 and that message is just fine it should be harmless. But we'll probably want to check that you're running Java 11 and not Java 15 or 16 or, or some other version the two versions we support our Java eight and Java 11. And so after after we get through this. Okay, now it says the palm is missing. Build parent on project. Okay, so that may fail to compile 55 but was 53 Java. By code version 53. Oh, okay, so that is a surprise. We'll have to we'll have to look in after after we see this fail will have you run a Java space minus version you don't have to do it now let's let this continue doing what it's doing. Okay, copying the dependency that's good. Okay, copying a number of other plugins, all good. Okay, so this this so far look successful. So Sharon, could you. Oh, whoops, now what happened failed to. Oh, oh good. Okay, address already in use. All right. This I know what we can do about it. Okay. So on your computer. There is already a program that's listening on port 8080s. And do you is that a program you could readily stop. If not, we need to give you the argument that will let you change which port number users, looking it up now port number for maven HPI colon run, how to change the port number for HPI colon run. Here we go. Okay, so same command line again. Can I say something just something I think my help. Yes, I think Jenkins is already running on that port. Okay. Yeah, because that's the port that Jenkins runs. I don't know if yours is different but that's what my runs on. And that is absolutely correct it is there are also other things that could be running there. Do you have a local installation of Jenkins that's currently running. I don't really have because these are the projects, which uses a different portion. Okay, so, so open up your web browser. And let's see if we can see what is running on port 8080. So here, type the URL, HTTP colon slash slash local host colon 8080. And just hit enter. It's interesting it's still spinning. So while that spinning. Are you okay if we let that just keep doing what it's doing and switch back to your visual studio code. Because that may yet tell us something let's leave it running to see if it'll tell us something here change your command line so bring back the previous command line. And the up arrow is the one that I used to do it. Yeah, and then, right before the HP I colon run, put in minus capital D, and then J as in Jenkins, E as in Edward T as in Tom T as in so J E T T why. Dot period hard stop. I never I'm never sure which, which form of punctuation people are accustomed to sorry about that port P or T equals. Let's type 9090 and press enter. So what this is going to do is say, instead of using 8080 use 9090. Sorry Sharon I didn't understand what you said, did you hit, did you press enter. Can I. Can you run it yes please. And while we were there we should have checked for which Java version oh well will remind me next time we need to check with it what which Java version is being used. Okay good that is exactly the correct Java version. Great. Okay, making progress. Okay, now this is where we had the failure previously right where we were surprised, and it stopped. So we'll hope that it will continue. And then you can open your web browser and come back to port 9090. Port 8080. Very good so bring up your web browser, and let's see if it tells us anything about what's on port 8080. Oh, okay, so that was correct you do have a Jenkins running on port 8080. So now we've got two of them running and that's probably making your poor computer very badly overloaded. So now the question is are open up or in this same tab you can local host colon 8080 change it to local host colon 9090. But I suspect your computer probably has relatively little memory like maybe four gigabytes. So then you likely don't want to run more than one Jenkins at a time just because it tends to be fairly heavyweight on memory. So the, the thing to type there is HTTP colon slash slash local host colon 9090. Now you need HTTP colon local host colon HTTP colon slash slash local host. So instead of the 3000 there put in 9090. Right now if you hit enter, right. There was good. Okay, it was good. Okay. Now if you click the Jenkins hyperlink inside that page it will take us to Jenkins. While while that is loading could you switch back to Visual Studio Code. And see if it's logging any messages in Visual Studio Code to give us a hint. Looks like we may have just lost Sharon. That's unfortunate. Do others of you have questions that you'd like that we should that are getting in your way of getting your pull requests merged or submitted and merged. If you remember correctly there was some surprises that you had encountered. How is, how is it going for you. It's going, it's going fine for me. I was able to, I think my pull request got merged this week, sometimes this week. And then I had some suggestions this morning for multi, multi-line, multi-line, multi-code, view step, steps, and yeah. Very good. Okay. So, so you're there's, you're not aware of anything that's preventing you from going further. No, what I'm doing now is I'm trying to work on the documentation for the nodes and processes because there is like it's basically empty. So I'm just, I'm just trying to, I'm, I've been surfing online for information. Great. Okay. Very good. So plenty of things to do. Excellent. Okay. Lucy, I don't think that you were hitting any specific problems. Were there any specific problems that were affecting you? No, on my side, so far so good. It's only that I had a pull request that I've submitted not far from now, but then I've seen there's some feedback that I've been given. So I'm supposed to rectify that. Okay. So you, you did receive some feedback. Yeah, yeah. Very good. Okay. One of my worries is that sometimes we fail to give feedback and that's the worst possible is as soon as you have submitted something, we would like to get it reviewed quickly. But then I have this question, by the way, it's on, then we check. There's some things which are some parameters are nested and I was wondering how I'm supposed to do it. Because most of the parameters were already done. They were already added their online help but then majority are nested so I was wondering how I'm supposed to go about it. And then I, after I did the one that's one notes nested, then I moved ahead. So maybe you can tell me how should handle that. Okay, so, and which plugin were you invest which plugin were you working on input step. Okay, all right, so let's let me let me, I'm going to run my Jenkins instance and share my screen. And, and then let's let's look at it together because there may be something that that I'm not yet understanding hang on just a minute so I'm going to share my screen now and let's take a look at it share screen here. I should see a Jenkins running and now if we look at pipeline syntax. And tell me again it was it was which input input, okay good alright input so input. So, good there's already help here and already help for message so those two are good. And then when I click advanced the okay. So custom ID has it but okay button caption is the one that does not and the others. Oh, right. Okay, and now then your question is, what do I do about these right I'm going to add a parameter that's a Boolean parameter. Is, am I, am I getting to your question. Yeah. And you may or you may find one where you say, oh, this thing doesn't have any help on it's got help for parameters in general. But what about get parameter for instance or some other parameter that may not have help for it. Like, okay here's a good label. Alright so here's a label parameter and it has no help for name, no help for default value and no help for description. Am I am I on the right track for your question. Okay, so, and this was a this was a subtlety that I had not understood initially and had to learn more about what's happening here is other plugins are contributing these parameters. So in order to find a place, where would I add help for get parameter, I have to go find the plugin that is contrary or label, I have to go find the plugin that is contributing that, and then make changes in that plugin not to the input plugin. So for me that's a complicated one and this is the same class of problem we have with the build step plugin is we have to make add help to a whole bunch of other plugins, because they're contributing parameters to this thing. So that was me giving an awful lot of long winded description of why I think, in this case, you're probably done with okay button. When you finish that this plugin is done because the other things come from other plugins that are contributors. So I think what that means is we assign you to take you can switch to a new plugin. And let me see if I can find. We've got one assigned for you, I think, when you were done with the first. So, Nope, I didn't have it there yet so just a minute while we look up the pivot table. Okay, so here is the pivot. Oh, I was thinking if I could continue there that has been just in case I'm able to to work that on time then I can go back to maybe research on those nested ones or just give me a different plugin because I'm seeing we are almost. Yeah, time is really going. Yes, and I think going to a different plugin would just fine and will certainly be helpful. So you were working on input step so we could we could assign you to email extension. And say alright for the last week of the project, work on email extension and let's take a look at it. It seems to have quite a number of things that have no help like subject and body and attach log. So I think this is a good place for you to be able to do to add some help for those things. Okay, so we better not only going to work with it for that specific task but the rest of the task I'm still going to continue with the input one right. I think I will I don't know that the other tasks are let's see so the task here was insert missing pipeline help and that for me is the most valuable of the tasks that's the one we really wanted to get you through. This one is also helpful and if you can do that for input rate. I would advise this one. Yeah, if you can do that. Good. This option when you should not. I don't think you even need to do it for the input step. I didn't see anything in the input step that would need this. Did that answer your question. Yeah, yeah. The, maybe the point of clarification is, I'm less concerned about getting all the tasks done than rather it's much more important to me that you understand how to interact and how to contribute, and that you accomplish these these valuable things like inserting missing pipeline help that is so valuable to us having you do it on the email extension plugin would be a great help. So, are you are you comfortable with that. Yeah, yeah. Then the last thing, let me see. So, I've noted something that I've been told the feedback that I've been given on on my PR. See, and your PR was to the input step right input whoops where you go. Oh, yes. Okay, let's go there. And let's go look at that together. Oh, he told me that I use the different to just redo it in a different format. Okay, maybe I'm hearing the wrong is this Lucy. Oh, oh, oh, I see. Whoops, I'm not sure. Okay, so let's look that up so it looks like use ASCII doc formatting in the Markdown document. I don't think you made. Oh, oh, okay, I see. I see. Oh, good. All right, very good insight from Oleg so what this is. This is adding what you've done is you've added online documentation. And what he's noting is this file it suffix md says that it is Markdown and Markdown is a different format than than this style so I'm going to go ahead and show you the corrected style if that's okay. So you may not recognize the difference between the two formats. So, by the way, for Markdown for ski dog GitHub supports preview. So you can easily check whether it formats well. And in this case it won't. Actually that's a very good insight so if we cancel out of this. And then Oleg noted that there is a preview option here if I just do this and open it. And you'll see. Oh, that doesn't format as a hyperlink. And when you edit, when you're editing text from GitHub or web interface or when you use ID like visuals to the code intelligence idea again you can turn on our life preview so that you can dynamically check what you get as a result. Right so in this case, if I do that. Oh, that okay well let's see if I do I'm going to make switch this to use Markdown syntax. Like that. And then this instead of using link colon. We go like this. We use Oleg's recommendation if I click preview that should all that preview doesn't help as much there does it all like because what it's showing me is preview of the diff. But what that did is this converts use Markdown format. Instead of ASCII doc format. Yeah. For the markup language. The hyperlink markup. The second link is also broken. You say this. That one is broken. Oh, interesting. This one is okay. I mean the link in line 12. Oh, this one. Right. Right. Got it. So we've got another we need to fix. Okay, so let's start a review. And this one also needs a fix. And it looks like the changelog. I'm not sure on the changelog link either that one also needs a fix doesn't it. No, no, the changelog link is correct. Okay. Yes, you check out step. Yeah, I think that got it. Okay. Lucy does, does that answer your question in terms of what the, what the meaning was of the feedback hypermarked down format instead of ASCII doc format. Yeah, sure. Thank you. Okay. Excellent. And it looks like Sharon is back Sharon. Did you want to continue the screen sharing. Or do you have further questions? Okay. I'm sorry for that. I think you can just tell me which, which other, let's say on the port 8080 running then I can stop it later on. And I suspect that will be the best experience for you anyway is if you'll stop, stop Jenkins on port 8080 that will free memory on your computer. And hopefully it will, it will run faster for you as well. Yeah, but when I switched, I had issues logging in to another port number. When you say you had issues logging into another port number, tell us more about what that, what happened. Okay. I, I switched the port internally on the Jenkins folder. And then I had to use another port number. It was 8081. When I was trying to log in, it was giving me a login error. A login error. Now that's. Yeah. So a login error like there was a, like you didn't have the right password or. Okay. I was using the password and the username that I got. The correct one. So the, the, in general, the Jenkins you're running locally. When you're doing development won't require a username and a password. And unless you did a local installation of Jenkins, did you locally install Jenkins? No. Huh. Okay. I don't know what. That could be then. So we could certainly look at it on your screen to see if we can. So it was a Jenkins user interface, but the Jenkins user interface was not. Was prompting you for a username and password. Yeah, because I changed the port number. So after that, I had to switch back to 8080. Okay. And you were able to log in through port 8080. Yeah. But now I was getting the build error. Yeah. Yeah. And when you say the build error, you mean the one that said that the port was busy. Yeah. Okay. So that means you've definitely got something still running on your computer that's using port 8080. And so you probably want to find that process and stop it. So find that process and kill it. Okay. I'll still try to kill it. If it will be successful. Okay. Okay. Thank you. Now, Esther did and Esther, I believe we addressed your questions, your concern, your, your topics. Yes. The challenge I am having is the fact that. The PRs are submitted. The maintainers are not, should I say, are not always available to review. So I wouldn't know if I should continue submitting PRs or I'm supposed to wait for it to get reviewed before I proceed. So it's a challenge to me. Because I'm not getting reviews from them. Understood. Okay. Okay. So I think that from the, from the Artifactory plugin, is it from other plugins? From that factory plugins, or if there is another plugin account that would have a faster review that I could work on. Good question. Let's take a look at the list. And that way, because I think there are plenty of plugins that could benefit from your, your help. So we could put you on the SSH agent plugin. Let me do a quick look at its help to see if there's material. It's got two things that don't have any help for them. So that would be one that you could, you could certainly do. I also have you look at the sonar plugin. I suspect is so SSH agent. I would expect to have reasonably quick review time. We could, I don't think that there's much chance that Sharon's going to get to another plugin so we could put you on config file provider. Or on. See, have you looked at pipeline utility steps that one I thought had many. That, oh no, this one has most of the things that are quite well documented. Okay, so that's not a, not a, not a good choice to put you on. So what if we put you on to SSH agent. And then config file provider just had some attention very recently. Let's see if it's got. I'm not sure that there's much to well. Maybe no, those things are pretty well described. So config file providers, a poor choice on union. That's, let's keep looking. Okay, how about. See what if we assigned you to HTML publisher. Now that looks like things of all, all or almost all have help. Esther, I assume you have not yet started on workflow CPS. No, although this one, this one's got, this one's already got plenty of material on it. So. Sorry, what's CPS. So had you, had you started any work on a different plugin than your initial plugin you were working on. Oh, no, I haven't. Okay, good. Good. All right, that's that was the question. So, okay, this one looks like HTTP request looks like a good choice. On union. Let's put you on this one as well. If that's okay, Cynthia, we're going to. Not, not assume that you will work on that one and put it on union. So. The HTTP request plugin. Oh, okay. Yeah, I'm looking on the basic step, the basic steps. Perfect. Great. So you hadn't started on any of any, you hadn't started anything after basic steps on union. If you'll take HTTP request, is that workable for you? Yes. Great. And now let me check to see who the maintainers are on that. Let's, let's do a quick look. Okay. So this one is not someone I recognize. Oh, like, is this a name you recognize as likely to, you could look at the pending poll request and see if they're an abnormal number of them. So HTTP request plugin, Martin, you used to maintain that. Oh, okay. But yeah, I believe that the plugin was a follow option for a while. Not sure what's the current state. No, okay, so you can guess at the current state. I took release to fix tables to give some of this plugin. Right. It's permission from somebody, but it's not like commanding for this plugin. So probably I should put it for adoption. Well, but, but since you've got release permission, if I were to do code reviews. Yeah. If I were to continue a submissions, you, you have a potential to assist with the code review as well. Yeah. Okay. There is something else submitted. But yeah. So if there is something, we should just face the release. I can just cut to that. Okay. So I would like to request my review because if you just think me on GitHub, it may be the worst. Well, and I don't think, I don't even think we need to require you do the review. Oh, like I am. I am happy to do the review or to enlist Angelique or, or Meg or Kristen to help with the review. It's just knowing that we've got someone who has merged permission. Is, is already a big plus. Yeah. So if you want to do the review, we can let you know, hey, reviewed this and we think it's ready. Yeah. So there is a minion full fix already. So once you create a pull request, once it's done, we can merge it and release. Great. Okay. So on yinye, then that, that is. Next target. HTTP request. Any other open questions or open topics. Okay. So, so when I'm trying to add examples, code examples. So when I, when I look at the git plugin, so like the examples look quite old. I don't know how they, they added. They just to make them like that. Because when I look at the, like in the code base, I just see the pre tag. I don't see anything. Oh, okay. Well, and so let's, let's take a look at that. So what's your, maybe we could first look at, at the plugin document. So the example, the example that's surprising you is inside Jenkins. Is that right? So it's, it's here. And when we look at an example here, whoops. Just a moment. So if I look at under this question mark. The things that you're seeing bold are these exact, these texts. Tell me more, which, which thing are you seeing? So if you. Okay. Maybe I think it would be different for the documentation. But maybe. So if I go to the documentation. There's an example. Get step with HTTPS and change log. Okay. So let's look at that. I think you mean help tell me if I'm wrong, but I think you mean this place here is, is this the page you're referring to? Yeah, yeah, yeah. Okay, good. All right. So, so I'm at least on the right page. Okay. Yeah, I'm going to scroll down and you tell me when to stop. Yeah. Yeah. So like those, the pipelines, snippet generator, like the examples look. Like that. Yeah. But then when I, when it's in the online help, it's, it just doesn't look that much. I don't know if they, there's anything like CSS that's been added. Ah, okay. Good question. And I'm not even sure that what you're seeing what this technique that I'm using here is actually the best choice. So that's a very good question. I can show you why they're different and we could talk about what makes them different. Yeah. And we may then say, oh, and this, and Mark did it a dumb way and he shouldn't have done that. So let's, let's do that. Let's look at the source code for this to compare why this is bold. And why this is not, is underlined, but not bold. I think that's your question. Is that right? Yeah. Okay. All right. So let's, and I think what we can do is go look at the source code for this. Let's take this text and go find that in the source code. So here it is. I think this is the help file. All right. So it, I've got to have it bigger. My eyes can't see it that well. Okay. So I'm not, I'm not saying the title. Like the example. So I'm saying like, if I try to look at how it looks in the online help and how it looks in the documentation, like this example, the pipeline snippet generator, generate this example, it looks different. Okay. So what you're saying is this text here. Yeah. Different than this text here. So, yeah, the one you just selected first looks different when it's in the online help. Ah, okay. So, so I'm in, I'm in the snippet generator and you're saying it looks different when I'm in the steps reference here. Yeah. Okay. So let's, let's go ahead. Yeah, that's what I'm saying. Like for me, when I'm adding an example, like it doesn't look like that. Maybe I can share screenshots. Yeah. So here I'm going to stop sharing and let you share a screenshot and let's take a look at what you're seeing. Okay. Okay, that's fine. Using my phone. See, and I think I've got. Yeah, share screen is allowed. Okay. So Cynthia, it looks like you may have dropped out and just returned. Cynthia, can you hear me? Cynthia, we're not hearing you. Are there other questions while we wait for Cynthia to return? Yes. Hi, Mark. For the, the, the definition on the website, it's not the website. On the, on the page, on the documentation page, I was wondering if you could say, give it a little explanation. Oh, I don't know why when I tried to use my laptop, the internet just, but let me share now. Thank you. So Esther, we'll get back to your question. Go ahead, Cynthia. So you can see my screen. Yes, we can. Yeah. So this is how the examples look. For me, but then when I do the, the kids again. This is how they look. And if you see the difference. They, so here they look quite both. And it's different from here. Okay. So the, the, the concern is about the font. Yeah. The font. So I was wondering if there's some CSS that's been added. Not as, not as well, certainly there is CSS that's being used in, in each of the contexts to, to control things. But I don't think that's within your control. Let me do a quick check. On that. The markup used for those. Those examples. I thought it was just the code style or. But, but let me look. Okay. So, I'm going to go ahead and do this. Plugins. Need to go to the. Pipeline documentation pipeline steps. Here we go. And the example is. That. I'll hear. So the. The sample is in. Yeah, it's just using pre. Interesting. Okay. So the pre tag. And, and that may be the wrong thing. Oh, like, do you remember? Am I supposed to use a different markup for source code? Well, it depends. Because you can just, just use code. Code. You can just use code preformatted forces formatting. So whatever you put within preformatted will be printed as this. And if you put HTML text within pre, then they will be printed. Okay. So then, then what that's saying is I made a mistake in the get plugin. And we've got different formatting because of my mistake. It should be listed as code. Instead of, or so it's. I don't need to worry about it wrapping or well, do I, I want it. I want it to be. I'll have to look at it and see that's a good, it's a good question. Excellent question, Cynthia. And my use of the pre tag is probably wrong. And now I've got to go figure out what to do to correct that. And it will likely be a code block. So use the code tag. And I may then have to put in a line break to assure that it doesn't get wrapped into the paragraph. Um, I don't think it's the problem of the pre cause actually also had to use pre so that I can maintain the structure of, uh, the code examples. And also I tried using the code block, but it didn't work. So I don't think, um, the problem is the pre tag because the pre tag is actually needed to keep the structure. So that's the problem. I'm just going to move to the next slide. And I'll show you what it looks like. The, how it looks. Interesting. Okay. Well, so then maybe. Have you been, have you committed your changes to, Uh, your repository and push them to GitHub. If so, if you could send me either by Slack or by email, a link to the branch where you're working, I could take a look at it and see if I can, if I could understand it better. I'm not 100 percent certain of the advice from the I think we received advice from Daniel Beck or someone else that that pre was was a poorer choice than code because code this is code what it that's noting the semantics of it is code so let's let me take a look at your example and see if I can understand it okay so Esther back to your question yes um yeah yes I was basically saying um okay so I'm trying to open up the page okay so for the notes on process is documentation page it says pipeline steps locking agents and what it is and running external processes that may survive agent restart agents reconnection yeah I was wondering if you could um just maybe do a little explanation just something so nodes and processes hang on just a minute I'm going to I'm going to share my screen and and then let's let's be sure that I'm understanding what will what what's your question is so okay so I've got the pipeline notes and processes page up on the screen say the say the the text that you were having the question about um pipeline steps locking agents and work spaces pipeline steps agents whoops agents and it's it's not this page I don't think it's this page it's not oh it is okay sorry so it was tell me again what was the which which page was it it's uh plugins.junkins.io slash work okay but it's the it's so it's the plugins page for workflow durable task okay all right so it's this page right here is this the one yes this one okay all right and and what was your question there are you um the statements especially the running external processes that may survive agent it's a bit um I don't know I just need I just need a little clarification okay all right good okay so so what you're really trying to do is you're trying to parse this sentence right you're trying to comprehend what is this sentence saying to me yeah okay good all right so so and and this is this might be a place where where a conversion one of the optional steps we'd identified was converting to documentation as code this this plugin has very limited documentation in this particular file it's showing us I'm going to go through the sentence and let's talk about each piece of the sentence as we go so pipeline steps locking agents and workspace so these are the this plugin provides pipeline steps that can acquire locks on agents that can use agents and workspaces so so both directories or folders inside the agents so this the steps provided this pipeline are related by this by this plugin are related to actions that do work in workspaces or that might use agents and even might lock them and and then in addition to using agents and using workspaces in the agents this plugin provides utilities things that will allow us to run external processes inside those agents okay so that far any questions about the pieces I've already just I've described up to there because then it gets more complicated after that so you said no okay great all right so that now now the next part is is that Jenkins origin as it originally was originally was created had a job type that if I restarted Jenkins all the work that was being done inside that job type would be lost it would lost is the wrong way to say it the processes running inside it would die it would be stopped and unable to unable to continue even if I later reconnected it was gone but pipeline added the facility to allow me to serve for to allow work that is going on on an agent to survive and continue operating even if Jenkins restarted while that agent was doing work so that's why the that may survive a Jenkins restart so this is saying one of the one of the key things about pipeline is durability it has the ability to continue running even if the Jenkins controller temporarily restarted itself oh like did I did I make a terrible mistake in my description I'm sure I'm not precisely correct on on all the words I used and I apologize for that no that's fine sorry yeah I'm not following 100 but that's okay described looks fine great and and so so so that far says ah these things that this plugin provides do things with agents in workspaces using external processes and they will continue running on the agent even if I restart the controller yeah so actually the artifact idea of this plugin is more descriptive than the text because we have a durable task plugin which basically provides this framework which allows to create processes and tasks on agents which would survive loss of connection with the Jenkins controller and pipeline durable task step is basically API on the top of that for specifically for pipeline so that you can run asynchronous pipeline steps which again use this API and become robust against the stars I like that I that's that's that's a great way to describe it it is that this text right here talks tells us about the implementation inside the java code there is a durable task step that provides these attributes that provides these these behaviors yeah anyone is welcome to document it a bit more you can just pull request so so then then Esther the next piece this agent reconnection is for me my mental model another variant of Jenkins restart right if for some reason the network connection between the agent and the controller were broken but the agent process kept running and the controller was eventually able to reestablish that connection the the results would be retained and usable still by that controller that that was an excellent question do you have more questions on that topic no I don't I don't know now any other questions from anyone else yeah something little so there is this PR that we were checking the most recent one the one that we've just done now so I was checking if they could merge but I've seen on my side the test two tests have failed and two have passed so is that this one here oh yes okay now now I have to hang my head in shame so this is where I think if we look at this we will see so I'm just navigating to go find it and what we will see is that either the tests may already be failing on the master branch or the tests may be failed may be intermittent on the master branch so let's go look at it and see so nope the master branch tests are all passing and now yours was pr 49 was that right 49 and yet you haven't changed any java code at all and we got a test failure here let's see what it says forbidden for I I don't know why that would fail but it's certainly not related to anything you changed as far as I know let's look and see anything that it hints no so my usual pattern there is let's run it again and I have permission to do this unfortunately and the maintainers have permission to do this but pull request submitters do not so the only answer I've got right now is that looked like a transient error because you had had tests that passed in build number four and build number three and the code you're changing if we look at the changes you're just updating the read me which should not alter the java code at all so in that case what what you may have to do is inside the pull request say something like mark wait the ci dot Jenkins dot io tests are flaky could you run it again right and and that that for this for the moment is probably the simplest approach there just mention me or um yeah me or there are several others but I promise I'm one of them so and that also helps hang my head saying okay we need to figure out why that test is flaky and what we can do to fix it okay any other questions no don't have been my sleep all right you've been most patient Meg and potentially Angelique will meet with you on Monday if you've got questions over the weekend I'll probably available be available in slack so don't be shy about asking your questions I'll post a recording of this session it'll likely be one or two hours from now before the recording is posted in case you need to refer back to it one quick note for me so we request plugin I will be merging full request which might require additional documentation because they introduce new parameters excellent so on yinye there may be even more things arriving on the HTTP request plugin that that will need even more more have even more items to document okay great thanks everybody I'm going to go ahead and stop the sharing and we'll end the session thank you very much for your time thank you thank you thank you so yes oh thanks for oh go ahead oh would you have a few minutes afterwards another topic I do yes absolutely you want to connect in a in a separate session yeah it would be better that's great I'll end this meeting and we can chat