GitHubの設定を同期するアプリケーションです。
GitHubSettingsSyncは、GitHubリポジトリの設定を行うアプリケーションです。
on:
workflow_dispatch:
jobs:
sync-github-settings:
runs-on: ubuntu-latest
steps:
- name: GitHub Settings Sync
uses: finphie/[email protected]
with:
repository: GitHubSettingsSync
path: github-settings.json
env:
GITHUB_TOKEN: ${{ secrets.TOKEN }}
GitHubSettingsSync \
--repository GitHubSettingsSync \
--path github-settings.json
引数 | 必須 | デフォルト | 説明 |
---|---|---|---|
repository | true | - | 「オーナー名/リポジトリ名」形式のリポジトリ名。 |
path | true | - | 設定ファイルのファイルパス。 |
変数名 | 必須 | デフォルト | 説明 |
---|---|---|---|
GITHUB_TOKEN | true | - | Administrationに書き込み許可が付与されたトークン。 |
JSON形式のファイルです。値がnull
の場合やキーを省略することで、設定を変更せずに保持します。
{
"repository": {
"security_and_analysis": {
"secret_scanning": {
"status": "disabled"
},
"secret_scanning_push_protection": {
"status": "disabled"
}
},
"has_issues": true,
"has_projects": true,
"has_wiki": true,
"has_discussions": true,
"allow_merge_commit": true,
"allow_squash_merge": true,
"allow_rebase_merge": true,
"allow_auto_merge": false,
"delete_branch_on_merge": false,
"allow_update_branch": false,
"merge_commit_title": "MERGE_MESSAGE",
"merge_commit_message": "PR_TITLE",
"squash_merge_commit_title": "COMMIT_OR_PR_TITLE",
"squash_merge_commit_message": "COMMIT_MESSAGES"
},
"branches": [
{
"name": "main",
"branch_protection": {
"enforce_admins": false,
"required_linear_history": false,
"allow_force_pushes": false,
"allow_deletions": false,
"required_conversation_resolution": false,
"required_pull_request_reviews": {
"dismiss_stale_reviews": false,
"require_code_owner_reviews": false,
"required_approving_review_count": 0,
"require_last_push_approval": false
}
}
}
]
}
キー | 必須 | デフォルト | 説明 |
---|---|---|---|
has_issues | false | null | Issuesを有効にするかどうか。 |
has_projects | false | null | Projectsを有効にするかどうか。 |
has_wiki | false | null | Wikiを有効にするかどうか。 |
has_discussions | false | null | Discussionsを有効にするかどうか。 |
allow_merge_commit | false | null | 「Create a merge commit」を有効にするか。 |
allow_squash_merge | false | null | 「Squash Merge」を有効にするかどうか。 |
allow_rebase_merge | false | null | 「Rebase and Merge」を有効にするか。 |
allow_auto_merge | false | null | 自動マージ機能を有効にするか。 |
delete_branch_on_merge | false | null | プルリクエストマージ時に、ブランチを自動的に削除するかどうか。 |
allow_update_branch | false | null | 「Update branch」を有効にするかどうか。 |
merge_commit_title | false | null | マージにおけるコミットタイトルの種類。PR_TITLE/MERGE_MESSAGEのいずれか。PR_TITLEでは、merge_commit_messageにPR_BODYまたはBLANKを指定してください。MERGE_MESSAGEでは、merge_commit_messageにPR_TITLEを指定してください。 |
merge_commit_message | false | null | マージにおけるコミットメッセージの種類。PR_TITLE/PR_BODY/BLANKのいずれか。 |
squash_merge_commit_title | false | null | スカッシュマージにおけるコミットタイトルの種類。PR_TITLE/COMMIT_OR_PR_TITLEのいずれか。PR_TITLEでは、squash_merge_commit_messageにPR_BODYやCOMMIT_MESSAGES、BLANKを指定してください。COMMIT_OR_PR_TITLEでは、COMMIT_MESSAGESを指定してください。 |
squash_merge_commit_message | false | null | スカッシュマージにおけるコミットメッセージの種類。PR_BODY/COMMIT_MESSAGES/BLANKのいずれか。 |
キー | 必須 | デフォルト | 説明 |
---|---|---|---|
secret_scanning.status | false | null | シークレットスキャンを有効にするかどうか。enabled/disabledのいずれか。 |
secret_scanning_push_protection.status | false | null | シークレットスキャンのプッシュ保護を有効にするかどうか。enabled/disabledのいずれか。 |
キー | 必須 | デフォルト | 説明 |
---|---|---|---|
name | true | - | ブランチ名。 |
キー | 必須 | デフォルト | 説明 |
---|---|---|---|
enforce_admins | false | null | ブランチ保護を管理者にも適用するか。 |
required_linear_history | false | null | 直線状の履歴を必須にするかどうか。 |
allow_force_pushes | false | null | 強制プッシュを許可するかどうか。 |
allow_deletions | false | null | プッシュアクセス権を持つユーザーが、保護されたブランチを削除できるようにするかどうか。 |
required_conversation_resolution | false | null | マージ前にコメントの解決を必須にするかどうか。 |
required_reviews | false | null | レビューを必須にするかどうか。 |
dismiss_stale_reviews | false | null | 新しいコミットがプッシュされたときに、承認済みのレビューを却下するかどうか。 |
require_code_owner_reviews | false | null | コード所有者のレビューが必須かどうか。 |
required_approving_review_count | false | null | プルリクエストの承認に必要なレビュアーの数。 |
require_last_push_approval | false | null | 最新のプッシュを行ったユーザー以外が承認する必要があるかどうか。 |
finphie
MIT
このプロジェクトでは、次のライブラリ等を使用しています。