 Okay, it should be recorded now. Hi everyone, today is February 19th. So we have a regular Google Summer of Code office hours. We will run the standard agenda. So we will start from a short Q&A. So if anyone has questions, just ask. Then we will have projects in couple updates and then we'll have more time for Q&A if you have longer questions or if you have technical questions. This is the best slot to discuss that. Okay, we have a number of new people on the call. And if you have any questions, just ask now before we proceed. Anyone? So there is a question about project proposal. Yeah, but regarding specific project proposal. Yeah. But yeah. Yeah. So as I was asking about this, are there any questions about project proposal? What are you supposed to submit the proposal? Sorry, I don't understand. No, can you go ahead? Yeah, there you go. These numbers. Can you know what we are supposed to submit the proposal? Okay, so how to submit proposals? Yes, yes. How to submit proposals? Okay. So let's take a look at the JSOC timeline. So this timeline points them in places and you can see that student, official student application begins in one month. So on March 16th and on March 31st, the application deadline. So this is the time when you will be able to submit your proposals on the JSOC website. And this is what is the application needs. Before that, you can send your proposal drafts to the main piece or to the Gitter channels in respect of the projects. And then they can be reviewed. For example, let's take, we'll just open project ideas to show you an example of how it could be done. Here we have one project is external fingerprint storage. And here we already had one proposal submitted. So you can just go to the website, find the channel mailing list or Gitter chat. And here you can find that there is a student asking about the project, Sumit. And if you go to the mailing list, you can also find a thread where Sumit proposed the first project idea there. Yeah, it's here. It's quite earlier, but submitting project ideas earlier gives you more time to accommodate feedback from potential stakeholders. And here you can see the proposal. To be honest, I'm still get to review it because I'm quite behind after two weeks of being caught. But yeah, the proposal is here. And you can do the same. Once you have the first draft, just submit it and start the discussion using the main channel you can find. Okay, fine. And one more thing I want to ask about automatic specification generator. It's better to postpone it to the session so we can discuss it here. We shall ask now or shall we continue that later? Let's do it later. Because it's project specific, so it's better to discuss it when we have more time to deep dive. And you can also ask questions on the channel too. That way we can answer them too, as well. That's right, yes. Thanks. Okay, again, there could be questions before we proceed. I joined a little later. I saw my proposal. Did something happen? I just was using it as an example of how to submit project drafts before the application to get reviews. Yeah, I promised to provide some feedback this week. No problem at all. I thought I made a mistake or something. No, you did everything right. Thank you. Okay, so any other questions? Okay, then let's just take a look at updates. So the main update, 4-2-3, that we are waiting for the announcements, you can see that the list of the mentoring organizations will be published tomorrow at 9.00 PM VTC. What, I think 6.00 PM VTC. So right now we don't know whether Jenkins project is accepted or not. You will know soon. So let's keep our fingers crossed. But yeah, we did all the preparation works, so right now we can just wait. In addition to just waiting, what we discussed at the previous meetings, we still can work on project ideas. So you can keep refining this list. And you can see that the many project ideas have been moved to the accepted state. So now we have a bunch of ideas here, but we still have some ideas in the draft state. So my ask for everyone would be to consider finishing them. Usually they are stuck in this state because they need quick stuff guidelines or new different issues. For example, I started writing with automatic specification generator and just didn't finish it. But for other projects, it means the same. After that, we can formally move them to the accepted status. And hopefully they will get more interest from students because even with documentation explaining what the statuses mean, sometimes draft project ideas are considered as months which are not ready to be treated. We could consider changing naming, but yeah, that's what we have right now. And we have six ideas on this list. So it's specification generator, a bit bucket rest API, but my understanding that we should move it to the ongoing discussion section as well, because Martin has stepped down and I wasn't able to get a response from Shengyu. He's based in Beijing, so I'm not sure what his current connectivity. But yeah, right now I have no confidence that we will be able to run this project idea. So we can move it to the discussion state. And code coverage, API, custom Jinx distribution service, pipeline documentation, Jinx remote monitoring, all these ideas can happen, but we need to finalize the descriptions to move them. I'll get a PR in today to get the bit bucket moved back to draft. So yeah, it would be also great to start the list discussion because what we need is not just status update, but we really need that thread because that's how ongoing discussion is implemented right now. So for example, here, if I click, instead of going to the GSOC site, I'm just getting to the main list. So we will need that thread like that. Yeah, thanks, Marky for handling it. Okay, so regarding other statuses, we reached the number of 20 potential mentors. Again, if we get accepted tomorrow, we will be doing some promotion to get more potential mentors. You can see that many project ideas have just one mentors. Right now it's fine. And we will be doing more reach if we know for sure that we accepted. But if you see some project ideas which you want to mentor, you can just add yourself to this list so that we expand the number of complex here. So last year we had 35 potential mentors by the beginning of the student application phase. Let's see how many mentors we will have this year. Okay, so there is no other updates from me. Maybe somebody else has any updates to it. I can give an update in regards to the machine learning project. We have started to schedule student interviews. And we have a document that myself and the other mentors are going over and we're going to be reaching out to students to set up those interviews. Yeah, so student interviews isn't something we generally require for project ideas. But if mentors teams want to invest additional time, it's a good thing to do. Usually we just do some discussions at the office house, etc. Setting up additional requirements is totally in power of mentors teams. Yeah, the reason we decided to do it for the machine learning project because there's some specialization that's required in the area of machine learning. We wanted to make sure that we weren't setting any potential students up for failure or over committing to something that they may not have at least a basic understanding before embarking on it. Yeah, that's a great thing to do. So why we don't do it for all students just because of the bandwidth. We discussed it a few times at retrospectives, but the ultimate possibility is just difficult to have enough time for that. If people are ready to invest their time, it's much appreciated. Any other updates? So application status check, please. Yeah, Oleg, I just wanted to say I've updated the guidelines for creating templates. We're creating project ideas. Project idea templates or project proposal templates. Project idea template. The PR is pending though. All right. So we need to have some reviews. Yeah, I did one review cycle, but at that point it was failing. So I guess that was actually on my side. So I provided an update for that. Thank you. We just clarify how we make proposals. And again, if we get accepted tomorrow, we will have additional call for project ideas. Maybe you'll be able to get more and it's really important. So thanks for doing that. Okay, do we have any other GSOC related pull requests? Oh, yeah, that's on me. I still haven't published the purchase blog post for Lisbon. I'll do it after the meeting. So we're going on the application status check. Basically we discussed in the beginning. We just wait till tomorrow. And then we either celebrate or plan a retrospective with fingers crossed that everything goes well. Okay. Open action items. Yeah. So. These are two pull requests, which are pending and what else we had. You needed to update channels for Jenkins X because Jenkins X doesn't use Gitter. And apparently we had support of non Gitter channels already in the framework. So now if you go to the Jenkins X project ideas, they just redirect you to the coming pages of Jenkins X with links. So this is just addressed. And if anyone is interested in Jenkins X project ideas, please use these channels. Yes. The Slack channels for Jenkins X are part of the Kubernetes Slack. So you have to join the Kubernetes Slack and then you can choose the channels to join. Thank you, Kara. And yeah, Jenkins X project ideas are now in the published state. So we addressed all the criteria there. The official ones. Okay. What else did we have? So we had an open mind question about this client project ideas. Thanks, Martin for addressing that. Yeah. That's it. So we still need a travel post from long. I will pin him today. And while we are talking about travel, did everyone get the reimbursements for mentor summits and other events? Yes, I did. I think you still have one outstanding writer leg. Yes. For me, it's still pending, but it will eventually lend to my account. So there was some process issue. Or maybe just too big PDF. I'm not sure. So any other action items, which we are missing on the spot. So they're basically the list is almost empty, which is great because if we get upset tomorrow, we will get a huge search in traffic from potentially interested students. So if you have any time reserve, better to dedicate it to the discussions with students, project proposals, et cetera. Yeah. Next week's. Kara, I'm going to add. If you're an agreeance, I'm going to add my name as a potential mentor to the Jenkins X add-ons. Right now, I think it's just James and. Neha. Sounds great, Markey. You're very welcome to do so. Thank you. Thank you kindly. Yeah. Okay. So any other topics to discuss before we start? My question to new people on the call. If you need any clarification, if you want to understand. Something or know more about how we operate in JSO. This just ask. Okay. I guess everyone. I would like to. So I see someone in the call that who contacted me recently. And I just wanted to know if you wanted to do. If you wanted to do some, if there's potential mentors on the call or. Students. I think. Michael contacted me recently to. To talk about the call. Students. I think Michael contacted me recently to. Inquire about mentoring. So do you have specific questions, Michael? Regarding that. I don't have any specific questions right now. I've been working through the. The proposed project ideas. Yeah. I'd be open to mentoring almost any of them. If there's someone who needs a co mentor. Yeah. So you can just put your name on several ideas. You have the most interested in. Thinking. This is about potential mentors. So it's not that you commit to this particular project idea. Well, you don't commit at all at the moment. It's just an indication that you might be interested. And it will help our colleagues to steer the discussions in the. Next phases. If you get accepted. So that we can build member teams. Okay. Yeah. If you have any specific interest to just. Put your name here. And again, we still can. More project ideas. So if you have anything specific in mind. If you would like to make a proposal and main increase. And we can find unit. To make it an official project. And Michael, if you have any questions or you want more information, don't hesitate to reach out in the, in the Gitter channel. And, or if you want to reach out to one of the org admins, please feel free by all means. Well, I appreciate that. Thank you. Yeah. Yeah. This chat never sleeps. So you can ask the question. Yeah. I think it's a good time. Probably because Mark almost never sleeps, but yeah. Other people also contribute a lot. So let's continue. So we have a question about the rest API specification generator. So we can just proceed with that. And if anyone else has questions. We have 20 minutes left. So, yeah, put your items. So we can dive. Hello. So I want to ask about the only like last time we have specified about this exported annotation, right? Yes. So how can I identify whether it is normal? Whether it is a rest API request is particular request like this is going to delete, this is going to update, this is going to insert into like buildings. I have to make according to building stat, build status or according to the type of request. Yep. So Jenkins, we basically have two parts of rest API. One is a good trust API. And another part is the rest. So, for example, here you can go to almost any page of Jenkins and you can see. Here you can see a rest API link, which points you to the API provided by this page. And this is a getter API. So basically, you can just get the JSON API with some additional parameters if you need. And this is how we use. Probably not the best example. So this is where you can get some initial API and information there, forget methods. But if you want to have delete APIs, et cetera, they implemented quite a different way. If you want, we can take a look. But the getter API is the most simple thing. Okay. It's like for each plugin or mainly it is focused on plug-in, right? This API is focused rather on Jenkins model objects. So for example, jobs. Okay, the build status of jobs and the status, total status, right? Yeah, right. I suspect that API is just suppressed on Jenkins.io. So that's why we get empty JSONs. But yeah, I can show you another instance. But yeah, the idea that, yeah, this API for any page like job page or build page, you can access rest API and get some aggregated information. So how it happens? For example, we can take, let's go to the Jenkins code base. And here we have a job Java, for example. So job is just an entity which represents all kinds of jobs and surprisingly folders in Jenkins. And here you can see that it has some limitations. But it's actually accessible from rest API because it's model object. So all the model objects are accessible through rest APIs. And here you can just scroll down to that code and you see that there are some export fields, like for example, UI, Kimmel, Q and whatever. So these are things which are returned by rest API. And Jenkins uses its framework stepper to aggregate these annotations and to build the rest API response. So automatic specification generator, we basically expect that somebody does similar processing and uses it to generate specifications of APIs instead of regular responses. Okay, that means the main focus is on getting the exported annotate functions and automating the process to open API or Swagger, generate this API documentation automatically, right? Yeah, it will be the first step. But it's just for get APIs. We also have other kinds of rest APIs. So you can just Google for rest API Jenkins, which is probably not the best documentation page. So it's still on Wiki and we need to move it. But we can put some data. It's also a good opportunity. Just part of this to make sure that we move this over to the main site and also date it. Yeah, this page is definitely outdated. There are other links in project ID, which might be more relevant. But yeah, let's take a look at this job page. So there are, for example, methods which start from do. For example, do RSS change look. So this method, for example, returns your RSS change look. And formally, it's also part of REST API as far as Jenkins concerned, because basically it doesn't make any differentiation for it. Or we can take something more specific. For example, there is a method which returns details for the context menu. It's also REST API. So that's how Jenkins front-end talks to Jenkins server in order to retrieve this data. Or do config submit. It's a REST API method for submitting the documentation, submitting the configuration. And here you can see that it's not edited by post. So it's not a get method. It's post method in REST API, which does configuration submission. So if you talk about this story in general, it would imply studying how Jenkins REST API works. And we have mentors who experienced with that and who can provide pointers. But still there will be a lot of traversing code processing these annotations and generating the question for the REST API specification. Okay. That means I can ask you or Christine about this REST API questions, right? Yes. You can just go to the respective channel. So here let's take a look on this project ID. We have a link to the chart. And in this case, it points to the documentation special interest goal. So you can just go here and ask any questions you have about REST API and we will try to help. Okay, fine. And one more thing you have added is like the post and the get annotations, not exactly get the post annotations or do the function starting with do. And we have to mainly scrap according to situation, right? Yes. So still it's a very simplified view of how Jenkins REST API works because there is a lot of other things. For example, these methods can be parameterized. These methods can be restricted. These methods can have some additional security checks. So there is a lot more, but we will need to start from something. Yes. I will start from exported and the post things later. I will try to develop them. Yeah, something like that. Because after if I start with, so it will give slowly idea about how the functions are really working. So I started with plugin development also. So you shouldn't start this plugin development now, unless it helps you to prepare your project application. So you do not expect the students to complete their projects or to create their prototypes as a part of application process. We know that you have studied, you have a lot of other assignments. So your main goal now is to create, prepare a good project proposal. But if some prototyping helps, help you to just do it. Yes. So that's why I started with the plugin development and I will go through the links which you have mentioned today about REST API and I will work on them. Thank you. So I will meet in next meeting then. Okay. Any other questions? Nothing for me. Chris, maybe you would like to add something about the REST API generator. No, the big thing for me is like, we can also, you know, it's like don't have to wait till next time to ask questions like a whole week. Feel free to jump in a channel and ask and there will be other people that can maybe help give ideas too about like things that are working on to help automatically do documentation as well. So yeah, feel free to jump in whenever that's a good device for any potential applicant on the call. Just when you have a question, don't feel free to reach out over the soft channel, reach out over the channels that may have been listed in the proposal pages. Everyone in the community is incredibly helpful. We want you to succeed. Plus one. Yeah. Okay. Any other topics? So yeah, one thing which we usually discuss is that these are office hours. So we do set an objective to stay online for 45 minutes and to fill the topics. So now specifically during the coding phases, application phases, we will be closing down the meeting. Basically once we discussed everything. So yeah, if you have any questions, it's better to join earlier. Because if you join late, maybe you might be able to do offline. We do not stay for 45 minutes. But yeah. Okay. Yeah. So what I was trying to say is that we actually do not stay for 45 minutes. Okay. So if there is no other topics to discuss today, thanks everyone. And again, let's keep our fingers crossed. So we should have other results soon. And then we will make sure to finally post videos because I realized that I forgot to post a video from the previous GSOC office hours. So thanks all. Thanks everyone. I think you're ready. Have a good day. Evening. Thank you. And thanks to everyone for your interest in this Google Summer Code. Bye now. Bye. Thanks.