 Okay. It seems we're on air. Hello everybody. Today in the room I have with me my colleague from Pragma, Tommy. Hello. Hi. Tommy will be, Tommy will be working with introducing a number of task-powered instances at one of our customers. So he wanted to become much more familiar with the project. That's why he's here with me. I can see Joseph, Tim and Oleg also joined. So, hi guys. I'll start sharing the screen. Yes, sorry for being quite a bit. No worries. We didn't give you much time. So I hope you can see my Google Doc now. Feel free to update the agenda. If you want to add something, we can also shift the points. I mean the order in case any of you have to revert, but I don't see anyone complaining. So yeah, since we last talked basically a month ago, we had a number of releases. And Joseph, is it okay if I ask you to comment a little about the latest releases since, and thank you so much for that. You've been doing a lot and you were responsible for most of the releases in last weeks. So can you comment on the releases? What happens? What's interesting? We can see on Gitter that some people are sometimes becoming a little bit confused regarding what happened. So I think it makes sense to comment a little. Yeah, so where to start? We did a lot of releases, I guess. Yeah, I think the one 11 is the last one we mentioned before. Sorry, so can we start with the one 12? Yeah, so I can't remember from memory, but we did some work on one. I don't know, actually. I can't even read my own release notes. We don't have to go through all the changes, but if there was anything. I don't think there was anything specific in this one that changed. Okay, actually there was one. We added a, for people who are using a configuration as code to write tests, we added a way to create a class rule. So instead of you having to create configuration configured with code on each of your tests, you can do it on the class rule. So like have easier time making one test or multiple tests that use the same configuration. That's a nice feature for plugin developers, at least. Oh yeah, there was the copy paste, actually release 12. So we have now the view element. So you can now, instead of exporting and downloading a file, you can actually view the configuration. As you can see in the lovely screenshot there, makes it a lot easier. It does, it does. And then in 113 there was, it was extended with this easy copy paste. Yeah, I found one issue. You cannot select a single piece of text of it, which I plan to fix. But you can at least do controlling and then you can select everything and paste it basically into a file and then you can start editing it a lot quicker at least. Yeah. And then I think the biggest changes came with 114. Yeah, here we moved out of a lot of the support plugins. So luckily thanks to a lot of work from Daniel, he fixed up magic trick auth. So now that it supports its own, has it's removed the configurator from jcasc support plugin to magic auth. So there it's now supported in version 2.4 and it's, he also did some improvements. So that's super awesome. Yeah. So the message is that the configuration is called support plugin that is required, was required to get support for a number of plugins is becoming smaller and smaller. Yes. The job DSL is now supported by the plugin, job DSL plugin itself, but it support was introduced in version 1.73. The same goes for SSH credentials. The required version for, since version 114 of jcasc is now 1.16 and matrix authorization or authentication 2.4 is required to work with changes configuration since version 14. So am I right? Am I correct when I say that only role strategy plugin is left in configuration is called support? Credential plugins and then role strategy. Okay credentials. So yeah. And I see some discussion regarding role strategy that you and Oleg were involved with. Yeah, I tried to move it, but then I saw test failures for some reason. I'll explore it more, I guess. Okay. So the role strategy plugin is ongoing. Credential plugins just needs also some fixes and then it's on track as well to be removed. So we can hopefully get rid of it soon support plugin. And then from the from the younger point of view, nothing could change. Nothing has changed now. Okay, the point of view as long as you install the new versions of the plugins as noted, then it will work. Very good. Yes, you're early. You're just quiet. Sorry, I didn't get that before. I think he was too quiet for you to hear. Okay, let's see. Is it working now? Yeah. Okay. Yeah, I just wanted to add some comments. So regarding role strategy, I'll help with reviews and it would be great to get it over the line. And a special thanks for working on the export feature because CAB hit some issues with that recently. So if we get the export feature working in parallel with integration, it would be perfect. One of the things which I wanted to show you with the team is about compatibility because yesterday, sorry, today there was a question in chat that job configuration stopped working. There is a default engine in Jenkins which allows to mark the plugin as incompatible. I pasted the link in the meeting notes. So when you remove functionality, it might make sense to put a flag to the metadata. So that next time, so when the plugin gets released, you get a working in the update center which will at least motivate people to look at the change log. Because yeah, all of us know that nobody reads change logs. So yeah, change logs of Ajay Kaskakula and I put a topic to the bottom of the list to discuss it. I just want to mention, anyone with at least commit rights can actually or commit rights to the GitHub repository can edit these. So if you find improvements then please or if someone has improvements to the change log, please help. Yeah, I mean I really like the way that change log looks now. There is of course a number of people that never read those and I've seen that you just have an Oleg talking about this update center notification kind of thing. And I think it's worth looking at even if most of the Jkaskusers rely on Docker or something else to install plugins for them. I think it's still worth investigating. So thank you for the link Oleg will have to look at it. Even with Docker, it might make some sense to have annotations because yeah, we have started the project for advanced plugin manager CLI tooling and yeah, I believe that at some point it will be integrated into the Docker images and it will be pulling confirmation from update centers. Well, it does it even now but it doesn't show compatibility issues but we could improve it to do so. Or even improve it to also pull in release notes from the GitHub because most people use change log markdowns or GitHub releases. So I think that could be cool as well. So support that. Yeah, and speaking about that I wanted to mention or highlight how much I like the like I don't know how to call it like UI changes in GitHub. So this new way of displaying releases and the changes with categories and emojis this is really nice and I don't know for me it makes it much more readable but there are also other things like we have a number of templates that are being improved in time as Joseph mentioned like he put a lot of effort into that and also other people but pull requests to update those templates are of course welcome if anyone discovers that something is missing or something could be improved but we have a number of templates that yeah. Yeah, actually I had a question about that. So yeah, jcask logs, change logs look really good. Would it be possible to share your experience in the jinx development list because yeah if we adopted the same approach in other components it may help users, it may help maintainers. I had some plans to actually spend time on this create a JEP actually there as I think even yeah jclik suggested that that I would do this and I agree with him but the way I wanted to do it was actually probably use release draft inside the GitHub org you can you can make a file where you can configure it for everyone so they could then inherit it and then at least try and improve it so but then also for the plugin sites I would probably create some API that can pull the release notes from GitHub so they can store it in the plugins and can be viewed from the plugin site. Yeah right. Probably also look into updates in the way how to include it there as well. Yeah so yeah it would be interesting to have that and we could start from something so yeah if you're interested in this topic I'm also interested because well too many components to maintain so yeah why not. But I have a really good experience with the release draft it's actually really nice I saw that the pollution started using it on their repository. Yeah it's a great idea if you can share like how you did it, why you did it and I don't know Jeff why not you can create a pull request when this is described and then use the mailing list to kind of promote the the pull request so people can can join in comment and or look at it. It usually works in another way so we'll start from the mailing list and then create a JEP and in this case it would be particularly reasonable because well we already have something to share in the mailing list which could facilitate feedback which could facilitate some adoption and then once you get to the JEP you get a number of stakeholders for example we are doing the same approach with dependabot nowadays so you may have seen a threat about adopting dependabot Jenkins so yeah we could do the same with release drafter so yeah if you're up to just send an email to developer mailing list to kick off the discussion it would be really nice I'll try to check it around to do that Can you share the link for the Jenkins developer mailing list Oleg so I mean I just in case someone misses it okay or I can do it just yeah I would have done that great thanks So yeah that's that was it the improvements and introducing templates introducing kind of automatic labeling state issues and stuff like that I like the fact that we're trying to make the collaboration easier and I really appreciate it And so what else the copy based of export feature we we covered and I was actually hoping Oleg you you will give us some update regarding Google Summer of Code and I was checking the projects yesterday and the the plugin installation manager CLI got my attention so I'm wondering how we can benefit from that but yeah you the mic is yours okay so yeah probably I'll share my screen just second I'll just close whatever I will stop sharing for now then Okay so yeah just to provide some context this year we have we had a number of project ideas and we had project idea specifically dedicated to configuration as code this one unfortunately we didn't get students applying to this project idea there were some discussions but well probably I'm not sure this is the second year we may need to think about how we promote this idea next year probably it was too complicated to students to understand what is this about but we still have a number of activities happening in other plugins so for example yeah for all plugins being compatible with configuration as code will be one of the criteria which we will be defining some projects explicitly define that they will be configuration as code plugin around work for example cloudfish is for external workspace manager there is a student who is working on that and yeah pretty much for other projects and we have plugin installation manager CLI tool library so it's actually a follow-up to the old ticket I'm not sure why Jenkins IO website is really slow today it's not the first time I hit it okay so it opens something yeah so there is a question about having a unified way to manage plugins in Jenkins so yeah if you used the early version of g-class you may see that there is a load there is a functionality which allows to install plugins and finally this functionality was removed by Joseph because well there was no sustainable way to keep it running if I understand correct yeah yeah I encountered some issues like some Jenkins instances where any gap in like infinite restart loop because someone manually installed the plugin even if the the functionality was not used it was there so this restart was sometimes you know triggered without the reason yeah right plus also many kinds of chicken and egg problems yeah and on the organization white level we have even a bigger problem because we have many ways to manage plugins it's not only configuration as code and docker images you have plugins txt which does something then we have custom word packages which also does something like Jenkins evergreen Jenkins file runner they have ways to manage plugins and of course Jenkins core manages plugins on its own and the biggest problem is all of that is that all these implementations behave differently so the idea of this project originally it was created yeah this ticket was created by Nikola Golov but yeah we discussed it a few times before so yeah the idea is to create a new engine which would allow replacing others or at least allow would allow unifying features and that's why we started the project which would be about plugin installation manager CLI tool and library so it means that yeah it will be a CLI tool which we will be able to include in various images like docker and it will be a library which we will be able to reuse in components like jcask so yeah there is an obvious issue that it has to be run on the startup before you really install the plugins so it means that jcask logic would be need significant update to use this library as is but yeah we might just include it into the Jenkins core directory who knows so yeah there is a lot of things to discuss but yeah the idea is that there will be just a thing which allows checking for updates which allow applying updates driven by configuration files or by some other conditions and here we can also say about things like integration with change logs for example to pull information about incompatible updates or something like that and yeah we also want to have more features in the list so yeah the full scope of the project is yet to be defined but yeah this project will be driven by a platform special interest group tomorrow we have a meeting at 2pm UTC so yeah if anybody is interested you can just join this meeting okay so this is what I wanted to share but yeah sorry that we didn't get student applications for jcask specifically again so if you want to spend some time you could just talk what you could do about that yeah I mean I wasn't involved that much in promoting it and I think I was clear from the start that I can't be very much involved in the project but yeah I just want to say that I'm gonna speak at the number of conferences this year and like 30% of my presentation is supposed to be about how to start contributing to open source using some example from making plugins compatible with configuration as code so I'm hoping I'm gonna find some potential contributors outside of Google Summer of Code project so that's one part when it comes to bringing jcask as a Google Summer of Code project I don't really have any great ideas I don't know what makes the project more or less interesting for students that apply yeah so I thought about offering projects on a final level so instead of same configuration as code support the plugins may be pick and specific area so for example if there is a number of funds let's say of Github stack or maybe of Asia stack we could say that okay configuration as code for Asia configuration as code for Github and then it would at least narrow down the focus and maybe it will make the project more easier for students yeah and yeah maybe it still needs to gain some popularity to be more I don't know recognizable for for students yeah the problem with it if you talk about students not many students are really involved in the Jenkins yeah and definitely there are not so many students who study DevOps who study configuration as code who study basic practices and get a relevant experience at universities so when we say configuration as code for Jenkins in our proposal yeah they do not know what is Jenkins so they do not know why configuration as code is interesting so we have to make it sound like an interesting project for a software developer not the DevOps engineer maybe yeah yeah but it's it's done for for this year like we can't do anything too and this is what I wanted to talk about because you need to be able to do anything about Github probably we are thinking about having another program because you may have seen that we have seven projects but effectively there are more good applications which we were able to offset due to the limited number of slots and due to some other issues moreover we applied to google season of docs this year we were not accepted so but there is some interest to have documentation-based projects and now I'm exploring options to have another program under the umbrella of Linux foundation so Jenkins is formerly a part of the Linux foundation now through his delivery foundation and yeah there is community bridge platform which is actually considered to be JSOC as a service so what we could do theoretically is to run Jenkins-based program for using this community bridge portal and maybe attract some contributors through it moreover we wouldn't be limited to JSOC limitations for example we would be able to take note on the students but also more experienced engineers who just want to be introduced to open source and who interested in some mentorship so yeah it's one of the options I'm exploring but yeah I'm not sure when I will be able to come up with this final proposal because yeah too many things on my plate yeah but it's a it's good I think it's a very interesting idea especially broadening the the the audience and by that I'm not targeting only students so yeah let us know how it goes yeah right okay so is there anything else any of you would like to would like to share or discuss today have we discussed the two items in the agenda like there are multiple improvements regarding Henry and call the repo in github and the easy copy placed of you export so I'm not sure whether you really touched that I mean yeah so we mentioned you know this this was me showing the templates for pull requests where we decided I mean we decided you suggested that maybe Joseph could share it on a Jenkins developer main English and the copy paste of you export we basically started with it when we were going through the releases when we're showing what was introduced new features and yeah the export part was downloading a file before now it opens in a browser and you can just mark everything and copy so that was that was the thing yeah that's cool okay so anything else anyone yeah I have one topic but I would rather discuss it after the recording so if you have some time in this guys online after we close the broadcast okay then I don't hear anything else from team and Joseph so yeah we're gonna stop the stop the office hours now thank you thank you for joining and for listening and thanks to everybody for working on jkask yeah I was well only for for several months but yeah I came back I went through change logs etc yeah so there are so many changes coming thanks team thanks Joseph yeah it's I can't follow them they are they are too fast okay and meeting is over thanks bye all right see you