apache / apache/devlake

[Feature][gh-copilot] Support GitHub App authentication (in addition to PAT)

Open
#8,843 4 comments 3 reactions 1 assignee Claimed by @fool65c View on GitHub
add-a-plugin component/plugins type/feature-request
Dominant language
Go
Stars
3.1k
Forks
808
Avg merge
1d 8h
Merged PRs (30d)
49

Description

### Search before asking

- [x] I had searched in the [issues](https://github.com/apache/incubator-devlake/issues?q=is%3Aissue) and found no similar feature requirement.

### Use case

As an engineer, I would like to connect DevLake to GitHub Copilot usage & impact data using a GitHub App installation so that:
- We avoid storing user-owned PATs
- Access is least-privilege, centrally managed, and revocable
- The integration is not tied to a specific employee account
- It aligns with enterprise security and compliance requirements

### Description

Add support for GitHub App authentication to the GitHub Copilot plugin. Specifically, allow Copilot data collection to authenticate using:
- GitHub App ID
- Installation ID
- Private key (PEM / secret reference)

The plugin should:
- Allow users to configure both PAT and App authentication via the UI
- Generate GitHub App installation access tokens
- Automatically refresh tokens during collection
- Support scheduled and long-running pipelines without token expiration failures

Existing PAT-based authentication should continue to work unchanged.

### Related issues

_No response_

### Are you willing to submit a PR?

- [x] Yes I am willing to submit a PR!

### Code of Conduct

- [x] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.