Skip to content
You're viewing an older version of this GitHub Action. Do you want to see the latest version instead?
lock

GitHub Action

Private Action Loader

v3

Private Action Loader

lock

Private Action Loader

Enables private Actions to be easily reused across repositories

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Private Action Loader

uses: nick-fields/private-action-loader@v3

Learn more about this action in nick-fields/private-action-loader

Choose a version

Private Action Loader

Actions Status License: MIT JavaScript Style Guide Dependency Status devDependency Status Code Coverage

This action loads and executes a private Action. This allows private actions to be reused in other private repositories. All inputs are passed down into the private action. All outputs of the private actions are passed back to the loader action.


Inputs

pal-repo-token

Required An access token with the repo scope to the repository containing the action. This should be stored as a repo secret.

pal-repo-name

Required The repository containing the action. A ref can also be appended to specify an exact commit of the action (SHA, tag, or branch). Must be in the format of {owner}/{repo} or {owner}/{repo}@{sha}.

pal-action-directory

Optional Directory containing the action.yml that you would like to execute in repo. If omitted, the root directory is assumed to be the location of action.yml.


Examples

Example usage w/ pal-action-directory

- uses: invisionapp/private-action-loader@v3
  with:
    pal-repo-token: ${{ secrets.REPO_TOKEN }}
    pal-repo-name: some-org/super-secret-action
    pal-action-directory: src/super-secret-nested-action

Example usage w/ additional parameters

- uses: invisionapp/private-action-loader@v3
  with:
    pal-repo-token: ${{ secrets.REPO_TOKEN }}
    pal-repo-name: some-org/super-secret-action
    # the following input gets passed to the private action
    input-used-by-other-action: this will be passed to super-secret-action

Example usage w/o additional parameters

- uses: invisionapp/private-action-loader@v3
  with:
    pal-repo-token: ${{ secrets.REPO_TOKEN }}
    pal-repo-name: some-org/super-secret-action

Example usage w/ SHA

- uses: invisionapp/private-action-loader@v3
  with:
    pal-repo-token: ${{ secrets.REPO_TOKEN }}
    pal-repo-name: some-org/super-secret-action@b8a83a0

Example usage w/ Branch

- uses: invisionapp/private-action-loader@v3
  with:
    pal-repo-token: ${{ secrets.REPO_TOKEN }}
    pal-repo-name: some-org/super-secret-action@master

Example usage w/ Tag

- uses: invisionapp/private-action-loader@v3
  with:
    pal-repo-token: ${{ secrets.REPO_TOKEN }}
    pal-repo-name: some-org/super-secret-action@v1

Example usage w/ Output

- uses: invisionapp/private-action-loader@v3
  id: output_example
  with:
    pal-repo-token: ${{ secrets.REPO_TOKEN }}
    pal-repo-name: some-org/super-secret-action@v1
- name: Get the previous output
  run: echo "The previous output was ${{ steps.output_example.outputs.<name of output> }}"

Limitations

  • Only supports javascript actions
  • There is very little error handling so far