Ladies and gentlemen, on behalf of Brigadier General Steven Lightfoot, Director, Capabilities Development Directorate, Combat Development Integration, Welcome to today's retirement ceremony, during which AstraZeneca Aldrin will be released from active duty, who retired after 26 years of faith and honorable service to his country and the United States Marine Corps. Ladies and gentlemen, please stand for the arrival of the official party, invocation, playing of our national anthem and the rendering of honors. Let us pray. Our gracious heavenly Father, we come to you now with gratitude that we can celebrate such an auspicious occasion. It's during moments like these that we are reminded of the impact that one Marine can make to promote democracy and to afford the citizens of this nation the ability to pursue happiness and to teach us how to live virtuously. I'm reminded of the reality of President Reagan's words. Some people spend an entire lifetime wondering if they made a difference in the world, but the Marines don't have that problem. Master Regenerary Sergeant Aldrin is no exception to that truth. He refused to merely sit on the sidelines only talking about change. He's a man of action and will certainly leave a lasting legacy. We thank you, Father, for allowing us to be the beneficiaries of his dedicated service. We realize that these moments can never fully offer a sufficient tribute to Master Regenerary Sergeant Aldrin's accomplishments, but I pray that these coming moments might provide at least a glimpse of all that he has met to the core and to this nation. I ask that you place your blessing upon Master Regenerary Sergeant Aldrin as he comes to the end of this journey. I pray that the next would bring tremendous joy and laughter with his wife, Tara, and with their family, and I pray that you would be honored and glorified during this time. It's in your holy name, I pray. Amen. We'll now render honors to the retiring officer, Brigadier General Stephen Leithner, Director, Capabilities Development Director. Please be seated. Ladies and gentlemen, Brigadier General Leithner. Hey, thanks, Sergeant. I'm typically someone who likes to talk with my hands, so I apologize. I'm going to have one hand moving around and one hand on the mic so that you can hear what I'm saying. Right off the bat, I just want to welcome our Korean war veterans who chose a few. I just want to say thanks. I think there's a few out in the crowd here. Can you put your — thank you, sir. Thank you. Thank you for the service that you provided to our country for the Marine Corps. Thank you for taking the time to come here today. Today is a bittersweet day. We're going to retire Master Gunnery Sergeant, the highest rank you can attain on the illicit side in the Marine Corps. And we're going to honor him today. We're going to do our best to do that. So right up front, I just want to thank a few folks who are coming here because you just heard the band and the band just sounded fantastic. Thank you for entertaining us on the front side and you make every ceremony what it is so special. Because it just wouldn't be one without you guys. So thank you so much for that. Chaplain, where are you? I just want to say thanks for that. The Ronald Reagan quote is one of my favorites. So thanks so much. I now know there's a line right here that you don't cross where you get a lot of feedback. Okay, next I just want to say thanks to the ACE. So I look across and I see the aviation combat element of the CDD and a lot of friendly faces, a lot of familiar faces. So thank you for taking the time to come out here and honor Master Gunnery Sergeant Eldridge. And also just want to say I know that you've got family and friends here who are taking the time to honor your 26 years of service to the Marine Corps. So how many folks here, well before I get to that, let me ask, how many folks here have been to the museum before? How many have not, let me ask, how many haven't been to the museum? That's probably the better word for that. Okay, well I'll tell you, this is a really special venue. As everyone knows, Marines are very proud of our heritage, our legacy of fighting. We believe, and there are other folks that believe the same, that the Marine Corps is the finest fighting organization the world has ever seen. And when you go through here, and I hope you actually get the time, take the time while you're here to walk through and see all of it. I am glad, you know, and I am very thankful that Master Gunnery Sergeant, thank you for allowing me to be your retired officer. Let me just say it's an honor. And I would say right here, yes, and I know when I said who's been here before, everyone looked up. I want to see these, these are wings. Aviation is a big part of the Marine Corps. And what you have behind me, and I think we couldn't have a better backdrop for what you do and what you've done, is you have a UH-34 C-Wars right here. This was kind of pre-Vietnam and in the beginning of Vietnam. This thing is an absolute, and it was an absolute workhorse. And for those that remember piston radio engines, that's what this thing flew with. And if you were flying it, it was because you were flying the heck out of it.  So this thing is tough to fly. This is even older than press the old Master Guns. Aldrich used the Tyrant. So that tells you something about how old this machine is. Then, of course, this went into the CH-46 frog that we flew for 50 years in the Marine Corps and then now replaced by the MB-22 tail motor. So just a little bit of history. If you go through here, you're going to see a lot of that. Why does this matter? Well, because that's what Master Gunnery's Sergeant Elvin has done. You know, a big part of his career, and when he joined the Marine Corps in 1998, he became an aircraft rescue firefighting specialist, an ARF specialist. And what do they do? They make sure that when this aircraft is airborne, it has someone able to respond when things don't go right. And that's what we need. We need folks to make sure that, A, we got to make sure we can fly these things safely. But when something happens, and inevitably it's like if you're riding a motorcycle, it's not if it's when something's going to go wrong. When an aircraft has a problem, you have to have someone who's there able to put the fire out and pull folks from the right there.  So absolute hearings. So I just want to say thank you up front for everything that you've done in 26 years. I'm going to talk a little bit more about that. I asked a little earlier, who is for the first time seeing a military retirement? Anyone? Okay, there's a lot. Got one more over here. So here's the way this is going to go today. I am going to do my best to honor Master Gensoudrich for the things that he has done. Then we're going to present him with an award, a well-deserved award, that's going to try to encapsulate 26 years of service in the Marine Corps. And when you think about that, there's probably less than 26 lines of text in there that we're going to read through. So if you interpret that, that's less than one line for every year of service. So there's no way that we can actually do it justice. But we're going to do what we can, and it's the right thing to do. So we're going to present an award. Then there's retirement certificate. Then the flag. Then we're also going to present a bunch of certificates from very important people. And I think it's appropriate to say that, because I would say that the President of the United States is a pretty important person. We need to come down to the Marine Corps as an important person. And we think that the Sergeant Major of the Marine Corps is important. And then, as I was looking at your certificates, a former plus, who you serve with. So you're going to hear all these folks who want to associate their good name with Master Gensoudrich Sergeant's 26 years of honorable and faithful service. So that's what we're going to do. Then we're also going to honor you, Tara. We're going to get you up here, and we're going to honor you, and make you feel a little embarrassed. And that's okay. This is a special day for the both of you, and we want to do that. Then, after all of that, is what I'm going to say. Congratulations, and I'm going to turn the microphone over to Master Gensoudrich for everything that he's done. And you'll have your chance to get to the marks. So, let me just talk a little bit about Master Gensoudrich Sergeant. You talked about joining in 1998, you know, some 26 years ago. If you do the math, it's actually going to go on terminal. It will actually be 26 years. So, just in case you want your math for Marines. Am I getting it wrong? Did the math. So, what I want to, I'm not going to go through his whole bio, and he's got a fantastic bio. If you read through it, you'll see the amazing, and even that doesn't encapsulate absolutely everything. But I want to walk you around the globe for a second. He joins, becomes an aircraft worker rescue firefighter specialist, and immediately gets deployed, as in Lake Hestigan Station, over to Japan. So, MCA is in the community in Japan. Or actually, it's the temple, it's the temple. So, in Okinawa, prefectural Japan. So, he serves there, and he's a firefighting specialist, but at the same time, they realize this kid can shoot, and boot camp. So, he comes over and he becomes a marksman. Really, expert. He's a doubly. You can't see it in the uniform that we're in today, but he's a doubly, meaning he's expert, expert in the rifle and the pistol, meaning you can't get better than that. And that's what he was right out of that. So, they said, hey, you're going to become one of our marksman instructors as well. And then also, and I talked about, you know, flying and being able to put fires out. But if you could do both, why not do both? So, then he said, hey, you know what? We fly C-12s, which is one of the aircraft that we fly in the Marine Corps. And he flew C-12s. Not only does he put out fires, but he's not afraid to fly in the aircraft that he might have to put the fire out on at some point. So, that's in Japan. And from there, he says, well, I'm doing a pretty good job here, and he does. And what do we do after your first enlistment when you're doing a good job? You say, hey, you got to go do a B-build. So, he gets elected to go to Marine Security Guard Detachment. And we only select our best path because it's independent duty. It's extremely challenging. You've got to be someone who can think on your feet. You're protecting embassies. You're actually a statesman, like you were representing not just the Marine Corps, but you were representing the United States of America when you're in a foreign country. And for those that are unfamiliar, you usually do a couple of countries. And they kind of start off with the one that's a little more less known. And then you kind of graduate to the one that's a little more known. And that's to ensure that you don't try to stay in one spot. So the very first one, he goes from Japan and gets stationed in Uruguay. And I know everyone knows exactly where Uruguay is because everyone knows that you learn that in geography. But it's sandwiched on the South Atlantic coast of South America between Brazil and Argentina. And that's the first place that he does. He serves as representative for the United States. After that tour, he does a great job. They say, okay, now you get to go to the place that's a little more known. And you might have heard of a place called Moscow in Russia. So he goes and he serves in Moscow. And trust me, that's a coveted place. I can't imagine that anyone else wanted to go there. And you just got lucky, right? No, it's because of performance. When you're good, you get selected for the good village as well. So he goes and he serves in Moscow. He's like, well, you know, I went from Japan to the Southern Hemisphere, back to the Northern Hemisphere, Moscow. And he's got a whole bunch of tails on that one, which are cool. But he says, you know what, it's time to go back to North America. So he goes to the West Coast and is serving in Camp Pendleton and Marine Wing Support Squadron. And that's where a lot of our firefighting capabilities reside within the wing. So now he's serving in Third Rain Aircraft Wing. Previously it was First Rain Aircraft Wing in Japan. Now he's in Camp Pendleton. But also, what do we have going on at this time? We've got combat. We've got OIF going. So he's in a unit. It gets deployed. He deploys over to OIF in Iraq. So now he's in Southwest Asia. He's bounced around a little bit. So now he's in Southwest Asia. And he's making sure that aircraft are safe and able to fly. And we're going to keep pilots alive for a true lot. Comes back from combat, goes back to the West Coast in Camp Pendleton. And from there begins his trek across the United States. Again, there is a trend here. You don't make master guns unless you're darn good at what you do. So there's a trend. He's at Camp Pendleton. He's doing a fantastic job of protecting these aircraft. And so what does he get selected for? To be an instructor. So from there, from Camp Pendleton, he needs to go to Goodland or Goodfella. Goodfella, Texas, which I'm sure everyone's been there. But it's right in the middle of Texas. At least a three-hour drive tour, a three-hour drive from every major city that's in Texas. But it goes here to be the instructor. One of the instructors, because when you're good, you're an instructor. When he finishes up that tour, it's a joint tour. An Air Force base, he comes back over, continuing his trek across the United States. He continues to the East Coast. And a good station at the Jerry Point and New River. And that's where our second bringer comes in. Because, you know, he's only served at first and third. He may as well go to second, right? So now it's time to go in. We only have three wings in the Marine Corps, you know, on active components. It's time to go serve in all of them. So he goes over to the secondary aircraft wing and serves there. And not only does he serve there, but he serves as the OIC. And you might be thinking, I'm missing something when I say OIC as a master sergeant at the time. But I'm not. I mean that. Because usually you have an OIC in the staff at COIC. But because there was no OIC, he served as the OIC. As the officer in charge, you know, for that unit. And I'll tell you, as someone who has seen this before, you don't even consider that unless you have someone who is just remarkably capable. You just wouldn't do that. You would say, hey, we've got to find someone. We've got to bring someone over. It's just too important. But when you have someone who's remarkably capable, then you say, you know what? I think this unit is going to be fine under the leadership of this Marine right here. And so Master Sergeant Aldrich is just, thank you for that, you know, for serving in two buildings at once as an OIC in the staff at COIC. So from there, he says, hey, you know what? It's time to deploy again. Get selected for Special Purpose Magtaf Africa. There's a trend here. This guy's going all over the place. So he goes to Africa. And he comes back. And now I think that's pretty much all the continents except for Australia and Antarctica. So you pretty much have on your bucket list. I hope. Have you been to Australia yet? It's on the list. And then Antarctica. I think just soon after. So you've got all the continents. You've got to get them all. But after a successful tour at New River, he comes back up. And what happens when you get selected for Master Gunnery Sergeant? And there's only six Master Gunnery Sergeant citizens across the Marine Corps. Only six. He's one of them. And he does his service in that building where you write the requirements for what is the future of this firefighting and Marine Corps. What is it going to be for aircraft recovery and rescue? And that's the top of the food chain. I'll just say that. There are 1,100 Master Gunnery Sergeant in the Marine Corps. And you might think that sounds like a lot. But let's compare that to the number of Marines that we have in the Marine Corps. Now, 170, roughly 175,000 Marines in the Marine Corps. And you do math for Marines in public. 1,100 is less than 1% of that. So less than 1% of our Marines ultimately make it to Master Gunnery Sergeant. And he is serving in that top building in the Marine Corps of Master Gunnery Sergeant in his 751 aircraft rescue firefighting specialist on the West. So congratulations. And thank you for all the expertise that you've given to the Marine Corps and given back.  And I know he's not the only one. There are a lot of Marines out there that have felt your mentorship and they are carrying on the legacy of a Marine Corps and professionalism that you have brought. So I just want to say thank you in front of everyone for that. Before I hand the mic over and we begin all the certificates and all the things that go along with that, the last thing I want to say is I know that you are ready. You are ready for the next chapter. Here's someone, if you look at his bio, you'll see at the end there, highly educated. Here's an individual who could do absolutely anything he wants to do. I won't go through all the education, but I will say, you got an MBA. And if you have an MBA, you got a lot of options. You got choices that you can make. And you can probably make a lot more money than I know that. You know that. But he's a patriot. He's good at what he does. He mentors folks. He leaves the Marine Corps a better place by choice. And so thank you for that. And as I talked to him, I said, what are you going to do? And I was kind of expecting to hear him say, I'm going to go work for SpaceX. And I'm going to make millions of dollars. But he said, actually, I love what I do. And I look forward to coming back to headquarters Marine Corps as a civilian this time. So a little different uniform. But he wants to continue the work that he's been doing because we have, there's a lot of work to be done. And he's going to come back and serve in that capacity. So again, thank you for continuing. We don't want to lose any of that 26 years of expertise in the Marine Corps. And the fact that you're willing to come back when I know you can do other things. That really means a lot, I think to everyone. And then finally, I just, when I asked him when we were sitting down, just kind of doing an outbreak of thank you for 26 years in the Marine Corps, especially your final destination here in CD9, combat component integration. I just said, where was your favorite, where was your favorite duty station? And as one might imagine, if you don't know the story already, it was Moscow. And why was it Moscow? Because it's where he met his lovely wife, and if he hasn't told you the story, you need to drag it out of him. But how he met his wife at Captain the Great Palace in Moscow, where they're celebrating a tournament that had completed in its broom ball, right? Where you run around, or I shouldn't even say run, but it's on ice, except you're not wearing ice skates, you're wearing shoes, and you've got a broom, and there's ball, and you've got a score. And what it boils down to is someone was really good, and got second place, terrible, and someone was really not good, and did not get second place. That's all I'm gonna say about that. You can get the details from Master Gun Jill this evening, over a beer, and he'll probably tell a different version of that story, but don't believe me. Okay, so with that, let's go ahead and continue on with the important interests. From the Commandant of the Marine Corps, the President of the United States takes pleasure in presenting the Legion of Merit to Master Gunner Sergeant Kenneth G. Aldridge, United States Marine Corps, for services set forth in the following citation. For exceptionally meritorious conduct in the performance of outstanding service, while serving as Deputy and Expeditionary Air Field in Immersion Services, Capability Integration Officer, Marine Air Command and Control Integration Branch, Aviation Combat Element Division, Capabilities Development Directorate, Combat Development and Integration, Chronico, Virginia, from April 2021 to November 2023. During this time, Master Gunner Sergeant Aldridge demonstrated outstanding leadership and management as the Marine Corps' service lead for Expeditionary Air Field and Expeditionary Fire and Rescue capability requirements. Serving is the principal architect for six requirement memorandums and one capabilities development document used to establish, validate, and transfer equipment needs to acquisition professionals. Managing Marine Programming Codes, handling over $127 million of assets and was responsible for maintaining an Expeditionary Firefighting and Rescue Program that standardized 260 pieces of equipment, ultimately saving $10 million. His leadership and diligence for the modernization of Marine aviation have been without even, and he has made lasting contributions to the aviation ground support community by enhancing vital Expeditionary Enables. Master Gunner Sergeant Aldridge's superior performance of duties is 26 years of honorable and dedicated military service. Master Gunner Sergeant Aldridge's exceptional ability, initiative, and total dedication and duty reflected credit upon him and were in keeping with the highest traditions of the Marine Corps of the United States Naval Service. For the President, Eric M. Smith, Commandant of the Marine Corps. The official retirement orders from the 38th Commandant of the Marine Corps to Master Gunner Sergeant Aldridge. United States Marine Corps, Master Gunner Sergeant Kenneth G. Aldridge was transferred this date from the United States Marine Corps to the Fleet Corps' army after 26 years of honorable and faithful service. 1 March 2024, Washington, D.C. Signed D.H. Berger, 38th Commandant of the Marine Corps. A flag has now been presented to Master Gunner Sergeant Aldridge. This flag of the United States of America was blown on 5 October 2023 in the United States Marine Corps who are mourning the honor of Master Gunner Sergeant Kenneth Aldridge's 26 years of dedicated and faithful service of the United States Marine Corps. A letter from the Commander-in-Chief Certificate of Appreciation for Service and Armed Forces of the United States of America to Master Gunner Sergeant Kenneth G. Aldridge, United States Marine Corps. I extend my personal gratitude and the sincere appreciation of a grateful nation to you for your patriotic service to our country. Your bravery and dedication in our armed forces helped protect our fellow Americans during a critical moment in our history and contributed to a world of greater security and growing prosperity. Your devotion and duty, honor and country in keeping with the long traditions of the finest military in the world embody the American ideal of selfless service. Our nation owes you an incredible debt. Your commitment and the example you set will inspire future generations to serve with pride and to keep our country secure. You represent the best of our nation and I join our fellow Americans in saluting your honorable service. I wish you happiness and success in your next job. Joseph R. Biden Jr., Commander-in-Chief. Dear Kenneth, thank you for your service in the United States Armed Forces. I am proud to have served as your Commander-in-Chief. And I am pleased to join your family, friends and colleagues in recognizing your career and accomplishments. Throughout history, the dedicated men and women of our military have protected our citizens and preserved the ideals that make our country strong. Their courage and sacrifice have inspired countless people that have helped shape America's character. On behalf of a grateful nation, I thank you for your contribution to our security and to the cause of peace and freedom. Your service, patriotism and selfless devotion have helped advance the universal hope of liberty at home and around the world. Laura and I send you our best wishes for health and happiness in the years ahead. May God bless you and may God continue to bless America. Sincerely, George W. Bush. And from the 38th comment on the Marine Corps, Dear Ambassador S. R. O. The Marine Corps has been your occupation and family for many years past, and I am certain that memories, interests, and the future of the Corps will remain with you forever. Many desire to obtain your accomplished goals but few can compare to you. You have clearly demonstrated the exceptional leadership qualities and professional contributions we seek of our senior Marines. We are proud as you must be of your successful career. As a teacher of young Marines, a source of wise counsel and as an example of those soldierly virtues we so admire, you have left a mark on the Corps that will remain long after you have left our active ranks. There are many young Marines you have influenced who will carry on the same fine tradition that is always characterized in the United States Marine Corps. You have my best wishes for good health and continued success in the years ahead. Semper Fidelis, the expert general of the United States Marine Corps, 38th Commandant of the Marine Corps. A letter from the 19th Sergeant Major of the Marine Corps. Dear Master Sergeant Otter, on the occasion of your retirement I would like to extend my congratulations and heartfelt thanks for your many years of dedicated service and selfless devotion to our country and Corps. You have made tremendous contributions and sacrifices throughout your Marine Corps career. As you prepare to enter this new chapter of your life I would like to look back with immense pride and satisfaction on all that you have accomplished. You have set an example of professionalism and leave a standard of excellence for all Marines who will carry on the legacy of our Corps. My wife Stacy joins me in wishing you continued success in the future. Semper Fidelis, Troy E. Black, 19th Sergeant Major of the Marine Corps. Mrs. Tara Aldridge is being presented a certificate of appreciation for steadfast support to her husband and his Marines throughout his career. The United States Marine Corps, certificate of appreciation presented to you Mrs. Tara J. Aldridge on the occasion of her retirement of her husband from active duty. You have earned the Corps' grateful appreciation for your unselfish, faithful and devoted service. Your unfailing support and understanding helped to make possible your husband's lasting contributions to a great formation. Given under my hand the second day of November 2023 bring to your general Stephen J. Lightfoot Director Capabilities Development Director. I'm going to talk to Tara but I want you all to hear some of the things at ease. At ease. So Tara thank you so much for all the years of support that you provide without support. There's going to all the continents. There's a lot of things going on and without support from you he would not have been able to excel and reach the very top tier of the Marine Corps without your support so I just want to say thank you. Thanks a lot. Alright let's have a hand from Mr. J. Lightfoot. Flowers are being presented to Master Sergeant Aldridge his family for their dedicated support Ladies and gentlemen Master Gunnery Sergeant Aldridge Retired You go to enough of them to see them in certain ways that they intend to go I'm going to start off a little bit I'm going to thank my wife first the one so I don't forget right but also she's the most important person she's the reason why I'm here is because she's driven me and tolerated me all the time and we've had a lot of thank you for being on my side making the first time through the schedule if you read through the bio that doesn't mean it's been a pleasure working around with you you generally make somebody want to be a better person I'm not just a better man it's always a pleasure to be with you so the H leadership Mr. Gass is a technical familiar with Sam can't think he has not been helping up in CDU in CD9 learning the ropes up there but also very supportive of what we do up there with the aviation grounds we work with the EMPAR community which we share firefighting and rescue I think that's what we're doing ourselves now and then also with the chief Morris so I wanted to thank you family and friends again when you're up here there's that chance where you can disassociate and start looking at bases and try to thank everybody individually I'm not going to do that so if I did miss you sorry but I'm going to try to keep it there the flower shop is there so I kind of went there and we're built typically by I'm buying white flowers she asked me buy white flowers you know that you know she sold she got flowers but I also wanted to send her to her to her mom Nancy she's been very supportive throughout all these years a lot of times when I had to go to a force or a plane or something like that to always see the time when Tara had the surgery she'd always come in flying take care of Tara extended stay it's always like that to my niece amazing when you're with some people she's my business she takes care so she's taking care of people of a normal young lady we're actually closer in age than I was in my city but I'm really happy that she was able to make it out here Ruiz is a daughter of Ruiz I'm going to say her real first name that she'd probably brought to me before I just really wanted to but a fierce friend and she's been a sister this whole entire time and I needed to take off or something like that you know Tara came into my life and Johnny and I would bounce around doing different things to our schools are extremely tough as people act half the limits that we go on across country ships like Tara and Don were like their own support that would always help to shut it out I mean he's been a brother this whole entire time so we'll talk a little bit more about that because it's going to be kind of an interactive little spiel because I need to work some graphs and I select pictures so I add a little more context to those pictures so family then I'll say after a long time buddy Greg want to sit back there I couldn't doubt a lot of stuff back in play everywhere I was around the world I was 16 17 years old so actually I participated in did a good job helping me out this family with a nominal that's his long time with Jack Greg and sisters with a great family I was really happy with him the Robbie family part of it the Robbie detachment we go all the way back to the ties with Greg but our career is kind of across country he needed the Air Force all kinds of aircraft but he kind of lost touch he did something that I'll never forget though I got selected as a sassard my dad couldn't travel and he always kind of did stuff like this in my adventures and we were both on leave it was very Christmas New Year's and he came out there and we did kind of an unofficial promotion so if he came out there we did the promotion and he let my dad pay on the show for something that he did ever meet Mandy, Carson and me and of course I spent some awesome the other family is that we talked about it once for a long way mentors fierce friends there's another gentleman out here a lot beyond I don't know he's here great friend very passionate passionate about taking care of friends that still live in today and then family and friends that came a long way we have a group called the Sun Puzzles I'm starting to get used to like a habit family on the other side maybe not near but they can be a bit sure about it or some friends with the terror friends, family and mentors and people appreciate me a long way there are a lot of great kids we've got Tarker great man over Pete Orlo I'm still thanks for coming out I really appreciate that in there but with that I'll start going into the program so when you write these exact files in there and then you start selecting photos and when I start selecting those photos I kind of do the time thing trying to unpack 26 years and a lot of times it's like when you see that you have some pictures to go over the program there's really not too much context behind those pictures so going down the left page that's the group training MCT and we heard some of that and that first crash that's when things started changing it kind of got real and then your craft crashed off the white beach John and I we got up there we had to cut that thing up so it's been hours and we're cut and it gets real for you there like we lost people and you grew up a little bit and this GDT that picture of me holding a shotgun so that was my first day of post where I was only not afraid so I just got to meet President Bush on an El Salvador trip so my first flight in a helicopter is and then Moscow that the group of us sitting on the floor was standing there and I was there to mob demonstration we had about 20 or 30,000 Russians outside of our to see they weren't exactly happy with us that was us afterwards and then to make sure in front of St. Faith that's a chance but I also have a lot of my friends in there and they're here Randy Warlin he's back there he's part of that second squad group don't believe the thing he tells you you can tell him stuff maybe in a statute but then in the bottom left corner that's Tara I thought it would be easier to come to Deniz leave Deniz way come to California got recognized at work I think like six months later as you came to the point and then as I get on a bar head load to the way her mom got into his brain so it just gets pretty good on that that deployment to Iraq we didn't really do it for after we did for visual security in town so we had to change all that stuff so that was the pictures and sentences that we did it does get old another picture went through that's our one section it was snowing you can see it there's some right side of the backdrop of that one of them was charging some Landrum now Chief Walsh was at work sitting right over there we had a good time there in the block teaching the other picture in there part of that was the DOD so you got a picture of us walking back from we called the Sam Schwatt event combat challenge we used that in between us it was also Todd Harper in there he was the OSCE at the time you know we'd go out there and I think we're young realize that we're not that photo of my dad that that was the last year we were racing that day so aviation was really big we love airplanes we love airplanes we love them a lot that photo was taken by great right now that was the last time we were going to actually go together and go to the races below that so touch there was an OSCE I was only successful in your room because I was surrounded by amazing people a lot more than just John Irwin who was there Red O'Mara John Clark Bill Kent Clark I mean Red O'Mara was phenomenal we were successful because we were a good team we had a good group there we were shaped and met toward a long away you know Marines like Bobby and Pete were alone so that's what we were successful in that's how we won that award the one with us all dressed up in our evening dress we did a mess tonight it's not me receiving the award it's us being able to give one to a good friend and a good mentor so we were presenting that to Bob now that next picture that's a tough point we were talking about this in the back time based on our journey and every once in a while we'd fly to Spain we'd go down to Chimuni in tax free for a month and come back up so what's got to do that photo next to the plane that's Senator Perks and we picked her up in Kosovo so that's another tax free place we flew her to Athens but that's kind of where I got close to bleeding over the fourth wall because you quickly find out that DMR detachment most of the time it's a reward service so those two pods and I also have tech from Brutus who are both reservists so we just borrow their planes for six months got to go visit Bellwoods and go to those Terranine all last year the last photo it's a little out of sequence that's us flying away so I'll get back into flying here shortly but I wanted to provide that context of what this feels like it does a good job of traveling you know what we do here C and I wake up calling a lot of respects and people up here but we call it discovery when you learn something new by the time you figure it out it's time to go a lot of this for time but I really believe because the way of course design you open up your aperture it's not just about what EF4 offers how do they do that and you get to see that up there you get to see the different teams and all the different branches all CIOs and the same bucket you are trying to quickly learn this and you're worried about what you do because it's going to impact fibers that you may not see that and you do the best you can to try it here right but it's an amazing program that's that was stuff that was laid down and supported made and shaped built before I got there of course there's brains in this room that helped get all that stuff started taught targets here some of the biggest heavy lifting and I still don't have things also on these round the novel got hardware I mean I don't need anybody but there's also an S.R. it's going to see people a little great man John he was going to be here all those guys helped shape helped me I just tried to carry the ball a little bit the M.O.S. our occupations specialty so kind of Steve and Mark cover all this in the future I'm excited we did a couple things where we work with the occupants these brains we're getting smarter a lot of brains are coming in two days the certifications are coming up we're getting better at what we're doing I'm excited for the brains that are coming up in the future I'd offer that we need to stick with aviation that's what we're here that's what stuff 1000XX that's what we're supporting so as long as we're supporting the aviation we have a job we have relevancy we don't need to worry about mission training so I'm closing from that part I'm extremely humble for everybody that came out here who made this trip hopefully I'll be able to still something for someone else up here it's been 26 years of adult farming now I have to grow up it's been an amazing right I'm excited for what the future holds what we're going to do and anyone still up here please take the time to do this music it's amazing because not just a great job it's on our story but also the history of our country you can see it as you go through each one of these galleries at the accident I mean we're in a company of heroes we have the chosen few that are going through this building right now the docents here they're phenomenal I don't know how many times I've gone through but I see you and I learn something so take the time to go through this music and also for those of you joining us later on at the house I'll let Ter and I go through the address but once again this is a super great so thank you for coming out and supporting us that's all I really have to say so awesome Ladies and gentlemen please rise for the plane that anchors away and it brings him Ladies and gentlemen this concludes the official ceremony on behalf of Master and Sergeant Aldridge and his family thank you for attending today's retirement ceremony


Hi all, welcome to the Jenkins Online Meetup. Today is August 19th, and we have a Cajun team who will present GitHub app authentication and the checks API integration. Just to introduce the Jenkins Online Meetup, it's a regular online meetup organized by Jenkins contributors, where we present various stories related to Jenkins use cases, play games, development tools, and basically anything about the Jenkins project and the Jenkins community. And we invite everyone to participate if you're interested to know more or if you want to join a live discussion and discuss your topics. And we are always looking for speakers. If you want to know more about the online meetups, there is a meetup page on meetup.com. So you can subscribe to the meetup announcements here. And if you're interested to participate, et cetera, we also have an online meetup page on the Jenkins website. So here you can find information about what we do, how to participate, how to apply as a speaker if you want to present something. And again, any topics about Jenkins are welcome. Today, as I said, we have a presentation about modern GitHub integrations. So you'll have a presentation how you can authenticate Jenkins to GitHub using GitHub app authentication. And then we will talk about GitHub checks API and support for reporting static analysis and code coverage reports to GitHub checks. And if you have any questions during the presentation, please ask them using ZoomConnay. So you should see a Connay button on the Zoom panel. You can ask a question at any moment and then we will ask the presenters after the presentation or maybe answer the questions that's in pronunciate. Also, if you want to have a discussion about particular topics, once we finish the recording, we will have all the record discussion where basically we will grant everybody voice permissions. So we will have a kind of expert zone where we can discuss any questions related to the talk and maybe for other Jenkins use cases. Please remember both code of conduct and quickly just the big kind. And again, all these meetups are organized by contributors. We will appreciate any feedback and we invite you to participate in all the discussions. After the meetup, there is a GitHub channel specifically for GitHub checks API project and we also appreciate feedback from meetup participants. So there is a feedback form. I will share a link in the chat later and we will appreciate any feedback so that we could make our meetups better. Slides are already published. So again, I will provide the link in the chat. Okay, so I guess I can hand over the presentation to team and meanwhile, I'll probably launch the poll with a few questions. They may help us to get more information about your big background and interests with regards to GitHub and the patients. So again, we will appreciate your feedback and team, the floor is yours. Okay, you can hear me all right? Yes. Cool. Hey, everyone. So I'm Tim, I'm a Jenkins Core maintainer and a lead software engineer at Canos. I've been working with Jenkins for about the last eight years or so and I've been maintaining a couple of plugins for the last two years and Jenkins Core maintainer for the last six months or so. So today I'm here to talk to you about GitHub apps. So this is something that I contributed to the GitHub Brunt source plugin back in March or April or so. It allows you to, instead of using a personal user token for a real user, allows you to actually act as a machine user which the primary benefit to start with is much higher rate limits. So many people have been using GitHub much higher rate limits. So many people will be familiar with the 2000 rate limit and having to wait for their Jenkins to catch up, especially on busy organizations. So just about the minimum gain you get here is you go from 2000 calls an hour to 5000 calls an hour, which is really huge for a lot of places.  So for an organization with a few hundred repositories to 1000s, you get up to 12 and a half thousand an hour.  So that's kind of behind the scenes improvement but for ease of use and onboarding, you have user independent authentication. So you don't need to create an actual user. You don't need to create an email address. You don't have to have someone associated with it. You don't have to worry about when someone leaves. It's a machine user. You get fine-grained permissions management. So you don't have to just give it right access all over the place. Some people even give it owner access so it automatically gets right access. You don't have to do that anymore. And a great benefit, which Kizzi will be talking to you about soon is access to the GitHub checks API where you can put the results from the job directly into the GitHub UI. You can get your static analysis results and you can rerun jobs. Just integrates the GitHub developer experience a lot more and stops you from having to leave GitHub and go to your Jenkins. Here's a small tip that we hit recently on the Jenkins project infrastructure. If you're allowed to organization, you should definitely change the rate limit strategy. So there's a default one which has had for a long time just to normalize it over the hour. The other one is the throttle at or near the rate limit. You're unlikely to ever get near the rate limit with GitHub apps, but that the default strategy thralls you way too early with GitHub apps. We were seeing throttling with 6,000 requests to go and changing this meant that we were able to complete an org scan for 1,600 plugins in under 50 minutes. Contrasting that to what we previously had with a personal users token that used to take about four hours to complete an org scan because of rate limiting. So that was a huge gain for us and just a very easy tick box change if you are having any issues on live organizations. You can easily, so one thing you may be concerned about is how do I use this in my current pipeline? You might call out to GitHub to do things like add labels to pull requests. You might be using the deployments API to be registering where an app's been deployed to. You may be pushing code. So you may be automatically detecting stuff in your pipeline and maybe automatically changing files or publishing releases. So good news is it's very easy. Jenkins handles this for you behind the scenes. So GitHub app authentication, while not complicated, it's non-trivial. You need to sign requests with JSON web tokens. You need to have two different authentication tokens, an authentication token and an access token.  So you see it there, this is just the standard with credentials. You even look it up as a username password and in your password variable, you'll get the GitHub access token and you can use that just as normal. The example here is to making a check run. If you wanted to make a custom check run, but I'm using this to add labels to pull requests and to call the deployments API with no issue. And we're also actually publishing changes to GitHub as well by changing the files in our pipeline and committing back and that all just works. So that and there's a blog post which was the afterwards which has all this in it as well. So I'm just gonna give a quick demo of how you set this up and just point you at some of the documentation and some of the resources available. So the first thing that you need is, so this is using, it's called the GitHub branch source plugin. It's installed by, it's one of the plugins that's suggested by default. So if you install your Jenkins and you just say select and recommended plugins, you'll get this automatically and there's a documentation guide here for GitHub app authentication. It's on the front page of the read me and if you just go through here, you'll get all the details that you need. It tells you what permissions you need to set this up and all the permissions and all the fields that you need to fill out and just all the details. And I'm just gonna quit, I'm just gonna relatively quickly just go through it with you. So the first thing you need to do is you need to set up a GitHub app. Oops, that's not quite the right place. So I'm using this on my personal organization. It doesn't have to be an organization. You can use it on your personal account as well. I'm just gonna sign up a new GitHub app for the Jenkins Meetup demo. I'm just gonna put a homepage URL just of my GitHub profile. Don't need to worry about any of that. So you need to set up a webhook even if it's not activated and I am using this locally but so you just need to set a valid URL. So again, I'm gonna set this to my profile and it's not active. Actually, I will just leave it active just to show you. You need to pick the permissions that you need. So there's some minimum permissions that you may need which are detailed in the guide. You may also want to add a few more on as well. So the minimum to use GitHub apps is just commit statuses, read and write and pull request read and contents read. You're quite likely want to increase that though depending on how you're using Jenkins and GitHub. So what I'm using is contents write. I'm also using deployments read and write. I'm also using pull request read and write and checks. And for Kishi's demo coming up is you also need read and write here as well. So it's up to you. It just depends on how you're using it. It's easier to set up ahead of time but you can also update it as you want truly. You may want to set up some event subscriptions here. So things like pull request, check suite, check run, push. And you also get the choice of installing it on multiple accounts or just one. Most places will only need it. They'll have it as a private GitHub app and only install it on one organization. But you may have multiple organizations especially if you're using GitHub Enterprise. So GitHub Enterprise, different teams tend to have their own organization but with standard GitHub, you may or may not just be running on one organization. Just take this any account if you do need to install on multiple. Okay, so that's the first thing here. So GitHub's now telling me that I must generate a private key. Okay, that's good. So let's do that. You can also go through here and set like a logo and description information about it. So I've just downloaded that Jenkins Meetup Pem key. So the next step here is to just set it up in Jenkins.  You want to get GitHub app. First thing is actually, so I want GitHub app ID. So this is just the Jenkins internal ID. The next thing is GitHub app. So the next thing you need is the app ID. So that's on the general page of the app called app ID. And then I need to add the key. So I'm just going to get the one that was downloaded earlier. So if I just bring up the terminal here, it's called Jenkins Meetup. So if I just cat Jenkins downloads, Jenkins Meetup Pem and I'm just going to put it onto my clipboard. And if I just paste this in here and then I'm going to click test connection. So what I've seen here is that it didn't work. So there's something wrong. If I click show details, it's telling me here that private key is not in the correct format. So there's an issue that GitHub gives you the private key in PKCS1 format. It's quite difficult. There's no standard code in Java to work with it. There's some extra libraries you can add and it's a little bit complicated. Or you can just convert it. It's truly convertible. So we're just going to convert that to PKCS8 format. So let me go here. So my current key is this and it's going to be called new key. If I cat new key and if I put that onto my clipboard again on that and that's test connection again. And there's another issue. This is a common issue. You see that GitHub doesn't actually prompt you to install it into your organization. So it couldn't authenticate. Has it been installed to your organization? So you need to go to this install button here and click install. And now you can choose. So there's another benefit is you can select here which repositories you want it to have access to. Easiest thing is all but depends on your threat model and just how you want to see how your organization is structured and how your GitHub is structured. But for the sake of this demo I'm just going to click all and that's now installed. So let's try to test the connection again. Okay, so that worked. You'll also see this help text here alongside all of these tells you where to find it and help text here also tells you that you need to do the description. But I would just always recommend when you set this up just using the test connection button. There's an advanced feature here if you want to have a GitHub app installed across multiple organizations you have to specify which one it's connected to just because of a internal implementation detail on Jenkins. It's quite difficult to share that information. So it needs to be set on each credential currently. So I'm just going to test connection one more time. It's okay. So let's save that. And now for the end bit where we hope everything works. So I'm going to call it Tim J Org. The GitHub organization. And see that was pre-populated. And I've just picked the credential and the GitHub app has been verified that showing that it's all authenticated. You also know that it says 5,000. If I was using a personal token that would just say 2,000. One thing to note is you do have to specify the owner here. It needs to be, even if you've set it to be a different one in the credential, they both need to match. But let me just save that. And you'll see here that it's connecting GitHub app for Tim J Org. And that's all going through quickly. And you'll see they're all starting to show up and trying to start build. And that's all working. So that's the end of my demo. Thank you for your attention. And there's one thing in Q&A. Currently we raise PR in GitHub using the hub pull request command using GitHub app auth. So raise PR in GitHub. So I think I answered that during the slides. So with hub PR, you need to provide an API token in some way. And you just use that with credentials that I showed and inside of the closure you will have a access token available to you. And it should just work as normal. Tim, I don't understand why I would want to do that. Can you, I use the hub pull request command all the time but I don't understand why I would prefer to use the app, the GitHub app authentication token instead of my personal token for a pull request. I think it's in context of doing it inside of Jenkins. So you've got an automated process that changes some files or generates some files. And then you want a pull request created for review. Thanks. Cool. If there's no other questions, then we'll go on to Kishi. So just to proceed because GitHub app authentication is basically a foundation feature which enables many additional integrations in Jenkins. And now we'll see a few examples for user facing features which become available with GitHub app authentication. We've also got one more question here. Instead of curl, is it possible to use PowerShell command e.g. invoke risk method? Absolutely, it doesn't matter. Curl is just the example there. But all you need to do is just take the access token from the environment variable and pass it through to how the user thinks it's okay. Okay. Thank you, Tim. So let's move on. So I'll start sharing my screen. Can you see my screen? Yep. Okay, great. So hello, everyone. I'm Kojuchun. Today I'm going to share you with my JSOC project, the GitHub checks API plugin. And currently I'm an incoming graduate student at Northeastern University. And I'm now in the gap year and you can find me on social media and GitHub. So first I want to introduce to the GitHub checks API. So what is GitHub checks API? As Tim has said before, it's based on the GitHub app and it's highly customized way to integrate the CI tools to make reports for PR. So for check, you have status, which now we are using this to indicate the current stage of Jenkins Build. And you got the conclusion and the annotations. Annotations are great because you can make warnings and notices. Sorry. You can make warnings and notices on specific lines of a code. And those annotations are just like the comments you left when you are reviewing other people's code on GitHub. And so it's very convenient to the users. And the next thing is actions. The actions is kind of another extension point for GitHub. Since you can create many customized actions and the users when users click on that button, a request will send to the integration and you just implement the logic in your integration tools and to handle that. And these are the, and these are the, this is a screenshot I got from the GitHub official document. And you will see the status and some other information here. And you can also say this is the action, the rerun action I created earlier. Okay, so next I want to explain our motivation for the project. And so first we need to take a look at how Jenkins is integrated now is through the GitHub status API. And you'll see a short message and the status here is implemented by the GitHub branch source plugin. And so you can see it's very limited. And if you want to see more, you have to click the details and it will lead you to the bloatian view of the build. And we know that Jenkins has many plugins. For example, we have the warnings plugin. And so you can see many of the warnings from different kinds of static analysis tools. And you can also see the trend for those warnings. It helps you to maintain your project on code quality. And next we have the coverage API plugin. And so it gives you, you can show you a coverage, different kinds of coverage for different files in the very straightforward way. And so we're thinking maybe we can integrate the GitHub with them. So for example, there's a source code view from warnings plugin and we can migrate them to GitHub as the checker annotations. As I said earlier, just make this more convenient and straightforward for the GitHub users. And so now we have development plugins like the general API plugin. We developed this API plugin based on the GitHub checks API semantic meaning. And we provide this general API because we want to be prepared for similar concept in different platforms like GitLab or Bitbucket. The next thing is we provide an implementation for the GitHub checks API. And so you can find those two plugins in the GitHub repository. And these two screenshots is a check I made through our implementation. You'll see the annotations. This is just a demo check. So maybe not very meaningful just for sure. And we now have released the both plugins. You can search them, just type checks in the Jenkins plugin market and you'll see both plugins. And if you want to try this plugin, you just need to install both plugins on your Jenkins and use the GitHub app credentials for your multi-branch and GitHub organization project. And the support for freestyle project is on the way we have opened the PR and then we'll merge the features soon. So after I instill that, you'll get the first one is you'll get this stage indicators which can show you the current stage of the Jenkins build. So next we use those APIs in practice and first way creates to the warning checks which is powered by the next generation plugin. And so in this plugin, if you instill this plugin, you can also get the warnings from different tools to GitHub and you'll get the query gate. The query gate is shown here as a result of the check. And you can also get many statistics for the issues for different severities and you can also get the annotations. The annotations will just show along the code. So it's very easy for you to say what happens to code and so you can do your fixation very quickly. And now this feature has been able to on cya.jnkist.io. And so if you want to take a look at the result before you try it, you just go to the cya.jnkist.io and I'll show you some here. This is just like a client plugin and it's hosted on Jenkins organization so you will get the warning checks, for example, you'll see those warning checks, like Java check style and different tools and if you click details, you all go to the check page for this check and one thing I'm thinking is that since we just reported the result here, so I think many spaces, many functions which we have just wasted it. So I'm thinking whether we can make greater use of this page. If you click this link, you go to the solution view. Yeah, so it's didn't success because of the deployment. So the status here is as well. And use, if you want to see the warnings here, they are just the same as those checks here. So if you click this link, it also leads you to the build page. And so at the end of the day, you may find there may be many warnings that you don't care for, for example, maybe the Java doc warning. So you can just add the skip publishing checks in the pipeline and script of the warning checks and you can find more about the pipeline usage in warnings, plugins, documentation. So it will report the GitHub checks by default. If you have GitHub checks, you can see the plugin installed and configured, right? Yes, it's set as a default feature. And the next thing is the coverage checks which is powered by the code coverage API plugin. And from the coverage checks, you'll get the coverage trend and the coverage health score and different kinds of coverages. And if I show you more about this. So this is a coverage check. And here's a link to the reference build. So it's my Jenkins. So it just needs to do the PR4, the last build of this PR. If you go to the build of this, another build. It's the sixth build. So it's just compared with the last build and the link will lead you to the reports directly. And you can also disable those, this coverage checks feature is also set as default feature. So you can disable them in the pipeline. And you can also find more about the coverage checks pipeline script in this link. So, and now we are developing more features. For example, we want to add a pipeline support directive from our plugin. So the users can publish checks directly in the pipeline script without depending on a consumer plugin. And for example, a simple usage is, you just want to create a check. You just set the name, conclusion and summary. And but since we like the user scenarios now, so I didn't think much usage of this. Maybe the one I'm thinking is just to indicate the coverage stage of the Jenkins build. So if one stage takes very long time, so maybe this is useful. And you can find, you can left your comments and give us some feedback in this feature. I added a link here in it though. So we are glad to receive your feedbacks. And another feature is a rerun request. For example, the users can request a rerun for field checks directly on GitHub. This is the GitHub UI. And if you trigger the rerun on the Jenkins build, we'll just, the course will show as rerun request by me through the GitHub checks API. And so the effect is. So for example, I'll show you a demo of this feature. Let me check. I'll just click the rerun here. And the GitHub will give some feedbacks that you have successfully requested. And let me see, I'm using a forward directing tool. So maybe it's a little bit small, maybe disconnected or reconnected. Okay, you can see it in the console that receive the rerun request. The GitHub checks API. And they say, schedule the rerun for job requested by me. If you click, yeah, here it goes. It started with the link, if you go to Jenkins. Yeah, let's see, I just triggered two rerun build here. And yeah, you can see the rerun request by me through the checks API. Okay, so it is ends now. So conclude as finier, just as because I didn't change anything. And this is also still a progress. So you can give us some feedbacks in the progress. I just drop the link here. So the last thing I want to talk about is how to consume our API. So since there are so many options that you can configure for a check. So maybe our, the consummation of our API is somewhat complicated. And so you just create a checks details builder and I just add those properties you want to configure for your check. And you just remember to stick to the GitHub validation because if you don't follow that it will just fail the creating the checks. So for, if you want to create a check like this I just need to use our API in this way. And you just, here the details are just the properties of the check. And as you just create the publisher from wrong and you just invoke the publish method with the details. Beyond all this progress. So this API is for plugin developers, right? Yes. So for pipeline steps API would be different. Basically what you present several slides ago. Yes. Yeah, the pipeline is, the pipeline is as far as here. That is much, much more simpler than that. Then another thing is that I show you how to create actions. So should you make standard Jenkins by adding your customized actions if you want to create a button on GitHub. So when the button is clicked a request will be sent to GitHub app. You just with the actions add two actions. The last parameter is identifier for the check. So when you request, when the users click the button the identifier, which is the last parameter of the method will be sent back to the, send back to Jenkins, for example. If I... So, yeah, obviously these buttons are part of GitHub checks API plugin, not of the generic checks plugin. Is this correct? Yes, users can extend, can just create the checks and extend as a function. So if you click the format, and then click the report.  This here, the requested action is report. So just the identifier is set for the check. Here, because it's a master branch, so the progress is empty. And so if you want to, and then you have to implement those actions, you just need to extend the GitHub event subscriber, which is provided by the GitHub plugin. And just remember to subscribe to the Chikrown event and implement the event handling logic there. You can find more examples in the subscriber folder of GitHub plugin. And you can also take a look at our implementation for the rerun request. It's still appear. It's all from my side. I see your questions. Thanks for the presentation. And if you have any questions, please ask in ZoomConny. We still have some time to discuss them more live. And after that, we will switch to the discussion. And if you have any feedback, please use the feedback from Bing, which is in the Zoom chat. So one quick question, the GitHub. There is a GitHub, almost the same, but it's very limited. I guess if you, the GitHub is just the, looks like the status API. So I showed you earlier, you can just leave the message and the result of the check. And in GitHub, I think it's called status commit status. I don't remember the name is status commit. Thank you. And yeah, regarding that, I guess this checks API, it's not limited to source control management systems and source code repositories. Basically, you can integrate with other services. So for example, yeah, if you want to submit this data to data doc, quantifications, to page repute, et cetera. Theoretically, you could use the same API. If you want to notify them, or maybe if you just want to send a message to email, again, in principle, you could use checks API for that instead of existing email plugins. Is there a try or are there some, any limitations? The rerun, we only show for failed checks. And it's also not merged yet, it's a real version. It's just a progress. Okay, so I have a question for you. Regarding GitHub authentication support, so in Jenkins, there are more than 20 plugins which integrate with GitHub, but not all of them support GitHub up authentication at this point. So if I need to get up authentication support for the plugin, what would be the steps for me? Yeah, I'll answer this one. You shouldn't need to do anything because so those plugins will be using a username password credential in most cases. So it'll either be a actual username and password, although that's getting deprecated by GitHub in November, I think, or it'll be a username and personal access token. And so it's a username password credential. The GitHub app credential basically pretends to be a username password credential. And when the password is asked for, it does the authentication behind the scenes. So it's transparent for both users and plugins. So I'd be very surprised if any plugin actually needs to know that you're using GitHub apps behind the scenes. There is a, you can specifically check if you do need to. So the GitHub branch source plugin does need to change the behavior at a couple of cases, but that's only due, so certain APIs aren't available to GitHub apps. The get me endpoint, for example. So the GitHub branch source uses the get me endpoint to check whether you're successfully authenticated. But get me doesn't exist for GitHub apps. So I think it uses the right limit API instead. But so you shouldn't need to know is the answer really. Okay, thanks. And it should be a good advantage for users of existing plugins. Okay, it looks like you don't have any questions left in the queue. So I suggest to thanks speakers and to switch to the discussion. So thanks to you, and we will publish a recording of this presentation later today. If you have any questions, please use the github link, gtc.com slash github checks API. And you can ask any questions related to what's authentication and checks API there. Okay, thanks all. I'll stop the recording, but if you have any questions or topics, the discuss please stay on line.