> For the complete documentation index, see [llms.txt](https://developer.harness.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.harness.io/internal-developer-portal/3.0/use-idp/plugins/available-plugins/github-copilot.md).

# GitHub Copilot

## Overview <a href="#overview" id="overview"></a>

The **Github Copilot plugin** provides GitHub Copilot Enterprise insights directly within Harness IDP. It helps visualize Copilot usage metrics such as:

* Suggestion acceptance rates
* Language-wise usage distribution
* Overall Copilot activity

These insights help engineering teams assess the adoption and effectiveness of GitHub Copilot across their services.

## Plugin metadata <a href="#plugin-metadata" id="plugin-metadata"></a>

| Field          | Value                                                                                                 |
| -------------- | ----------------------------------------------------------------------------------------------------- |
| **Created by** | Backstage Community                                                                                   |
| **Category**   | Developer Experience                                                                                  |
| **Source**     | [GitHub](https://github.com/backstage/community-plugins/tree/main/workspaces/copilot/plugins/copilot) |
| **Type**       | Open-source plugin                                                                                    |

## Configuration <a href="#configuration" id="configuration"></a>

### Application configuration YAML <a href="#application-configuration-yaml" id="application-configuration-yaml"></a>

```yaml
copilot:
  schedule:
    frequency:
      hours: 2
    timeout:
      minutes: 2
    initialDelay:
      seconds: 15
  host: github.com # or github.myenterprise.com
  # organization: ${{COPILOT_ORG}}  # eg: githubOrg - GitHub organization name
  # enterprise: ${{COPILOT_ENT}}  # Optional - only if using GitHub Enterprise
```

{% hint style="info" %}
Update the `host`, `enterprise`, and `organization` values to match your GitHub Copilot Enterprise setup.
{% endhint %}

{% hint style="info" %}
The plugin pulls data using GitHub REST APIs and requires **authorization via a token** which depends on the [Git Integration](/internal-developer-portal/3.0/new-to-idp/get-started.md#connector-setup) setup done at IDP under **Configure** → **Git Integrations** page, make sure to use the same host as one that is configured in the Git integration
{% endhint %}

{% hint style="info" %}
If you are using `copilot.enterprise` in GitHub Copilot plugin config, note that the Enterprise API for Copilot only works with a "classic PAT" (personal access token). This means you will need to configure a Git connector in IDP, under **Configure** → **Git Integrations** in your Harness account, with authorization using a [username and token](/harness-ai/use-harness-platform/connectors/code-repositories/ref-source-repo-provider/git-hub-connector-settings-reference.md#authentication).
{% endhint %}

### Delegate proxy (optional) <a href="#delegate-proxy-optional" id="delegate-proxy-optional"></a>

Set up a **delegate proxy** if:

* GitHub APIs are not directly accessible from Harness SaaS.
* The GitHub token (secret) is not stored in the built-in Secret Manager.

#### Steps: <a href="#steps" id="steps"></a>

1. Add the host (`github.com`) under *Host URL or IP Address*.
2. Use a delegate with access to GitHub and your Secret Manager.
3. Provide delegate selector tags if needed.

Use a **single delegate tag** for consistency.

## Layout integration <a href="#layout-integration" id="layout-integration"></a>

This plugin exports:

* ✅ 1 Page
* ❌ 0 Cards
* ❌ 0 Tabs

#### To add the page to the portal layout: <a href="#to-add-the-page-to-the-portal-layout" id="to-add-the-page-to-the-portal-layout"></a>

Since its not added by default, you need to update your layout config in **Configure** → **Layout** → **Sidenav Layout** manually, like so:

```yaml
- name: SidebarItem
  props:
    to: copilot
    text: CoPilot
```

## Annotations <a href="#annotations" id="annotations"></a>

* No specific annotations are required.
