Skip to content

Latest commit

 

History

History
188 lines (149 loc) · 7.68 KB

README.ja.md

File metadata and controls

188 lines (149 loc) · 7.68 KB

GitHubSettingsSync

Build(.NET) NuGet Azure Artifacts

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 }}

.NETツール

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
        }
      }
    }
  ]
}

設定詳細

repository

キー 必須 デフォルト 説明
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のいずれか。
security_and_analysis
キー 必須 デフォルト 説明
secret_scanning.status false null シークレットスキャンを有効にするかどうか。enabled/disabledのいずれか。
secret_scanning_push_protection.status false null シークレットスキャンのプッシュ保護を有効にするかどうか。enabled/disabledのいずれか。

branches

キー 必須 デフォルト 説明
name true - ブランチ名。
branch_protection
キー 必須 デフォルト 説明
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

クレジット

このプロジェクトでは、次のライブラリ等を使用しています。

ライブラリ

アナライザー