Creating starter workflows for your organization

Learn how you can create starter workflows to help people in your team add new workflows more easily.

概要

Starter workflows allow everyone in your organization who has permission to create workflows to do so more quickly and easily. When you create a new workflow, you can choose a starter workflow and some or all of the work of writing the workflow will be done for you. You can use starter workflows as a starting place to build your custom workflow or use them as-is. This not only saves time, it promotes consistency and best practice across your organization.

Creating a starter workflow

Starter workflows can be created by users with write access to the organization's .github repository. These can then be used by organization members who have permission to create workflows.

Note: To avoid duplication among starter workflows you can call reusable workflows from within a workflow. This can help make your workflows easier to maintain. For more information, see "Reusing workflows."

This procedure demonstrates how to create a starter workflow and metadata file. The metadata file describes how the starter workflows will be presented to users when they are creating a new workflow.

  1. 存在しない場合は、Organization内で.githubという名前の新しいパブリック リポジトリを作成します。

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

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

    リポジトリのデフォルトブランチを参照する必要がある場合は、 $default-branch プレースホルダを使用できます。 When a workflow is created the placeholder will be automatically replaced with the name of the repository's default branch.

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

    name: Octo Organization CI
    
    on:
      push:
        branches: [ $default-branch ]
      pull_request:
        branches: [ $default-branch ]
    
    jobs:
      build:
        runs-on: ubuntu-latest
    
        steps:
          - uses: actions/checkout@v2
    
          - 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という名前のワークフローファイルのメタデータが含まれています。

    {
        "name": "Octo Organization Workflow",
        "description": "Octo Organization CI starter workflow.",
        "iconName": "example-icon",
        "categories": [
            "Go"
        ],
        "filePatterns": [
            "package.json$",
            "^Dockerfile",
            ".*\\.md$"
        ]
    }
    
    • name - Required. The name of the workflow. This is displayed in the list of available workflows.
    • description - Required. The description of the workflow. This is displayed in the list of available workflows.
    • iconName - Optional. Specifies an icon for the workflow that's displayed in the list of workflows. The iconName must be the name of an SVG file, without the file name extension, stored in the workflow-templates directory. For example, an SVG file named example-icon.svg is referenced as example-icon.
    • categories - オプション。 ワークフローの言語カテゴリを定義します。 When a user views the available starter workflows for a repository, the workflows that match the identified language for the project are featured more prominently. 使用可能な言語カテゴリについては、「https://github.com/github/linguist/blob/master/lib/linguist/languages.yml」を参照してください。
    • filePatterns - Optional. Allows the workflow to be used if the user's repository has a file in its root directory that matches a defined regular expression.

To add another starter workflow, add your files to the same workflow-templates directory. 例:

Workflow files

次のステップ

To continue learning about GitHub Actions, see "Using starter workflows."

このドキュメントは役立ちましたか?

プライバシーポリシー

これらのドキュメントを素晴らしいものにするのを手伝ってください!

GitHubのすべてのドキュメントはオープンソースです。間違っていたり、はっきりしないところがありましたか?Pull Requestをお送りください。

コントリビューションを行う

OR, コントリビューションの方法を学んでください。

問題がまだ解決していませんか?