Skip to content
Open
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -447,6 +447,8 @@ Tasks/TwineAuthenticateV1/ @microsoft/azure-artifacts-packages

Tasks/UniversalPackagesV0/ @microsoft/azure-artifacts-packages

Tasks/UniversalPackagesV1/ @microsoft/azure-artifacts-packages

Tasks/UseDotNetV2/ @microsoft/azure-pipelines-tasks-and-agent @tarunramsinghani @DergachevE

Tasks/UseNodeV1/ @microsoft/azure-pipelines-tasks-and-agent @tarunramsinghani
Expand Down
5 changes: 5 additions & 0 deletions Tasks/UniversalPackagesV1/.npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
scripts-prepend-node-path=true

registry=https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/

always-auth=true
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
{
"loc.friendlyName": "Universal packages",
"loc.helpMarkDown": "[Learn more about this task](https://docs.microsoft.com/azure/devops/pipelines/tasks/package/universal-packages)",
"loc.description": "Download or publish Universal Packages",
"loc.instanceNameFormat": "Universal $(command)",
"loc.input.label.command": "Command",
"loc.input.help.command": "The Universal Package command to run.",
"loc.input.label.adoServiceConnection": "Azure DevOps Service Connection",
"loc.input.help.adoServiceConnection": "Optional. The name of the Azure DevOps Service Connection to use. If not set, build identity is used.",
"loc.input.label.organization": "Organization",
"loc.input.help.organization": "The Azure DevOps organization name where the feed is located (e.g., 'myorg' from dev.azure.com/myorg). Required when using a service connection for cross-organization access. When not specified, uses the current pipeline's organization.",
"loc.input.label.feed": "Feed",
"loc.input.help.feed": "The feed name. For project-scoped feeds, use 'project/feed' format.",
"loc.input.label.packageName": "Package name",
"loc.input.help.packageName": "The name of the Universal Package. Package names must be lower case and can only use letters, numbers, and dashes(-).",
Copy link

Copilot AI Dec 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The help text contains a typo: "dashes(-)" should include a space before the parenthesis for better readability: "dashes (-)". This appears in both the regular and localized versions.

Suggested change
"loc.input.help.packageName": "The name of the Universal Package. Package names must be lower case and can only use letters, numbers, and dashes(-).",
"loc.input.help.packageName": "The name of the Universal Package. Package names must be lower case and can only use letters, numbers, and dashes (-).",

Copilot uses AI. Check for mistakes.
"loc.input.label.packageVersion": "Package version",
"loc.input.help.packageVersion": "The version of the package. For downloads, this can also be a wildcard expression such as * to get the highest version, 1.* to get the highest version with major version 1, or 1.2.* to get the highest patch release with major version 1 and minor version 2.",
"loc.input.label.directory": "Directory",
"loc.input.help.directory": "For downloads: folder path where the package's contents will be downloaded. For publish: path to the directory containing files to publish.",
"loc.input.label.packageDescription": "Description",
"loc.input.help.packageDescription": "Description of the contents of this package and/or the changes made in this version of the package.",
"loc.input.label.verbosity": "Verbosity",
"loc.input.help.verbosity": "Specifies the amount of detail displayed in the output.",
"loc.messages.Debug_ArtifactToolPath": "Artifact tool path: %s",
"loc.messages.Debug_DownloadOperation": "Download operation - Package: %s@%s, Target: %s",
"loc.messages.Debug_Downloading": "Downloading package: %s, version: %s using feed id: %s, project: %s",
"loc.messages.Debug_FeedValidationSuccess": "Feed validation successful: %s",
"loc.messages.Debug_GettingArtifactTool": "Getting artifact tool",
"loc.messages.Debug_NoProvenanceSession": "No provenance session available, using original feed ID",
"loc.messages.Debug_OrgScopedFeed": "Organization-scoped feed detected - Feed: %s",
"loc.messages.Debug_ParsedFeedInfo": "Parsed feed info - Service URI: %s, Feed: %s",
"loc.messages.Debug_ProjectScopedFeed": "Project-scoped feed detected - Project: %s, Feed: %s",
"loc.messages.Debug_ProvenanceApiUrl": "Creating provenance session at: %s",
"loc.messages.Debug_ProvenanceDisabled": "Provenance disabled by Packaging.SavePublishMetadata variable",
"loc.messages.Debug_ProvenanceResponseStatus": "Provenance API response status: %s",
"loc.messages.Debug_PublishOperation": "Publish operation - Package: %s@%s, Source: %s",
"loc.messages.Debug_Publishing": "Publishing package: %s, version: %s using feed id: %s, project: %s",
"loc.messages.Debug_RetrievingArtifactToolUri": "Retrieving artifact tool from: %s",
"loc.messages.Debug_ResolvedPackagingUrl": "Resolved packaging service URL: %s",
"loc.messages.Debug_TelemetryInitFailed": "Unable to log Universal Packages task init telemetry. Err:( %s )",
"loc.messages.Debug_TelemetryResultFailed": "Unable to log telemetry result. Err:( %s )",
"loc.messages.Debug_UsingArtifactToolDownload": "Using artifact tool to download the package",
"loc.messages.Debug_UsingArtifactToolPublish": "Using artifact tool to publish the package",
"loc.messages.Debug_UsingBuildServiceCreds": "Using build service credentials for authentication",
"loc.messages.Debug_UsingProvenanceSession": "Using provenance session ID: %s",
"loc.messages.Debug_UsingServiceUri": "Using service URI: %s",
"loc.messages.Debug_UsingWifAuth": "Using WIF authentication with service connection: %s",
"loc.messages.Debug_ValidatedServiceUri": "Validated service URI: %s",
"loc.messages.Debug_ValidatingOrganization": "Validating organization and feed access: %s",
"loc.messages.Debug_WifTokenObtained": "Successfully obtained WIF token for authentication",
"loc.messages.Error_AuthenticationFailed": "Unable to authenticate for Universal Packages operations. Ensure the task runs in an Azure Pipelines build/release or provide a valid service connection.",
"loc.messages.Error_CommandNotRecognized": "The command %s was not recognized.",
"loc.messages.Error_FailedToGetArtifactTool": "Failed to get artifact tool. %s",
"loc.messages.Error_FailedToValidateFeed": "Failed to validate service URI '%s' and feed '%s'. Verify the service exists, the feed exists, and the authentication token has permission to access it.",
"loc.messages.Error_NoAuthToken": "Unable to obtain authentication token. The SYSTEMVSSCONNECTION endpoint is not configured correctly. Ensure this task runs in an Azure Pipelines build or release, or provide a service connection via the 'adoServiceConnection' input.",
"loc.messages.Error_OrganizationRequired": "Organization is required when using a service connection for cross-organization access.",
"loc.messages.Error_PackagesFailedToDownload": "Packages failed to download",
"loc.messages.Error_PackagesFailedToPublish": "Packages failed to publish",
"loc.messages.Error_UnexpectedErrorArtifactToolDownload": "An unexpected error occurred while trying to download the package. Exit code(%s) and error(%s)",
"loc.messages.Error_UnexpectedErrorArtifactToolPublish": "An unexpected error occurred while trying to push the package. Exit code(%s) and error(%s)",
"loc.messages.Error_UniversalPackagesNotSupportedOnPrem": "Universal Packages are not supported in Azure DevOps Server.",
"loc.messages.Success_PackagesDownloaded": "Package were downloaded successfully",
Copy link

Copilot AI Dec 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The error message "Package were downloaded successfully" contains a grammatical error. It should be "Packages were downloaded successfully" (plural form).

Suggested change
"loc.messages.Success_PackagesDownloaded": "Package were downloaded successfully",
"loc.messages.Success_PackagesDownloaded": "Packages were downloaded successfully",

Copilot uses AI. Check for mistakes.
"loc.messages.Success_PackagesPublished": "Packages were published successfully",
"loc.messages.Warning_BuildIdentityFeedHint": "Check feed '%s' permissions: %s",
"loc.messages.Warning_BuildIdentityOperationHint": "Operation failed using identity '%s' (%s).",
"loc.messages.Warning_ProvenanceSessionFailed": "Provenance session creation failed: %s",
"loc.messages.Warning_WifAuthFailed": "WIF authentication failed for service connection %s, falling back to build service token: %s",
"loc.messages.Warning_WifAuthNoToken": "WIF authentication returned no token for service connection %s, falling back to build service token"
}
Loading