ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

アクションの検索とカスタマイズ

アクションは、ワークフローを動かす構成要素です。 ワークフローには、コミュニティによって作成されたアクションを含めることも、アプリケーションのリポジトリ内に直接独自のアクションを作成することもできます。 このガイドでは、アクションを検出、使用、およびカスタマイズする方法を説明します。

ここには以下の内容があります:

GitHub Actions の支払いを管理する GitHubは、macOSランナーのホストにMacStadiumを使用しています。

概要

ワークフローで使用するアクションは、次のように定義できます。

  • パブリック リポジトリ
  • ワークフローファイルがアクションを参照するのと同じリポジトリ
  • Docker ハブで公開された Docker コンテナー イメージ

GitHub Marketplaceは、GitHubコミュニティによって構築されたアクションを見つけるための中央となる場所です。 GitHub Marketplace ページでは、アクションをカテゴリでフィルタできます。

Note: GitHub Actions on your GitHub Enterprise Server instance may have limited access to actions on GitHub.com or GitHub Marketplace. 詳しい情報については「セルフホストランナーとGitHubの通信」を参照してください。

ワークフローエディタで Marketplace アクションを参照する

リポジトリのワークフローエディタで、直接アクションを検索し、ブラウズできます。 サイドバーから特定のアクションを検索し、注目のアクションを見て、注目のカテゴリをブラウズできます。 また、アクションがGitHubコミュニティから受けたStarの数も見ることができます。

  1. リポジトリで、編集したいワークフローファイルにアクセスします。
  2. ファイルビューの右上隅の をクリックしてワークフローエディタを開きます。
    ワークフローファイルの編集ボタン
  3. エディタの右側でGitHub Marketplaceサイドバーを使ってアクションをブラウズしてください。 バッジの付いたアクションは、GitHub がアクションの作者をパートナー Organization として確認したことを示します。
    マーケットプレイスのワークフローサイドバー

ワークフローにアクションを追加する

アクションのリストのページには、アクションのバージョンと、そのアクションを利用するために必要なワークフローの構文が含まれています。 アクションが更新された場合でもワークフローを安定させるために、ワークフローファイルで Git または Docker タグ番号を指定することにより、使用するアクションのバージョンを参照できます。

  1. ワークフローで使いたいアクションにアクセスしてください。
  2. "Installation(インストール)"の下で、をクリックしてワークフローの構文をコピーしてください。
    アクションのリストの表示
  3. この構文をワークフロー中に新しいステップとして貼り付けてください。 詳細については、「GitHub Actionsのワークフロー構文」を参照してください。
  4. アクションで入力が必要な場合は、ワークフローで設定します。 アクションに必要な入力については、「アクションで入力と出力を使用する」を参照してください。

カスタムアクションにリリース管理を使用する

コミュニティアクションの作者は、タグ、ブランチ、または SHA 値を使用してアクションのリリースを管理するオプションがあります。 他の依存関係と同様に、アクションの更新を自動的に受け入れる際のお好みに応じて、使用するアクションのバージョンを指定する必要があります。

ワークフローファイルでアクションのバージョンを指定します。 リリース管理へのアプローチに関する情報、および使用するタグ、ブランチ、または SHA 値を確認するには、アクションのドキュメントを確認してください。

タグの使用

タグは、メジャーバージョンとマイナーバージョンの切り替えタイミングを決定するときに役立ちますが、これらはより一過性のものであり、メンテナから移動または削除される可能性があります。 この例では、v1.0.1 としてタグ付けされたアクションをターゲットにする方法を示しています。

steps:
    - uses: actions/javascript-action@v1.0.1

SHA の使用

より信頼性の高いバージョン管理が必要な場合は、アクションのバージョンに関連付けられた SHA 値を使用する必要があります。 SHA は不変であるため、タグやブランチよりも信頼性が高くなります。 ただし、このアプローチでは、重要なバグ修正やセキュリティアップデートなど、アクションの更新を自動的に受信しません。 この例では、アクションの SHA を対象としています。

steps:
    - uses: actions/javascript-action@172239021f7ba04fe7327647b213799853a9eb89

ブランチの使用

特定のブランチを参照するということは、アクションが常にターゲットブランチの最新の更新を含み使用することを示しますが、それらの更新に重大な変更が含まれる場合、問題が発生する可能性があります。 この例では、@main という名前のブランチを対象としています。

steps:
    - uses: actions/javascript-action@main

詳しい情報については、「アクションにリリース管理を使用する」を参照してください。

アクションで入力と出力を使用する

多くの場合、アクションは入力を受け入れたり要求したりして、使用できる出力を生成します。 For example, an action might require you to specify a path to a file, the name of a label, or other data it will use as part of the action processing.

アクションの入力と出力を確認するには、リポジトリのルートディレクトリにある action.yml または action.yaml を確認してください。

この例の action.yml では、inputs キーワードは、file-path と呼ばれる必須の入力を定義し、何も指定されていない場合に使用されるデフォルト値を含みます。 output キーワードは、結果の場所を示す results-file という出力を定義します。

name: 'Example'
description: 'Receives file and generates output'
inputs:
  file-path:  # id of input
    description: "Path to test script"
    required: true
    default: 'test-file.js'
outputs:
  results-file: # id of output
    description: "Path to results file"

ワークフロー ファイルでアクションを使用する同じリポジトリ内のアクションの参照

ワークフロー ファイルがアクションを使用するのと同じリポジトリでアクションが定義されている場合は、ワークフロー ファイル内の{owner}/{repo}@{ref} または ./path/to/dir 構文を使用してアクションを参照できます。

リポジトリ ファイル構造の例:

|-- ハローワールド (リポジトリ)
|  github
|      └─ ワークフロー
|          └─ 私の最初のワークフロー.yml
|      └─
アクション |          |__ ハローワールドアクション
|              └── アクション.yml

ワークフロー ファイルの例:

ジョブ:
  ビルド:
    実行: ubuntu 最新
    ステップ:
      # このステップは、リポジトリのコピーをチェックアウトします。
      - 用途: アクション/checkout@v2
      # このステップは、アクションを含むディレクトリを参照します。
      - 用途: ./.github/アクション/ハローワールドアクション

action.yml ファイルは、アクションのメタデータを提供するために使用されます。 このファイルの内容については、「GitHub Actions のメタデータ構文」をご覧ください。

Docker ハブでのコンテナーの参照

アクションが Docker Hub の公開された Docker コンテナー イメージで定義されている場合は、ワークフロー ファイル内の docker://{image}:{tag} 構文を使用してアクションを参照する必要があります。 コードとデータを保護するために、ワークフローで使用する前に Docker Hub から Docker コンテナー イメージの整合性を確認することを強くお勧めします。

ジョブ:
  my_first_job:
    ステップ:
      - 名前: 使用
        私の最初のステップ: docker://alpine:3.8

Docker アクションの例については、Docker-image.yml のワークフロー および「Docker コンテナのアクションを作成する」を参照してください。

次のステップ

GitHub Actions の詳細については、「GitHub Actions の重要な機能」を参照してください。

Did this doc help you?

Privacy policy

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

OR, learn how to contribute.