Skip to main content

組織のワークフロー テンプレートを作成する

チームのユーザーがより簡単に新しいワークフローを追加できるように、ワークフロー テンプレートを作成する方法について学びます。

この機能を使用できるユーザーについて

Write access to the organization's public .github repository. Templates can be used by organization members who have permission to create workflows.

メモ

  • ワークフロー テンプレートにはパブリック .github リポジトリが必要であるため、Enterprise Managed Users では使用できません。
  • ワークフロー テンプレート間の重複を避けるために、ワークフロー内から再利用可能なワークフローを呼び出すことができます。 これにより、ワークフローの管理を容易にできます。 詳しくは、「Reuse workflows」をご覧ください。

この手順では、ワークフロー テンプレートとメタデータ ファイルを作成する方法を示します。 メタデータ ファイルには、ユーザーが新しいワークフローを作成するときに、ワークフロー テンプレートがどのように表示されるかが記述されています。

  1. それがまだない場合は、組織で .github という名前の新しい_パブリック_ リポジトリを作成します。

  2. workflow-templates という名前のディレクトリを作成します。

  3. workflow-templates ディレクトリ内に新しいワークフロー ファイルを作成します。

    リポジトリの既定のブランチを参照する必要がある場合は、$default-branch プレースホルダーを使用できます。 ワークフローが作成されるとき、プレースホルダーはリポジトリの既定のブランチの名前に自動的に置き換えられます。

    たとえば、octo-organization-ci.yml という名前のこのファイルは、基本的なワークフローを示しています。

    YAML
    name: Octo Organization CI
    
    on:
      push:
        branches: [ $default-branch ]
      pull_request:
        branches: [ $default-branch ]
    
    jobs:
      build:
        runs-on: ubuntu-latest
    
        steps:
          - uses: actions/checkout@v4
    
          - name: Run a one-line script
            run: echo Hello from Octo Organization
    
  4. workflow-templates ディレクトリ内にメタデータ ファイルを作成します。 メタデータ ファイルは、ワークフロー ファイルと同じ名前にする必要がありますが、.yml 拡張子の代わりに、.properties.json を付ける必要があります。 たとえば、octo-organization-ci.properties.json という名前のこのファイルには、octo-organization-ci.yml という名前のワークフロー ファイルのメタデータが含まれます。

    JSON
    {
        "name": "Octo Organization Workflow",
        "description": "Octo Organization CI workflow template.",
        "iconName": "example-icon",
        "categories": [
            "Go"
        ],
        "filePatterns": [
            "package.json$",
            "^Dockerfile",
            ".*\\.md$"
        ]
    }
    
    • name - 必須。 ワークフローの名前。 これは、使用可能なワークフローの一覧に表示されます。

    • description - 必須。 ワークフローの説明。 これは、使用可能なワークフローの一覧に表示されます。

    • iconName - 省略可能。 ワークフローの一覧に表示されるワークフローのアイコンを指定します。 iconName には次のいずれかの種類を指定できます。

      • workflow-templates ディレクトリに格納されている SVG ファイル。 ファイルを参照するには、その値がファイル拡張子のないファイル名である必要があります。 たとえば、example-icon.svg という名前の SVG ファイルは example-icon として参照されます。
      • GitHub の Octicons セットからのアイコン。 octicon を参照するには、値を octicon <icon name> にする必要があります。 たとえば、「 octicon smiley 」のように入力します。
    • categories - 省略可能。 ワークフローが表示されるカテゴリを定義します。 次の一覧からのカテゴリ名を使用できます。

      • starter-workflows リポジトリの一般的なカテゴリ名。
      • linguist リポジトリの一覧からの Linguist 言語。
      • starter-workflows リポジトリの一覧からのサポートされている技術スタック。
    • filePatterns - 省略可能。 ユーザーのリポジトリのルート ディレクトリに、定義された正規表現に一致するファイルがある場合、そのワークフローを使用できるようにします。

別のワークフロー テンプレートを追加するには、同じ workflow-templates ディレクトリにファイルを追加します。

次のステップ

GitHub Actions について詳しくは、「ワークフロー テンプレートの使用」をご覧ください。