2024-06-06 GitHubでオーナーシップを持つ人を記録する手段を探す
#2024 #2024-06
背景
複数人でGitHub Organizationを使っていると誰がオーナーシップを持ってる人なのかわからない現象が起きる
オーナーシップがある人がわかる手段にはどんなものがあるか探したい
案
CODEOWNERSを使う
https://docs.github.com/ja/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
コードに対するオーナーを設定できる
PRしたときに自動的にレビュー依頼できる便利機能がついてくる
GraphQL APIでとることは一応できそう
repository topicを使う
リポジトリにタグ方式で属性を付与できる
このリポジトリがどういうものが表現するのに使える
https://docs.github.com/ja/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/classifying-your-repository-with-topics
Custom Property
組織設定で作ることができる
リポジトリごとに独自の属性を設定できる
GraphQLではとれない。REST APIではとれる
https://docs.github.com/ja/enterprise-cloud@latest/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization
Repositoryの設定の collaborators and teams を使う
リポジトリに対して操作権限をもったロールを人やチームにわりあてられる
組織の管理者とかも自動で管理者になってしまったり、ロールを複数もてない
GraphQL APIからとれる。しかし強い権限が必要 スコープ admin:org
用途からすると CODEOWNERSかCustom Propertyが妥当そう
CODEOWNERSはテキストフォーマットであるため自動化がしにくい
書式ルールを決めればつかえそう
コードの所有者であって、リポジトリの所有者ではない
違う意味で使うと勘違いおきる懸念がある
Custom Propertyは設定値の妥当性との関連が弱い
好きな値がいれられてしまう
リポジトリ横断する情報としては使いやすいかもしれない