 Welcome everyone. It's Jenkins documentation office hours. It's the 15th of June 2021 in India standard time. It's still the 14th in US time. Topics I had generating the weekly release change log. So I wanted to hear from dirage on what he's learned plans, et cetera, because I saw some really great comments in last week's change log based on on feedback from Oleg Nanashiv and wanted to wanted to hear your description there to see what what's happening. And then we've got an LTS change log for 2.289.2. I was just, I can just give a brief description on what I plan to do there and then we've got a poll request to review with that documents plugin installation manager. And, and that's, I've done one or more reviews of it use the content but I think there's more to do there. Anything else that should be on the list for today. Yes, I shared an interview, it's for the request that I've generated for this week's change log 2.298. So if maybe you can review that as well. Oh, good. Yes, absolutely. Okay, so you've already generated it very good. Yes. Excellent. Well, that's, and that was not what I wanted to do. I just exited the thing that I was using. Let's go find that docs office hours. Sorry about that. Here we come again. All right. Here's this one. All right, and now let's go find that poll request 2.298. Excellent. Okay. Great. All right. So that seems like the first, first and foremost topic. Excellent. So dirage do you, let's see. Okay, so this is for just. Yeah, okay, good. And if I look at actual code changes. Core quests. Closed. Okay, we got an, that's junk. Okay. So update, upgrade a T H quick searching. Rest methods. Okay there it is. This looks very good to me. Is this correct. It looks it looks correct. Yes. Tell us how you generated it. Did you use the tip of the master branch. Yes, I just simply pulled all the changes and then all the editing in the V-Clearity I'm in file. Yeah. So let me test is 5564 included. There it is. Yes. So the most recent is there. This looks great. Excellent. Oh, okay. Take it back. There's a change here. Okay. So let me make a note. This one needs to be changed to use this annotation. Okay. Let's do some other. What about the add added? Is there a syntax in that? Yeah. Actually, that's correct in that we're asked to use present tense rather than past. So add X-frame options header. Oh, added. Oh, I see what you're saying. Yeah. That's just a redundant verb. Okay. So edit. I suspect, yeah. That was in the original text and we just fix that. Yes. I do that all the time. Right. Okay. Okay. Thanks for that. I should have been more cautious. Okay. And this one, rather than the jaren form, usually we use there that document rest methods to mark an agent temporarily offline. That looks reasonable to me. I'm going to go ahead and submit my review. Minor phrasing changes. Even if you weren't to implement those phrasing changes, it's still approved. You're welcome to apply them or not, Dheeraj. Definitely. So this is one thing I need to improve more on cross-checking and phrasing it well. Well, and well done. Absolutely well done. Now, I would love for, I think Oleg's points in the earlier review process is that the weekly changelog ultimately might be best done by a machine with later edits after the fact. We haven't reached that point yet. So what you're doing is great. You're already helping us as we advance. Thanks very much. My pleasure. Yeah, that's great. Now, did I understand correctly that you plan to revisit the pull request shortly before the release or shortly after it? I thought you were mentioning that you were working, and maybe I've misunderstood the comments. Let me bring them up just to be sure that I it was the 2.297 changelog. This one. Oh, okay. That's an interesting one. So Tim was saying that he thinks this is not a developer thing that it was. In fact, I'm not sure I understand Oleg's comment. Did you understand that, Dheeraj? Yes. So there was one change done by I think just click. So what he did was in that change, they were mentioned to Jenkins issues, and it was on Darwin fixes. So what I did was I created only one change log entry for both of these changes. So he was just saying that for you need to create like two changes for the two Jenkins issues. And I'm sure I've confused you. Oh, no, no, that's okay. So that's very interesting. Okay. So because due to the help of that automated generator, it generated it and merged two Jenkins issues in one change log entry. And I wrote only, I just took that and wrote only one change log entry. So what Oleg is saying that you need to generate two of them. So if you go to his commit, then he'll be able to see the two change log entries that he has created. Okay. All right. So here, if we look at this one. Yes, exactly. So here he has. He added, he added a new two of them now. Okay. 5548 and I'm sorry, 65195 issue and 64347 issue. Right. I see. Okay. So he rather than making and given that they were, one is, well, okay. Don't under, okay. So the idea here was he recommended splitting this rather than making it into a reference to two different issues. Interesting. Okay. Good. See, do you Raj, are you still there? Yes. Yes. Okay. Great. All right. Did you ask me something? No, no, I just, things went quiet and I didn't understand quite why. Great. Excellent. Thank you. Oh, and Kristen's joined us. Thanks very much, Kristen. Yeah. Sorry, I'm late, y'all. That's great. Thank you. So Deraj, anything else that you wanted to share in terms of how it's progressing? From my side, I'm really enjoying this. I got some comments on my previous PR from many people. So that was really great for me. Like I get to interact with them. And I also want to share one more thing. Yes. So Daniel Beck also helped me. Like I was having issues in fetching the changes for the latest change log version. So I was not able to pass through that. So I posted my comment on the PR and Daniel Beck helped me. So that was really great as well. Excellent. Very, very good. Thank you. Okay. Any other things that you'd like to share with us? I think that's it. And so do you have any idea when the automated change logs are going to be generated or it's in the distant future? I do not know. So I don't have the skills to do that change log generation. And so I'm not, and Oleg is quite busy right now. He's actually unavailable this week entirely for personal reasons. And so I suspect we are, we've had the plan to do that for a year or more. So I don't expect it anytime soon. Okay, that's great. I mean, if that's something that's interesting to you, you could certainly explore it. For me that it's a, there's a level of sophistication in that automation that is beyond my typical abilities. So then if it is, so if you are, like the way you described it, so even it will be difficult for me as well then. And that I don't know. I just know that for me it's, it was, Oleg, it seemed pretty comfortable to Oleg, but it's well beyond my capacities. All right. Next topic I had then was the LTS change log for 2.289.2. And there we've got, we've got a poll request proposed to Jenkins Core. So let's look at it. That proposes what should be included in Jenkins 2.289.2. Here's the poll request. And this describes the things that are proposed to be included as fixes. So a linkage error, a font change, a library update, a, Chiati, is this a Chiati upgrade? I'm not sure what that is. I'll have to look further. A form submission fix, a log, the login redirect fix. And then a pipeline issue, apparently, and a macOS specific fix. And there's tooling to help with the generation of this thing. I've intentionally held off on generating it because the developer conversations as to which things should be included don't feel like they've completely finished yet. So any questions or concerns there? Dheeraj, are you interested in being involved in that? Knowing that it's a more complicated process, but given your experience and your success with weekly, is that something you would like to be involved in? Or should we let you just stay on weekly for a while and then see how LTS evolves as we go forward? So that is exactly what I was going to ask, how LTS change logs are done and who does it? And to answer your question, I would love to work on LTS change logs as well, but I would just give it one more week for weekly release and then I'll join in just to get enough experience with it. Good, okay, and that is perfectly well suited because that LTS change log, let's see our next release is about the 30th of June. So we would like to generate the change log next week or the week after. So maybe if we're available next week, we do it, we could work through it together next week. So this one is the, let's call it the dot two plus change log, that's the, for me that is a simpler change log than the dot one change log. Wait longer for LTS dot one change log, it is more complicated. Great, excellent, okay. Anything else on LTS change log for 289.289.2? So who generates it and is the process similar to how weekly releases are done? Yeah, the process is, yeah, similar is a good way to describe it with additional complications. So the additional complications are LTS includes an upgrade guide in addition to the change log. So we need to describe and if we look here, you can see what that, how that appears. It looks like this. So if we go here to the upgrade guide, this is the upgrade guide that was written for two dot 289.1. And it's very specific on, as a user, if you're upgrading from some previous version of this one, you need to think about these things. And that is author not generated, right? Yes, that is distinctly authored, absolutely authored and reviewed. And so it has things in it like, well, the 277 change log has the configuration for modernization in it. And so it talks about what you need to go through to do all sorts of things. And yeah, that's... Right, like sometimes there's testing involved with that too. Yes, yeah, this is a very human, the upgrade guide is very much a human activity. And it's probably never going to be automatable. No. Where does the source from this come? I mean, did the developers who did the PRs that are in the change log write some of this up? At least try. They at least make preliminary entries because the pull requests include a... So if we look for instance at, let's pick one, this one. If we look here, there will be a proposed change log entries. And by default, the template also has a proposed upgrade guide entry. Jesse on this one chose to delete it, but it by default is there. And that proposed upgrade guide entry will show, for instance, on this one says not applicable. So no upgrade guide needed, but if an upgrade guide guideline is needed, it will be described here. Okay. Now, you can probably guess that upgrade guidelines are not nearly as well vetted, typically in the pull requests as we would like. And so it takes more effort. The upgrade guidelines for configuration form modernization certainly didn't include all of these details. Absolutely not. We created those as a result of all sorts of preparation. Okay. The other is LTS.1 includes two sections, changes since the baseline release and changes since previous LTS release. And those two sections are distinct and have to be generated and considered differently. And that we can see here, for example. So changes since 2.289, those are the changes applied as backports. And then notable changes is a human curated list of which things did the author of the change log think were most important to highlight to users. Did that answer the question? Yes. So there are more number of things that you want to refer before writing the NPS change log, right? Correct, right. Very good. Okay. Then we had one more, an open pull request on the plugin installation manager. I don't see that Sudhakar has joined us. So that we could just do asynchronously. Let me at least embed the link and encourage you to help with the review. This one is a most interesting pull request because it's trying to document the plugin installation manager and that is the tool that we want long-term to use for automated plugin installs in Docker images, in Helm charts, in other places like that. Let me find that. And there we go, this one. And what I found was that the exercise of trying to review the pull request caused me to use all sorts of capabilities in plugin installation manager that I wasn't exactly sure how to use them. And by using all those different facets of it, it reminded me this is an interesting and very capable tool that people need in all sorts of ways. So Kristen, if I remember right, you've had some experience with plugin installation manager, is that correct? Yeah, yeah. So I can look at it as well just to kind of go over everything too. But yes, I have a little bit of experience here. Back in its infancy. Well, and for me, the exercise was, I think the pull request is missing some sections in terms of typical use cases. And that's where we need more research, more looking to understand, oh, this use case and this use case and this use case should all be covered. Most of my comments were related to more minor style things that I detected as I was working through it. And I still need to do another review of it before we say, oh, yeah, this would be ready to merge. Okay. Yeah, there's a lot of configuration options kind of being able to point to different directories. And I think many different people use it to load different versions of plugins. So I think that would try and at least cover those cases would be useful. Right. So is this PR for the software? Does it also include the documentation? Oh, this PR is only for documentation. Oh, okay, okay. Yeah, so this PR is purely documentation. And the idea was it's a we would like it as a predecessor to the eventual replacement of install-plugins.sh with plugin installation manager tool in the Docker images. And what we've got is that's a see Alex Earl's poll request because what he Alex suggested was what we're going to do is we have this shell script in the Docker image that is used to pull in plugin versions. And that shell script is just not as reliable and predictable as the plugin installation manager tool with all of its Java capabilities. Ah, okay. Right. Like it even started as like a explicitly to replace that script. And then it kind of grew in usefulness across the, it's like, oh, instead of just being able to use it for Docker, like people are using it, I think even just to set up things on individual machines. It's a really cool tool. Yes. It's a successful Google Summer of Code project too. Yeah, well, and in fact, it's a successful Google Summer of Code project that has continued its life and evolution and even more. I mean, the initial implementation was already solid and now it's a dramatically better, more capable tool. Oh, definitely. That's another reason why I consider it successful. It lived beyond just the summer. Yeah. Great. Okay. Good. Any other topics we need to discuss today? Is this the right time to discuss, like can we discuss about Contributor Summit here? We sure can. Yes, absolutely. So I am part of some group. So I posted a message there, like an informal text, like, hey, the Contributor Summit is going on for going to be happening for Jenkins. And so if you're interested, please contribute with any knowledge that you have. So two of them reached out to me pretty quickly and they were suggesting that they have knowledge about basic front-end skills and I can still see if it's JavaScript React. So how can they help? So to answer them, I tried to search and I found out one repository by Tim on pipeline branch something and in which he needed some help on React. So I, like, I would like reference that to them. So I was wondering, like, do we have any specific section which I can refer and tell them that these are the, HTML, CSS, or JavaScript help that we need and you can help us in that. So I think the real question is, do we have issues related to text stack? A good question. So I'm not aware of, so I'm not aware of text stack specific. Kristen, anything that you could suggest? I guess the plugin site, for instance, is a JavaScript static site that might benefit from it. Others that... A lot of this, a lot of check-ins is in Java. So that's why it's a little bit harder. Are there any UI-specific plugins or areas where that could be helpful? Okay, certainly the user, so the user experience SIG, SIG with Uli Hoffner is doing JavaScript in a, let's see what we might call a movable panel that allows graphs and charts to be embedded in Jenkins pages. So that might be another place. I'm not sure. I don't know that they're using React though. I believe they were using, let me look and see. Okay, Jenkins user experience SIG SIG, just a moment, okay. So there's a link to the document. Here is, let's look at the document. Okay, so we had, they had a discussion about roadmap and icons, oops, sorry. Roadmap and icons, yes, this is the one I was mentioning. So if you've got people with designer experience, the roadmap and icons topic is being actively discussed and we'll be next discussed two weeks from, this one, the next one, two weeks from now, maybe canceled due to CD-Con, but they meet every two weeks and certainly discuss UI topics. Okay, so this is the, so I need to direct them to UI UX channel, get a channel, right? Right, that's a very good place for them as well. Absolutely, is the user experience SIG, the UX Gitter Chat channel. And if I remember correctly, now that I see it, I'm reminded that Uli is using Bootstrap. I don't think I've seen mention of React there. They're using Bootstrap as one of their libraries. Let me look in old notes just in case React. Yeah, no mention of React in those current notes. And if we look at the original notes, no mention of React.js there either. So I'm not sure that there's anybody in UX SIG actively using React as a framework. What is the state of the documentation about MPM integration into Jenkins? You say NPM integration? You say NPM integration? Yeah, the build tool, isn't that the build tool that's used for most, for a lot of the JavaScript stuff? It is, yeah. And so there's, there are very limited docs on using NPM effectively with Jenkins. I get an occasional question. I mean, you know, Maven is our example for everything. And we get requests for NPM in Gradle, I think, even just more examples or tutorials or something. I don't know if that's- Yeah, good point. We've certainly got, we've got an NPM tutorial here on building a node and a React app. And that actually is a good one. That might be a really good one to have if someone were willing to extend it to be more interesting, right? Because I admit it, I'm not, the thing it's showing is a pretty simple application and the way it's doing it. So that might be a really good one to consider. Yeah. Ending the- So, Dheeraj, was your person with React skills willing to be involved in creating tutorials kind of things? Or do you think they just want to do coding? I don't know, but I'll definitely ask him pretty. Another tool that like really needs a lot of work, period, or just kind of like a lot of help is the Custom Distribution Service. So that was the, there's a Jenkins, it allows you to basically create custom packages for your Jenkins, like a kind of like a bundler already kind of, so you can download. It's supposed to have a front end where you can go and like click things and select different packages and stuff that you want to put in the service. And that's in React, but I don't think it's being hosted. I think it might have been taken down and posted and it just kind of needs, there's some tickets and issues and stuff open in the repository, but that could be another chance to do some coding. Oh, that's a good one. Yeah, so customized, that's this site. Yeah. Like this front end is React and that could, there's a lot of open pull requests or like a lot of open issues and just kind of like, not only can you do Java stuff in the background, but you also have like the entire front end is all React and there's any improvements there as well. Good. Okay, so Kristen, thank you. That means we have an immediate answer on something that could use a React developer, let's see. So then issues are visible at and where it's issues being tracked in Jenkins JIRA or in the repository with GitHub. In the GitHub repository. I think, yeah. So now I have to find the GitHub repository. Jenkins CI slash maybe it's called Custom Distribution Service. Yep. We are, if nothing else, completely boring in our naming of things, huh? For Jenkins, I like boarding. Okay, here we go. So if I put issues, there we go. This is actually a really great point. So this is the same exact project that I was going for this year's Google Summer of Code. And in this, I solved some React issues. They are really great issues, but I'm not sure if we have any more React issues there. Most of them are like, hello. Yes, go ahead. Yeah, yeah. I'm sorry. So yes, most of them like the React ones have been done. So I think we need to add more issues on this. And also the hosted version is not updated. Yeah, no, like seriously, like anything that can be done there to help out or just kind of react stuff back in stuff. Just the service needs some love. Okay, good. So should we open any issues there? If you would like to open issues. Yeah, so if you find any issues or want to open anything, please do. But yeah. Okay, I need to think from my side like what improvements can we do. So if you can also help about any issues that you would like to report, that would be great as well. Great, very good. All right. Any other React JS topics that Kristen come to mind for you or for others? And also in our meetings chat, I've shared the link for Tim's repository that I was mentioning. So you can also touch that. Oh, very good. Okay, all right. So change now. And this one you said pipeline graph you plug in. So this was the one that Tim Jacome is working on, right? Yes. And I wasn't sure that is, is it actually based on React? I wasn't sure what, well, I guess he's got a, okay, front end. Yes, because in his community.jankins.io post, he says that I'm looking for anyone with React experience or who wants to learn some. Oh, very good. So developers and designers. Well, and so this, just so you're clear, Dheeraj, that is a thing that we hope will replace an entire segment of the Jenkins components called Blue Ocean, right? So this pipeline graph you plug in is intended to be a lightweight replacement for Blue Ocean because Blue Ocean has been very difficult to maintain. And so this is a very promising project. Oh, okay. So I had no idea about this. So I always found Blue Ocean to be something really brilliant looking. So why is it so difficult to maintain? Because it's so brilliant looking and doesn't fit into the Jenkins extension and development model. It's a completely different way of doing things and so completely different that it surprises people. So yeah, but Tim's work on pipeline graph you plug in is just amazing. Awesome. And if you've got React, if Tim says he needs React skills, that is also a great choice of somebody to help with this. Tim's a marvelous mentor and really great at it. So the UX SIG would love to have that help. And I'm sure Tim would be willing to coach separate from it as well. Let's put that even first in the list because that is certainly high interest. Okay. Any other React.js topics? We can also direct them to like go through the Jenkins.ly website and find out if there's any small changes that they want to do, right? Yes, although that's unlikely to apply React skills, but yes, certainly. Yes, exactly, I'm sorry. Documentation updates would be a great side. While I'm thinking about it, let me look at the plug-in site to see actually how it's implemented. So just a minute, let's look at the plug-in site. So we'll borrow this one. Jenkins plug-in site. There we go. Jenkins in for a plug-in site. So this one. So dear ours, this is where I'll need your help to tell me which implementation language it is. I don't recognize. Okay, so pages. No. So 404.jsx. So there is React input. Oh, that is React. Okay, good. Well, so then this site is very much then likely to be React all over it. Yeah, here we go. Helper.js. And its issues are tracked here. And there are several good first issues as well. So if you're, let's include this in the list. Plug-in site. And right now that plug-in site is largely maintained by two people. And those two people I'm sure would be delighted to have help. Gavin Mogan and Spinnock Konenshni are the two current maintainers of it. And it's amazing how heavily that thing is used and how frequently it is hit with lots and lots of questions. The Jenkins plug-in site is very, very popular. That's this site that you're seeing here. So if we look for it, this is all the plug-in site and it's extracting this information. It is a static site, but the information is extracted from all sorts of different sources, including update center, including GitHub releases, including the GitHub read me. It's links to Java Docker here, all sorts of amazing things that this plug-in site does. That's really good. This is a good place to reference it. Yeah, and it's, I am absolutely completely impressed with all the amazing things that Gavin has done with all of his skills. I have no idea how he did such an amazing thing. 18 months ago, that site was dynamically generated, painfully slow, and not nearly as useful as it is now. And he has single-handedly made it into something much, much better. Yes, that's amazing. Okay, other React.js topics. All right, any other topics? Oh, Dira, as you mentioned, contributor summit, are there other things that we should be discussing with regard to contributor summit? Yes, I want you to know that how do we promote it and how many participants do we get? I'm trying to understand the engagements. Right, so promotion will happen through, I actually have the action item to write, through blog posts, LinkedIn posts, tweets, and other social media posts this week. Registration invite is in the original blog post. So the original blog post is on the Jenkins site here, contributors summit, wait a second, where is it? There's a reason why we have a search site. Okay, I'm not finding it. This one, here we go. So I have the action item to get that done. Right now we've got over 700 already registered. And we'll start more active promotion here to remind people that it's happening, et cetera. What sort of geography do we have for that, Mark? I haven't seen any description of the geographic distribution. I would assume it's a worldwide audience. The calendar time is difficult, is a little difficult because it's Friday afternoon, Friday evening late for Europe. Okay, which means you really need to start in the morning. Yeah, we start at nine o'clock AM California time if I remember right, which yes, is therefore really late for Dirage on Saturday. Is there anything we can do? I mean, there's some talent over there. Look at Dirage. There's some talent in that part of the world. Is there anything we could do with like doubling sessions or something? At this point, we've talked about that and decided that there probably isn't a way for us to shift the sessions, we'll record them so that they'll be available. And we invite people from around the world to attend. The last time we did that, we used sort of 24 or a 48 hour period for it. This time we just didn't have the window of time to do that and still be attached to CD-Con. Right. Just out of curiosity, Jenkins does not have an Instagram page, right? Sorry, Jenkins does not have what, Dirage? It's own Instagram page. Oh, no, it does not. Good question, right. So no Instagram page for Jen, not as far as I know anyway, Instagram. That's something that if you're interested in Instagram and willing to sort of inspire it, you certainly could do so. I'm not an Instagram user and so I've not understood how I might apply it. Well, even I don't have an Instagram account. So I asked this because I maintain an account for the engine that I'm working with. So what I've noticed is for, there's a section called Reels. So if you post Instagram Reels, it can reach to around at least 1,000 people in 20 to 30 minutes. And the reach can be increased if with the right hashtags and right some decisions that we can do. So I was just wondering, we can post the Reel about Contributor Summit or we'll be reaching out to all the developers, we can make some particular hashtags. Yeah, so our social media efforts are coordinated in the Advocacy and Outreach getter. And let me get the link there for that. So is there any specific reason why we don't have Instagram account? As far as I know, just no one yet who's had the passion to drive it. So if you're interested in it, you could certainly propose it into the Advocacy and Outreach SIG. We were truly impressed when LinkedIn was a relatively late addition for us. We added it a relatively few years ago and quite rapidly it developed more followers than the Twitter account. So we've been surprised at times by these social media channels that sometimes shock us with how many people are interested in the topic there. The Jenkins channel on LinkedIn is still very active and has lots of people who follow what LinkedIn is what's saying there. Hang on just a minute and I'll bring it up so that we can see it. So here we go. 11 hours ago, Oleg posted this one or here's Jenkins is the way. And if you look at it, we've got 1,200 followers. And yeah, so 55,000 followers which is dramatically more than our Twitter followers, 1,200 new followers added in the last month. It's quite impressive what the visit count is here and who's viewing it and how they're viewing it just truly amazing. Yeah, so absolutely. So if you're interested in social media, the advocacy and outreach is a great place to propose social media posts. Exactly. So I don't have a really strong reason to start an Instagram account. My only reason for suggesting this was that there is a feature over Instagram Reel which can help us to reach out to many people in just a very small time. So this I can share on that with the channel. Great. Do you think that's a good idea? I do, yes, absolutely. I am the wrong person to promote Instagram because I don't use it. I work much better on social media that I use but by all means, if you're an active user and you think it's worth the experiment, take it to the advocacy and outreach. Sure. We've reached the end of our hour. Any other topics that we should cover? Nothing from my side. Good. All right, thanks, Dheeraj. Thanks, Kristen. Thanks, Meg. We'll look forward to talking to you in a week. Okay, bye-bye. Thanks. See you.