[Feature][gh-copilot] Support GitHub App authentication (in addition to PAT)
- 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.