Overview
The Nexus Artifactory integration allows Backline to access packages from your Nexus Repository. This is required for Backline to build and analyze projects that use Nexus as their package registry.What You Can Do
With the Nexus Artifactory integration, Backline can:- Resolve NPM packages from your Nexus repository
- Resolve Python packages from your Nexus repository
- Resolve Go modules from your Nexus repository
- Build and analyze projects that depend on packages in your Nexus registry
- Provide remediation for vulnerabilities in projects using Nexus as their package source
Supported Package Types
| Package Type | Nexus Repository Format | Example URL |
|---|---|---|
| NPM | npm (proxy/hosted/group) | https://nexus.company.com:8081/repository/npm-group/ |
| PyPI | pypi (proxy/hosted/group) | https://nexus.company.com:8081/repository/pypi-group/simple |
| Go | go (proxy) | https://nexus.company.com:8081/repository/go-proxy/ |
Prerequisites
Before connecting Nexus Artifactory, ensure you have:- A Nexus Repository instance
- Repository URLs for the package types you want to use
Authentication
Anonymous Access If your Nexus instance has anonymous access enabled, you only need to provide the repository URLs - no credentials are required. When you create the integration without specifying credentials, Backline will access repositories anonymously. Authenticated Access If your Nexus repositories require authentication, you’ll need credentials. Nexus supports two authentication methods: API Token (Recommended) API tokens provide enhanced security by using a two-part token instead of your account password. Each token consists of:- Token Name Code - used as the username
- Token Pass Code - used as the password
API tokens are available in Nexus Repository Pro.
Username and Password
You can also use a standard Nexus username and password. This is simpler but less secure than user tokens.
Connecting Nexus Artifactory
Configure Credentials (Optional)
If your Nexus requires authentication, provide:
- Username: Your Nexus username or Token Name Code (if using user tokens)
- Password: Your Nexus password or Token Pass Code (if using user tokens)
Leave both fields empty if your Nexus repositories allow anonymous access. You must provide both username and password, or neither.
Configure Repository URLs
Provide the URLs for the package types you want to use:
-
NPM Repository URL: Your Nexus npm repository URL
- Example:
https://nexus.company.com:8081/repository/npm-group/
- Example:
-
PyPI Repository URL: Your Nexus PyPI repository URL (must end with
/simple)- Example:
https://nexus.company.com:8081/repository/pypi-group/simple
- Example:
-
Go Repository URL: Your Nexus Go proxy repository URL
- Example:
https://nexus.company.com:8081/repository/go-proxy/
- Example:
Finding Your Repository URLs
To find the correct URL for each repository type in Nexus:Repository Type Recommendations
| Repository Type | Recommendation |
|---|---|
| Group | Preferred - aggregates multiple repositories (proxy + hosted) |
| Proxy | Good for caching packages from public registries |
| Hosted | For your own private packages only |
After Connection
Once Nexus Artifactory is configured, Backline will:- Use the provided credentials (if any) to authenticate with Nexus
- Access packages from your private Nexus repositories during dependency analysis
- Provide remediation for projects that depend on packages in your Nexus registry
Managing the Integration
Updating Configuration
To update the integration settings:- Open the Integration Hub
- Click on the Nexus Artifactory integration
- Update credentials or repository URLs as needed
- Click Save
Adding Package Types
To add support for additional package types:- Open the Nexus Artifactory integration settings
- Add the repository URL for the new package type
- Save the changes
Disconnecting
To remove the Nexus Artifactory integration:- Go to the Integration Hub
- Click on the Nexus Artifactory integration
- Select Disconnect
- Confirm your decision
Troubleshooting
Authentication Failed
If Backline cannot authenticate with Nexus:- Verify the username (or Token Name Code) is correct
- Check that the password (or Token Pass Code) is valid
- Ensure the user has read access to the configured repositories
Repository Not Accessible
If Backline cannot reach the repository:- Verify the repository URL is correct
- Check network connectivity between Backline and your Nexus instance
- For HTTPS URLs, ensure SSL certificates are valid
Package Resolution Issues
If specific packages cannot be resolved:- Verify the package exists in your Nexus repository (or is proxied from a public registry)
- Check that the repository type matches the package manager (e.g., npm format for NPM packages)
- For group repositories, ensure the component repositories are correctly configured
PyPI URL Format
PyPI repository URLs must end with/simple for pip compatibility:
- Correct:
https://nexus.company.com:8081/repository/pypi-group/simple - Incorrect:
https://nexus.company.com:8081/repository/pypi-group/