Add first party support for Github App
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 30/100
- issue の種類
- 機能追加
- 明瞭さ
- 説明が足りない
- 活発さ
- 停滞
- 技術スタック
- github, go
- 領域
- api, authentication
調査の方向性
まず github.Client、AppServiceCreateInstallationToken、ChecksService と、issue でリンクされている GitHub の 3 つの認証フローを確認します。アプリ、インストール、ユーザーの認証情報に必要な first-party サポートを定義し、API 呼び出し間で短期間有効なトークンを安全に再利用および更新できるようにします。
索引モデルが issue の本文から書いたものです。
説明
Many of the apis requires to be invoked as Github App, eg. https://docs.github.com/en/rest/checks/runs?apiVersion=2022-11-28. And currently we need to use third-party packages like ghinstallation to do so.
However, this is not the full story. When creating a Github App, it involves many different kinds of creds:
And we need to use different cred to call different APIs. For now, the only way to do so is to create many different github.Clients, each holding a different credential.
And we need to do this with extra care, as all these token are short-lived, and need to be cached/refreshed periodically. Which means, blindly creating those clients will cause lots of rate limiting issues.
For instance, to use github.ChecksService, we need:
- Auth as Github App itself by creating a JWT with app's private key, to call
github.AppServiceCreateInstallationToken - Once we have the token, we can auth as app installation, then calling
github.ChecksService
Which requires 2 github.Clients in total.
- 主要言語
- Go
- スター
- 11.3k
- フォーク
- 2.6k
- 平均マージ
- 2日 12時間
- マージ済み PR(30日)
- 43
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
google/go-github のほかの issue
-
http.Client.Timeout is ignored by redirect-aware requests対応中かも @sb123sb123 が 18 日前に担当しました。 オープン
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信
-
Add Copilot content exclusion set/get enterprise and org set endpoints対応中かも @Tens1des が 32 日前に担当しました。 オープン
google/go-github#4526 · コメント 1 件 · リアクション 1 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
Add Copilot custom agents enterprise endpoints対応中かも @Tens1des が 32 日前に担当しました。 オープン
google/go-github#4524 · リアクション 1 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
Repository ruleset rule type `code_quality` is not modelled対応中かも @etifontaine が 35 日前に担当しました。 オープン
google/go-github#4520 · コメント 1 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
Including an enterprise team as a reviewer for an environment results an unmarshal error対応中かも @JWilkinsonMB が 51 日前に担当しました。 オープン
google/go-github#4457 · リアクション 1 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
google/go-github の issue をすべて見る
似ている issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
open-telemetry/opentelemetry-go-compile-instrumentation#1467 ·
メンテナーはふだん 3 日以内に返信
-
Python 3.15 support対応中かも @amnesiaof が今日担当しました。 オープンL: python L: python:uv
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
dependabot/dependabot-core#16524 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
duplication
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
openvibely/openvibely#1443 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 60/100
canonical/service-mesh#845 ·
メンテナーはふだん 1 日以内に返信