• Overview
  • Documentation
  • Version history

Description

NuGet is an open-source package manager designed by Microsoft Corporation. The NuGet source configuration plug-in imports versioned source artifacts from a NuGet repository.

Quick Info

Product icon

Product

DevOps Deploy (HCL Launch)
Plugin type icon

Type

plugin
Compatibility icon

Compatibility

HCL Launch Version 6.0 or later.
created by icon

Created by

HCL Software
Website icon

Website

Published Date

Last Updated

Summary

The NuGet source configuration plug-in imports versioned source artifacts from a NuGet repository. Artifacts are in the format of a NuGet package with the .nupkg extension. Packages contain compiled code (DLLs) and files related to that code. Artifacts can be imported for a specific package version.

This plug-in includes one step:

  • Import Version

Compatibility

This plug-in requires HCL Launch version 6.0 or later.

This plug-in uses the NuGet REST API version 2. For information about the API, see NuGet API.

This plug-in supports these servers:

  • NuGet servers v2.X
  • Nexus Repository Manager servers v2.14 through v3.3.1-01

Installation

See Installing plugins in HCL Launch for installing and removing plugins.

History

The following table describes the changes made in each plugin version.

Plugin history details
Version Description
17 Log4j and Jettison dependency updated.
16 RFE: 148202 Pagination support for V2 APIs added.
15 A version’s importing field will be correctly set and marked as finished importing when creating versions that are not copied to codestation.
14 Fix for CVE-2019-4233: Man in the middle vulnerability.
13 RFE: 130125 Added optional description import property.
12 RFE: 123879- Added support for nuget api version v2 and v3.
11 RFE: 123879 Added support to opt/opt-out for pre-release versions.
10 APAR PI89045: add support for setting isFinished flag when importing versions.
9 Fixes APAR PI98736 Resolves cannot trim on null error when using automatic import.
8 Fixes APAR PI94738 Update version list filter to include ID to pkg matches.
7 Fixes APAR PI92176 Unable to parse Date from Artifactory repository.
6
  • Fixes APAR PI89772 Unable to reach NuGet repositories hosted in Artifactory and Nexus.
  • Added Proxy support.
  • Updated to Apache Commons Lang3 library.
  • Import all artifacts on automatic and default import.
  • Import a specific version with defined version name when run manually.
  • Changed Extensions of Files to Convert property to a checkbox called Convert File Charset because only the .nupkg extension should be imported.
5 Updated to ensure all response texts are z/OS compatible.
4
  • Fixes APAR PI81655. Support for Nexus v2.14 to v3.3.1-01
  • If version download fails, an empty component version will no longer be created.
  • Use working directory for downloads instead of the Temp directory.
  • Automatic deployments can now occur on automatic import.
  • Artifacts now have the following naming scheme: [Package].[Version].nupkg
3 Support file property encryption.
2 Fixes APAR PI57417. Plug-in now checks the agent settings for acceptance of self-signed certificates.
1 Initial release of the plug-in.

Usage

Create a component

You should define a HCL Launch component which defines the source and processes for the NuGet repository. The component contains the information for importing the artifacts and any processes to implement on the artifacts.

You can manually or automatically create component versions from a NuGet repository by detecting NuGet packages based off their names and creating associated component versions for the package.

Perform the following steps to create a component by importing from a NuGet repository. For more information, see Creating components in the product documentation.

  1. In HCL Launch, click Components and then click Create Component.
  2. In the Create Component window, specify a name and description for the component.
  3. In the Teams fields, specify the access information for the new component.
  4. To use a template for the new component, select a template from the Template list. In this case, the component inherits source configuration, properties, and processes from the template.
  5. In the Source Config Type list, select NuGet.
  6. Specify the properties for the component. See Steps for property descriptions.
    Note: The format of the NuGet URL property is different for the NuGet v2 and v3 servers.

     

    • For v2: https://*[server\_ip or domain\_name]*/artifactory/api/nuget/nuget-hosted
    • For v3: https://*[server\_ip or domain\_name]*/artifactory/api/nuget/v3/nuget-hosted
  7. Click Save.

Import a version

When the artifacts are imported, a component version is created using the version of the package. You can specify to import a specific package version or import all versions. If importing all versions, a component version is created for each version.

  1. Click the Versions tab for the component.
  2. Click Import New Versions.
  3. Specify a specific version of the package to import or leave blank to import the latest version of the package available in the repository. Additionally, enable Import All Versions to import all versions of a package.
  4. Click Save.

Change the artifact version name when importing

When you import artifacts, you can specify a specific NuGet artifact version to import and change the version name.

In the Import New Version window, specify the version name in the NuGet repository and the name for the version in the HCL Launch repository.

In the preceding example, instead of the version number 1.0.1, the artifacts are renamed to onePointZeroOne.

Nexus Repository Manager support

Starting with the NuGet source configuration plug-in version 3, HCL Launch provides support for artifact retrieval from NuGet repositories in Nexus Repository Manager versions 2.14 to 3.3.1-01. While the server versions are fundamentally the same, the links to the repositories are different.

The NuGet plug-in uses the NuGet REST API v2. For information about the API, see NuGet API. Specifying the correct NuGet URL is necessary for utilizing the REST API calls. For Nexus configuration, you will need to specify the full repository URL. Specifying the Nexus servers host name is insufficient because it is a repository manager and supports multiple repository types. However, if referencing a standalone NuGet server, then the host name is expected.

Sample Configuration

The following sample configuration demonstrates how to configure a Nexus server import process.

In the graphic below is the HCL Launch component. Properties with the asterisk (*), a value must be specified.

NuGet URL: The NuGet Repository server. If retrieving artifacts from a NuGet server, this is the host name. For Nexus Repository Manager, specify the repository URL defined below.

Package Name: The name of the package on the NuGet server or in the specified Nexus repository.

Note: If authentication is required, specify the user name and associated password.

Specifications for the Nexus Repository Manager varies based on the version. To verify that the URL

After configuring the Nexus Repository Manager, you can use the information to verify that the GetNu repository is accessible, see Confirm NuGet URL.

Nexus Repository Manager v2

For a Nexus v2 repository, the value specified for the NuGet URL property in the component is considered the package source of a repository. Place this value, in the Package Source field of the Nexus Repository Manage OSS panel. Specify in the format: https://SERVER:PORT/nexus/service/local/nuget/REPOSITORY_NAME/.

Identify the URL by navigating to the NuGet repository with the package to import, select the NuGet tab, the Package Source is located on this tab. Copy and paste the full URL from the NuGet URL property configuration field into the Package Source field.

Nexus Repository Manager v3

In Nexus v3, the user interface changed significantly, and the repository URL was simplified. The URL is now in the format: https://SERVER:PORT/repository/REPOSITORY_NAME/. However, this link is slightly harder to identify and confirm. Identify your URL by navigating to a package version in a browser. Hover over its path to see the full download link for this package at the bottom of the screen. Transpose the URL, up to the repository name, into the NuGet URL property configuration field.

>Confirm NuGet URL

The NuGet repository URL must be accessible through the version 2 of the NuGet REST API. This can be verified by placing the Nexus URL, identified above, in a browser. The response will look similar to the screenshot below. If the request requires authentication, then credentials should also be specified in the plug-ins source configuration. This quick test can be confirmed outside of HCL Launch.

Steps

Process steps in the NuGet plug-in

  • Import Version

Import Version

Create a new component version and import artifacts from a NuGet repository.

This step has no input properties.

Roles in the NuGet plug-in

The plug-in adds these roles automatically to resources. You cannot add these roles manually.

  • NuGetComponentProperties
  • NuGetImportProperties

NugetComponentProperties

NugetComponentProperties
Name Type Description
Convert File Charset Boolean Select to convert the .nupkg artifact to a new charset during the import.
Include prerelease packages Boolean Select to include prerelease packages during the import.
NuGet URL String The fully-qualified URL of the NuGet repository. If you are retrieving a public NuGet package, use default value which is https://api-v2v3search-0.nuget.org. The URL format is different for the NuGet v2 and v3 servers. For v2 use the format: https://[server_ip or domain_name]/artifactory/api/nuget/nuget-hosted. For v3 use the format: https://[server_ip or domain_name]/artifactory/api/nuget/v3/nuget-hosted.
Package Name String The name of the NuGet package to import.
Password Password The password associated with the user name used to authenticate with the NuGet repository.
Preserve Execute Permissions Boolean Select to save file execute permissions with files.
Proxy Host String If you authenticate through a proxy, specify the name of the host.
Proxy Password Password If a proxy is protected, specify the password associated with authorized user name.
Proxy Port String If you authenticate through a proxy, specify the port number.
Proxy User String If a proxy is protected, specify an authorized user name.
Trust All Certificates Boolean Select to accept all SSL certificates when authenticating with the NuGet repository.
User String The user name used to authenticate with the NuGet repository.

NugetImportProperties

NugetImportProperties
Name Type Description
NuGet Version String The version of the NuGet artifacts to import.
Rename Version String If a version is specified on the NuGet Version property, replace the version with the value specified in this property for the imported artifacts.
Version Description String An optional description to add to the versions that are imported into HCL Launch.

launch-nuget-source-config-17.1154071.zip

Uploaded: 23-Mar-2023 10:25

Release Note

log4j and jettison dependency updated.

launch-nuget-source-config-16.1108465.zip

Uploaded: 07-Jun-2021 06:06

Release Note

RFE: 148202 Supported pagination for v2.

Related Plugins