Skip to main content

为组织创建工作流模板

了解如何创建工作流模板,以帮助团队中的人员更轻松地添加新工作流程。

本文内容

创建工作流模板

此过程演示如何创建工作流模板和元数据文件。 元数据文件描述了在用户创建新工作流时如何向用户显示工作流模板。

  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@v5
    
          - 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`
               - 
              **可选。** 如果用户的存储库在其根目录中具有与定义的正则表达式匹配的文件,则允许使用工作流。
      
  5. 若要添加另一个工作流模板,请将文件添加到相同的 workflow-templates 目录。

Next steps