Skip to content

From issue to pull request with GitHub Copilot in IntelliJ

Read the Portuguese translation →

Author: GitHub · Watch on YouTube

Video authored by the channel shown, not by IANIA; all rights belong to the creator. Transcript and summary generated automatically; the original-language content is preserved.

Original language: English

Original video: From issue to pull request with GitHub Copilot in IntelliJ · Channel: GitHub · 06:30 · Watch on YouTube

Topics: AI agents, Software engineering with AI, AI developer tools

The demo shows how to use GitHub Copilot in IntelliJ to take a Spring PetClinic accessibility issue through planning, implementation, and validation. Copilot reads the issue, proposes a scoped plan, and uses agent mode to update the navbar and add browser automation tests. The presenter reviews the changes in Ask mode and checks the behavior with VoiceOver in Safari. The workflow concludes with a pull request on GitHub.

  • The presenter installs the GitHub Copilot plugin from the IntelliJ marketplace.
  • Copilot uses the GitHub CLI to find and read the repository’s open issue, with approval settings for commands.
  • The issue concerns the Thymeleaf navbar’s unnamed logo link and mobile toggle.
  • The plan keeps the fix scoped and includes browser automation to test behavior and responsive accessibility.
  • The demo covers the local, Copilot, and cloud agent harness options, as well as model selection.
  • Agent mode adds localized accessibility attributes and uses Playwright for testing.
  • Ask mode is used to understand the changes without modifying files.
  • The presenter runs the app and uses VoiceOver with Safari to check the accessible names and navigation toggle.
  • The completed work is shown as a pull request on GitHub.
Start Chapter Summary
00:00 Introduction and installing the plugin The presenter introduces the issue-to-implementation workflow and installs GitHub Copilot in IntelliJ.
01:08 Finding the issue and planning the fix Copilot reads the open issue, discusses command approvals, and prepares a scoped plan with browser automation.
02:16 Agent options and implementation The presenter reviews agent harnesses and models while Copilot implements and tests the navbar accessibility changes.
04:23 Reviewing and validating the changes The presenter uses Ask mode to understand the changes, runs the app, and checks its behavior with VoiceOver in Safari.
05:59 Pull request and closing The presenter shows the pull request and summarizes the workflow before pointing viewers to more resources.

In this demo, I show you how to use the GitHub Copilot plugin in IntelliJ to go from a GitHub issue to a working implementation. — 00:00

Keep scope limited. — 02:16

In Ask mode, we are not changing anything. — 04:23

Toggle navigation. Expanded. Button. Toggle navigation. Collapsed. — 05:27

In just a few minutes, we went from a reported issue to reviewed implementation using GitHub Copilot in IntelliJ. — 05:59

GitHub Copilot, IntelliJ, Spring PetClinic, GitHub CLI, agent harness, agent mode, Ask mode, VoiceOver, Safari, GitHub

00:00 Hi everyone! In this demo, I show you how to use the GitHub Copilot plugin in IntelliJ to go from a GitHub issue to a working implementation. We’ll start with the famous Spring PetClinic application, review an issue, take a quick look at the agent harness and model selection, and then use the agent mode to plan and implement a solution. Finally, we’ll review and validate the results directly in the IDE using the Ask mode. Let’s get started! Great! So here I am in IntelliJ with the famous Spring PetClinic open. This is a fork.

00:35 I got told that there is a GitHub issue for accessibility and it really needs a fix. I will first want to make use of the power of AI. So let me start by installing the GitHub Copilot plugin for IntelliJ since it’s not here yet. So I will go on File, Plugins, search for Copilot in the marketplace, and I can see here GitHub Copilot. I hit Install and once it’s installed, I will have to restart my IDE. Alright! Once I restart it, I can now see here the GitHub Copilot icon.

01:08 So I can just click on it and here can now see my chat window with the plan. So now I can say find the open GitHub issue and let’s plan to resolve it. Copilot is using the GitHub CLI to read the repository’s issues. With default approvals, I can review the command before allowing it. And since I’m just starting here, I’m okay with this asking me every time again. I could also have chosen that I trust those commands or like all commands, but that’s totally up to you.

01:44 So it’s definitely something that will go with more time. And since I’m working with this for quite some time, I will allow all commands in this session also to speed things up. I can always see what it’s doing. So we do have tests but no browser automation. So that’s why it wants me to choose if I want to use browser automation, which is recommended. So I actually can check for real behavior and responsive accessibility, what I actually might use in this one here.

02:16 Oh, great. So now I have the plan. So it wants me to fix the Thymeleaf navbar’s unnamed logo link and mobile toggle. Add browser automation. Keep scope limited. Yes, because I only want to fix the issue, right? We don’t want to go too far. So I go now on implement plan. What you realize now is that it switched to agent mode automatically. Let’s have a quick look at all the options that GitHub Copilot comes with. So first off, I can click here to select the agent harness.

02:48 So there’s local, copilot or cloud. Local is the classic agent in IntelliJ. Copilot is the default here. The SDK powered agent using the same engine as Copilot CLI. Cloud lets me delegate tasks to GitHub’s cloud agent. Additional agent providers can also be configured. Let’s go with Copilot here. Then I can select the models where we do have a bunch from Claude to GPT, Grok, Microsoft, MAI. So there are plenty.

03:18 And here are the modes that we are just discovering. While it’s fixing my issue for me is adding the localized navbar accessibility attributes. I can always see what files are being changed. I’m super happy to see this all being integrated in Japanese now as well. So we are not only accessible in English, but also in Japanese or Korean, Russian language. And here’s also the playwright that was needed to actually test it.

03:49 And now we are already testing if the app is running correctly now. So now it tells me that it’s done with adding all the changes. It says that we implemented the fix for issue number one. The shared navbar now has localized accessibility names. So it should be readable for accessibility. Yeah. Also, we included German now, which is what I’m very happy about. So here it says that it can’t perform the screen reader check, which is, I guess, okay.

04:23 Before I put this in as a PR, and I must admit that I’m not a front-end developer, I do have questions. So why don’t I switch now to Ask mode? In Ask mode, we are not changing anything. This is to understand the project better and to ask things basically. I will ask Copilot to explain the changes that have been done to me. So here it says that the controls are easier to use with screen readers and keyboards.

04:55 The logo link now has localized accessibility name, identifying it as the pet clinic home link. That sounds good. Okay. I couldn’t verify it. What can we verify in the announcements with VoiceOver or NVDA? Because now I want to actually see like end to end if it resolved the issue. Okay. VoiceOver with Safari. So I can open this now in Safari. It wants me to run the app.

05:27 Basically copy the command here. Great. So we just started it and now I’m opening localhost 8080. And there we have the spring app. And now let’s get back to what it wants me to do. Command F5. And then I should get the VoiceOver. Visited. Link. PetClinic home. List for items. Toggle navigation. Expanded. Button. Toggle navigation. Collapsed. I use Copilot in IntelliJ to create the pull request.

05:59 Here it is on GitHub. We have been able to change all the files, include all the languages. You can get that done easily. In just a few minutes, we went from a reported issue to reviewed implementation using GitHub Copilot in IntelliJ. By combining agentic workflows, the agent harness and powerful foundation models, developers can spend less time on repetitive tasks and more time building great software towards production.

06:30 To learn more about GitHub Copilot in JetBrains IDEs, including documentation, setup guidance, and additional resources, visit gh.io/copilotinjetbrains. Thank you so much for watching.