Note
GitHub Copilot Extensions is in public preview and subject to change.
Your Copilot Extension must be hosted on a server that is accessible to the internet. In this guide, we will use ngrok to create a tunnel to your local server, but you could also use a service like localtunnel or serveo.
Alternatively, if you are a Codespaces user, you can use the built-in Codespaces port forwarding. For more information, see Forwarding ports in your codespace.
Prerequisites
- You have created a Copilot Extension. For more information, see Building a Copilot agent for your Copilot Extension or Building a Copilot skillset for your Copilot Extension.
Configuring your server
-
Visit the ngrok setup & installation page.
-
If you do not yet have an account, follow the instructions on screen to sign up.
-
Under "Agents," ensure the correct operating system is selected.
-
Under "Installation," follow the instructions for your operating system to download and install ngrok.
-
Under "Deploy your app online," select Ephemeral domain or Static domain.
-
Run the command provided in your terminal, replacing the port number with the port your extension is configured to run on. For example:
-
For an ephemeral domain:
Shell ngrok http http://localhost:EXTENSION-PORT-NUMBER
ngrok http http://localhost:EXTENSION-PORT-NUMBER
-
For a static domain:
Shell ngrok http --domain=YOUR-STATIC-DOMAIN.ngrok-free.app EXTENSION-PORT-NUMBER
ngrok http --domain=YOUR-STATIC-DOMAIN.ngrok-free.app EXTENSION-PORT-NUMBER
-
-
In your terminal, next to "Forwarding," copy the URL that ngrok has assigned to your server. You will need this forwarding endpoint when you are configuring your GitHub App.
Note
Do not copy the
-> http://localhost:XXXX
part of the URL.Keep the terminal window open while you are using your extension.