When creating the token, the following boxes need to be checked:
user:email: Used by git-node and get-metadata to read the email of the
PR author in order to check if it matches the email of the commit author.
read:org: Used by ncu-team to read the list of team members.
Optionally, if you want to grant write access so git-node can write comments:
public_repo (or repo if you intend to work with private repositories).
You can also edit the permission of existing tokens later.
After the token is generated, you can give it to NCU using:
With encryption (Recommended)
ncu-config set username your_github_username
# Do not provide the token in the CLI, `ncu-config` will prompt you for it.
ncu-config set -x token
Note: Encryption is available only if you have gpg setup on your machine.
Without encryption
ncu-config set username your_github_username
# Do not provide the token in the CLI, `ncu-config` will prompt you for it.
ncu-config set token
Setting up Jenkins credentials
The git-node and ncu-ci commands need to query the Node.js Jenkins API for
CI results, so you’ll need to configure the Jenkins API token before using
these commands.
To obtain the Jenkins API token
Open
https://ci.nodejs.org/user/<your-github-username>/security (replace
<your-github-username> with your own GitHub username).
Click on the ADD NEW TOKEN button in the API Token section.
Enter an identifiable name (for example, node-core-utils) for this
token in the inbox that appears, and click GENERATE.
Copy the generated token.
Add it into your ncurc file (~/.ncurc or $XDG_CONFIG_HOME/ncurc, or
~/.ncurc.gpg or $XDG_CONFIG_HOME/ncurc.gpg) with jenkins_token as key,
like this:
With encryption (recommended)
ncu-config set -x jenkins_token
Note: Encryption is available only if you have gpg setup on your machine.
Without encryption
ncu-config set jenkins_token
Protecting your credentials
Put the following entries into your
global gitignore file
($XDG_CONFIG_HOME/git/ignore or a file specified by core.excludesFile). For example:
Node.js Core Utilities
CLI tools for Node.js Core collaborators.
Tools
git-node: Custom Git commands for working with Node.js core, e.g. landing Pull Requests.ncu-config: Configure variables for node-core-utils to use.ncu-team: Listing members of a team, synchronizing special blocks in files with the list of members.get-metadata: Retrieving metadata for a Pull Request. DEPRECATED: usegit node metadatainstead.ncu-ci: Parse the results of a Jenkins CI run and display a summary for all the failures.Usage
Install
If you would prefer to build from the source, install and link:
Setting up GitHub credentials
Most of the tools need your GitHub credentials to work. You can either
If you prefer option 2, follow these instructions to create the token.
When creating the token, the following boxes need to be checked:
user:email: Used bygit-nodeandget-metadatato read the email of the PR author in order to check if it matches the email of the commit author.read:org: Used byncu-teamto read the list of team members.Optionally, if you want to grant write access so
git-nodecan write comments:public_repo(orrepoif you intend to work with private repositories).You can also edit the permission of existing tokens later.
After the token is generated, you can give it to NCU using:
With encryption (Recommended)
Note: Encryption is available only if you have
gpgsetup on your machine.Without encryption
Setting up Jenkins credentials
The
git-nodeandncu-cicommands need to query the Node.js Jenkins API for CI results, so you’ll need to configure the Jenkins API token before using these commands.To obtain the Jenkins API token
Open
https://ci.nodejs.org/user/<your-github-username>/security(replace <your-github-username> with your own GitHub username).Click on the
ADD NEW TOKENbutton in theAPI Tokensection.Enter an identifiable name (for example,
node-core-utils) for this token in the inbox that appears, and clickGENERATE.Copy the generated token.
Add it into your
ncurcfile (~/.ncurcor$XDG_CONFIG_HOME/ncurc, or~/.ncurc.gpgor$XDG_CONFIG_HOME/ncurc.gpg) withjenkins_tokenas key, like this:With encryption (recommended)
Note: Encryption is available only if you have
gpgsetup on your machine.Without encryption
Protecting your credentials
Put the following entries into your global
gitignorefile ($XDG_CONFIG_HOME/git/ignoreor a file specified bycore.excludesFile). For example:Mind that
.ncu/landcould contain your access token since it contains the serialized configurations.If you ever accidentally commit your access token on GitHub, you can simply revoke that token and use a new one.
Shell autocomplete
To add autocomplete just run
git-node completionand follow the instructions. (same for the rest of the tools)Troubleshooting
If you encounter an error that you cannot fix by yourself, please
NCU_VERBOSITY=debugenvironment variable set and open an issue at https://github.com/nodejs/node-core-utils/issues with detailed logs.Contributing
See CONTRIBUTING.md.
License
MIT. See LICENSE.