ESProfiler Handbook
Github

Packages

About Permissions

github.token or GITHUB_TOKEN by default is scoped to the repository an Action runs in. Therefore, it cannot be used by default to consume packages created by other repositories, even in the same organization without either a configured PAT token with read:packages scope or where supported, allowing repositories to access a package.

There are up-to two ways to consume packages generated by other repositories depending on the package type:

  • Option A: Personal Access Token with read:packages scope see Creating a PAT.
  • Option B: Manage Actions access in the package registry.

TBC: Viability of Option B and how-to.


Maven Packages

Only option A is supported for Maven packages.

To download private Maven dependencies from GitHub Packages, configure Maven to authenticate with your GitHub username and a Classic Personal Access Token (PAT).

  1. Open C:\Users\<user>_esprofile\.m2, replacing <user> with your Windows username. Create the .m2 directory if it does not already exist.
  2. Create a file named settings.xml in that directory. If the file already exists, add the github server entry to its existing <servers> element instead of replacing the file.
  3. Add the following configuration:
C:\Users<user>_esprofile.m2\settings.xml
<?xml version="1.0" encoding="UTF-8"?>

<settings xmlns="http://maven.apache.org/SETTINGS/1.1.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 https://maven.apache.org/xsd/settings-1.1.0.xsd">
  <servers>
    <server>
      <id>github</id>
      <username>YOUR_USERNAME</username>
      <password>GH_PAT_TOKEN</password>
    </server>
  </servers>
</settings>
  1. Replace YOUR_USERNAME with your GitHub username and GH_PAT_TOKEN with your Classic PAT. The token must include the read:packages scope and, for packages in private repositories, the repo scope. See Creating a Classic Personal Access Token for instructions.
    If you previously completed the development setup, your PAT may already be stored in the NODE_AUTH_TOKEN user environment variable.
Treat your PAT like a password. Never commit settings.xml or share its contents.

Maven can now authenticate with GitHub Packages and download the dependencies used by ESP projects.


NPM Packages

Both option A or option B are supported for NPM packages.


Containers

Both option A and option B are supported for container images.

Copyright © 2026