 and be alive. Thanks. So, welcome everyone, and James's configuration is called Escort Office Hours. We're having today Alexandra and Olek, myself, as we've been so far. Anyone can join the meeting if you're interested. The link is in our Gitter channel. And, well, that's it. Let's start. Olek, I'm not sure what... Yeah, I'm screen sharing. Just a second. Yeah, so... Yeah, we're gonna... Okay. Our Gitter channel is here. By the way, jenki.ci slash configuration is called plugin. Okay. So, here, meeting... Previous meeting follow-up. We had a couple of action points on me. The first one is about organizing a detached, dedicated detached configuration API plugin meeting. We did that. Olek and Nicola were present, and I was present, and we decided not to detach. Olek, is there any... any comment you would like to share regarding that, or... Yeah. So, regarding this, I think that it's still a problem which will hit us in the future. But there is a decision that we don't detach that. And in the worst case, it can be detached later because detaching plugins doesn't break binary compatibility. It may be an issue for all configurations called cases, ironically, but it's another story. So, we are aware of the risk that it's bringing, but for now, we decided that... that we're not... The action point is about a JK's logo being moved to the dedicated folder under jenkins.io. It was about making an official entry at jenkins.io for jenkins. It was done and it has already merged, so the page is live. And then we had... we actually did not really discuss it that much, being... JK's special interest group being part of continue... cloud native special interest group. We joined the first cloud native seek meeting and well, I'm still having my doubts they won't have strong opinion and it seems there is a lot of things to discuss there and we may still have cloud native we may still read some of the things to talk about the configuration as well, the part of another quite... I'd like... Sorry, the audio breaks. Is it on for me? So... let me switch to another internet and I'll be back in like... Yes? Yes? So... what I was saying... I was asking... because I... I'm actually leaning toward having a separate seek because it seems cloud native seek already quite busy and we may not have enough time to discuss configuration as code stuff but it's still like leaning not... I'm not sure yet so I'd love to hear your opinion. I would rather prefer to have a separate seek because configuration as code isn't only about jcask, it's also about various things like configuration management, it's also about groovy hooks and other low level stuff and honestly I think that we will have another enough content in a separate seek. But... I don't have a strong opinion about that. If we don't have time in cloud native seek, we just make more time in cloud native seek because it's not a problem, we are not limited with meetings, we can create as many as we need. Okay. It seems we have a similar opinion but let's stick to cloud native now and see how it goes. Was the new cloud native seek already announced or... because I kind of missed it in my friend. I missed something. So we had the first meeting last week but it was about... it was about external lock storage so quite unrelated to just jcask the next meeting will be next week I'm waiting for votes including you every next year but yeah maybe I'll double check maybe if start with the voting in another seek but yeah, next week we will have another meeting so if you want to discuss jcask topic there, let's do that. Okay, so we should get in the agenda somewhere, right? Okay, so I can put it to the agenda or maybe just in this discussion, for example? Great. Hello at the agenda. The last action point again on me was regarding sharing my opinion about the plugins group ID and I did share it but then there is a comment from Nikola and I did not follow up on the discussion after so I think we have to add maybe I can contact him separately if we want to make a decision that we all after or agree on unless you have some comments Yeah, I do have some comments but it's rather about this meeting's effectiveness without Nikola but you know my opinion. Okay, okay. We can take it outside of the meeting with him. I don't know maybe we need to change the time slots, maybe it's just vacation but yeah, let's figure it out. Also you put an action item on you for the next meeting. So, well it's going well when it comes to action point more or less it's going a little bit less great when it comes to releasing release candidate. We're still very close but haven't managed to work on the last must-have issue and the last must-have issue is the one regarding running dry run every time before applying configuration. I will just quickly have a look at the milestone for a release candidate and as far as I know we only have yes, only one must-have and the rest is there is one back and I think we have a workaround for that and there are some documentation improvements slowly working on but some of the other issues needs to be closed so I can finalize the documentation but it's low priority so the last waiting issue is still the same but it's not the warning about invalid configuration dry run and if I understood Alexandra correctly yesterday she already started looking at that issue is that Yes, I Do you hear me? Yes So I actually even add validation before applying new YAML file so it's checked with function already there in configuration as a code as understood it should work as we want it and I actually add this validation button to test configuration if it could be applied or not so and if it's something wrong with configurations I just drop the message Yes it is Just comment after the meeting there are changes which must be done Yep Okay So then you can review it but with this pull request I have an issue with the merge from the latest master and now I have everything broken so today will be cleaning work to make it work again Yeah so that's apparently something went wrong but anyways that's how it's on the branch it's working I have some doubts about why and I already mentioned it to Evelina I'm not sure if it's the right way to do but yeah it was a cynical suggestion to make it simpler Probably should have been done in a separate pull request because I don't think it's really related to the task It's absolutely unrelated but yeah so that's it's a lot of in this pull request to be honest can be divided into few pull requests to be honest but yeah I can do it as so if anyway I can how to say it I can separate it into another pull request if you want but it's connected with changes I already did so because now you're showing the pull request for issue 2 885 which is about providing a new source for configuration after it's running a dry run it's kind of related to the same that's why you're implementing both in one am I understanding it yeah they are connected is it better to do that in my opinion maybe about applying a dry run it should also happen no no I just realized that I misunderstood something so is it possible for you to divide it into to separate pull request or is it no I can do it but we should merge then first this provide the path yeah it's like a configuration as a code class changed and changed UI for this yeah my opinion we should merge first then this 285 above that we'll merge the 777 okay I can divide it into two no problem yeah okay and also I don't know for me it's kind of like a kind of circle dependencies here because we are providing path to applying configuration in the configuration so that's I don't know for me it sounds weird so I I like how it was before when we how well how it's now before we merge my changes like a separate how to say it's separate point in manage Jenkins but yeah I'm just commenting sorry no no you're very welcome to comment because I mean I don't know maybe you have to discuss today but for me this is this is like the most important so 285 and 77 so if there are any doubts or issues or questions we should use the opportunity let's make a decision so I I'm not sure Alex if if you're now waiting for some feedback or I'm waiting for feedback and also as a background as I said I need to fix this because now I it's I can't even run Jenkins after merge but yeah that's please do review and based on your opinion I can do both ways so it doesn't really matter for me because I'm I don't know I so I will take your decision in this case because you have like you're suffering this longer than me okay so back to other stories yeah so we have this candidate Milestone the we have three issues this one I guess it yeah this one at least is addressed what would be the for release candidate the date yeah so I'm postponing it week and week but since there is still work in progress I on the last master issue I wouldn't like we still want to have an official release before Jenkins world and I think it must happen beginning of September so well it's the month later the plan but I would be happy with having release candidate in the middle of how good right so it's definitely not the best thing that release candidate could delete because he's the last breaking change in API actually it would be great if we could get another alpha release yeah that's sure yeah because after each breaking change for example in simple pull request job plugin it's needed to update the dependency and to fix issues if any otherwise it won't work so having alpha releases is something we need here I'm not sure whether it's infrastructure issue or not second master branch is just broken now it is just broken so it would be awesome urgent fix that needed I would say oh okay so Alexandra maybe the fact you can't run master now Jenkins now is because the changes emerged aren't yeah it could be yeah I will check maybe I will need to hopefully drop out this comment then yeah okay yeah I will just comment maybe Nikola will fix that but actually my proposal would be to maybe prohibit direct pushes to the repository at all because it's a really bad practice yeah we had a discussion about it and honestly I thought it's not happening and I now have and like doubts when pushing like small change in documentation it goes through peers and that's how it is we understand the urge to push directly it's a small change but yeah maybe maybe we should okay it's a long story since this meeting is recorded I rather prefer to not comment on that okay so yeah anyway we are getting close to something and if you could ship another alpha release it would be really helpful now when the master is working again okay yeah regarding 1.0 things is it so the priorities are still the same right yes so actually the must have but if you feel like the priority changed just let me know so my priority is to just get all breaking changes before 1.0 for example this is a breaking change so yeah I would rather prioritize it as the must have if we want to do that regarding the rest improve further propagation I guess I did the most of these bits before I'm not sure I think it can be just closed but yeah I think this small has done what else do we have developer documentation it's still there pre-migration description it's still there this one is what Alexandre is working on right no it's just a text when you go to Manet Jenkins and you have a list of global configurations and I just feel that the text that is there it's not incorrect but I don't think it matches the entries that's just it's really small can be done anywhere at any time and regarding that I guess there is no final decision about that at all I mean this is documentation like the blue one so it's only docs or maybe documentation because of course we're not doing deployment deployment is out of this so that's just it the plugin provides all needed APIs now something like that yeah regarding the rest so Alexandre is working on this thing but if I understand correctly it's not really included in any of milestones should we add it yeah yeah I guess so and I mean it will be a part of release map if it gets done in time oh no actually it's in 1.0 yeah but we started with that one it will make part of release candidate yeah okay so it's looking but we don't have I mean it seems possible like once we have the things Alexandre is working on so we can just run finally download from Jenkins page and then we just start on Jenkins end so because this is one of the use cases I want to have in our documentation it works perfectly with Docker already and and in different ways but I want to have a very simple use case for someone who's just starting and that's the location in the location at Jenkins home the different location for Jenkins so those are the things that we but we're very close to having this so once we have it documentation can be finalized okay what else do we have on the list so this one it depends on the patch in local plugin but in local plugin there should be review it I guess yeah this I think we can just hopefully land as well okay I guess that's it with RC status should we go to the next item yeah and the next item is any other business yeah I don't have anything would you and what is it A or B any other okay I have question but I don't know if it's I don't know good enough to be recorded or we can discuss it after I guess if there are I mean there is like no limitations here but if you prefer it perfectly okay sorry I miss this the last part of the last part of no I just said that it's your code so okay actually it's regarding changes I'm doing in pull requests and we supposed to have some export of configuration to YAML file so like a backward operation and but I found so I didn't find any good way to create custom button in the global.jelly so rather than using HTML.js code so and I don't know maybe Alec have some devices so yeah maybe you want to share and we just take a look together because I'm not sure what is the problem sure yeah sure I will try to do it if I find the way how to share my screen yes screen share yeah here we are so we have now I slightly rework well slightly rework UI I will configure as a code and using config jelly instead of index jelly and it seems like there are limitations to provide some buttons in UI and so we need to we need to have here button calls like export and if you will find here export sorry yes here the function that was implemented before it's required post and it's extract configuration into YAML file so I assume we need to provide something similar into new UI but I to be honest I couldn't find any good way to do it so rather than I found a couple examples let me show you I'm a little bit lost because there was there was an export before so so export button isn't located in configuration pages it's located in the list of actions provided by management link right yeah exactly and it seems like it's not supported in config global configuration well global configuration management link there are different things if you create global configuration you still should have management link so that you offer this navigation UI if you just remove management link you lose this UI at all and it's designed these are different extension points but in jelly itself how I should configure so I mean in config though jelly in config.jl you configure everything using so global configuration doesn't support the data binding in common ways so you still need to implement configure method on your own but you just in vogue.js but from the rest it's just a common form so what you do here so this thing gives you a configuration page but nothing more yes no so this configuration page will appear in Jenkins global configuration screen unless you categorize it yes show still have yeah continue sorry so so you will be able to present this configuration you will be able to handle this configuration using configure method and that's it all the previous functionality of management link you will have to go somewhere else and yeah honestly I think that configuration code would be rather management link yeah that was like my previous message so I created another class to handle global configuration to have this functionality for adding path and URLs to getting YAML files yeah but reviewers commented out that maybe it's simpler to make configuration as a code to be extended extend global configuration rather than management yeah I think the previous approach was right yeah I actually agree with this but anyways so shall I rework it again you could just revert to the commit sorry I wasn't following this discussion at all no that's fine but yeah we need then organize the discussion in the PR then and to agree because it's I don't know now I'm in the middle of decisions so take one or another and waiting for reviewing and yeah taking it takes time so at my point of view the previous thing was I don't know more logically organized to have something completely different from configuration system configuration stuff for our for this configuration as a code plugin it looked better anyways so let's then move this discussion under PR and it would be nice if you can find the time to discuss this in details I'm likely till jsocans so I can take a look but I won't be able to actively review it okay yeah so and this config I only found how I can create custom button it's just provide here additional html slash j JavaScript called like so and yeah it looked not very nice and kind of hacky way I was thinking maybe there is like something hidden and I just don't know how to do it yeah so that's all for me I think okay so we've got some information and the discussion will be continued in the PR um yeah I think so we still need to yeah cool anything else not really nothing for me okay then I think we can close the meeting thank you for joining thank you okay thank you I'm stopping the broadcast