- BuildMaster
- Getting Started with BuildMaster
 - Builds and Continuous Integration
- What is a "Build" in BuildMaster?
 - Git and Source Control
 - Git Pipelines and Workflows
 - Build Scripts & Templates
 - Packages & Dependencies
 - Build Artifacts
 - Automated Testing & Verification
 
 - Deployment & Continuous Delivery
- What is a “Pipeline” in BuildMaster?
 - CI Server (Jenkins, TeamCity, etc.) Integration
 - Deployment Scripts & Templates
 - Automatic Checks & Approval Gates
 - Manual Deployment Steps and Tasks
 - Databases
 - Configuration Files
 - Rollbacks
 - Advanced CD Patterns
 
 - Applications & Releases
 - Connecting to your Servers with BuildMaster
 - Scripting in BuildMaster
 - Configuring for Your Team
 - Docker/Containers
 - Development Platforms
 - Deployment Targets
 - Tools & Service Integrations
 - Reference
- BuildMaster API Endpoints & Methods
 - Extending BuildMaster
 - Built-in Functions & Variables
- Applications
 - Builds
 - Configuration Files
 - Containers
 - Credentials
 - Databases
 - Environments
 - Executions
 - Files
 - General
 - JSON
 - Linux
 - Lists
 - Maps
 - Math
 - Nuget
 - Packages
 - Pipelines
 - PowerShell
 - Python
 - Releases
 - Servers
 - Strings
 - XML
 
 - Built-in Operations
- Batch
 - BuildMaster
 - Configuration Files
 - Databases
 - DotNet
 - Files
 - Firewall
 - General
- Apply-Template
 - Attach Package
 - Build
 - Checkout-Code
 - Close-Issue
 - Concatenate-Files
 - Copy-Files
 - Create-Directory
 - Create-File
 - Create-Issue
 - Create-Issue
 - Create-IssueComment
 - Create-Package
 - Create-ZipFile
 - Delete-Files
 - Download-Asset
 - Download-Http
 - Ensure-Directory
 - Ensure-File
 - Ensure-HostsEntry
 - Ensure-Metadata
 - Ensure-Milestone
 - Ensure-Package
 - Ensure-Release
 - Ensure-Tag
 - Exec
 - Execute Python Script
 - Execute VSTest Tests
 - Get-Http
 - Install-Package
 - OSCall
 - OSExec
 - Post-Http
 - Push-PackageFile
 - PYCall
 - PYEnsure
 - Query-Package
 - Remediate-Drift
 - Rename-File
 - Repackage
 - Replace-Text
 - Send-Email
 - Set-FileAttributes
 - Set-Variable
 - SHEnsure
 - Sleep
 - Transfer-Files
 - Transition-Issues
 - Upload-Assets
 - Upload-Http
 - Upload-ReleaseAssets
 
 - Git
 - IIS
 - Nuget
 - PowerShell
 - ProGet
 - Python
 - Registry
 - Servers
 - Services
 - Shell
 - Windows
 
 
 - Administration
 - Installation & Upgrading
 
 - ProGet
- Getting Started with ProGet
 - Packages: Managing & Tracking
 - Feeds Types & Third-Party Packages
- What is a "Feed" in ProGet?
 - What is a "Connector" in ProGet?
 - NuGet (.NET)
 - Universal Feeds & Packages
 - PowerShell
 - Chocolatey (Windows/Machine)
 - RubyGems (ruby)
 - Visual Studio Extension (.vsix)
 - Maven (Java)
 - npm (Node.js)
 - Bower (JavaScript)
 - Debian (Apt)
 - Helm (Kubernetes)
 - PyPI (Python)
 - Conda (Python)
 - RPM (Yum)
 - Alpine (APK)
 - CRAN (R)
 - pub (Dart/Flutter)
 - Cargo (Rust)
 - Terraform Modules
 - Conan (C++)
 - Composer (PHP)
 - Other Feed Types
 
 - Asset Directories & File Storage
 - Docker and Containers
 - Replication & Feed Mirroring
 - Software Composition Analysis (SCA)
 - Security and Access Controls
 - Cloud Storage
 - Administration
 - Installation & Upgrading
 - API Methods and CLI Commands
 
 - Otter
- Getting Started with Otter
 - Orchestration & Server Automation
 - Connecting to your Servers with Otter
 - Collecting & Verifying Configuration
 - Drift Remediation / Configuration as Code
 - Scripting in Otter
 - Configuring for Your Team
 - Installation & Upgrading
 - Administration & Maintenance
 - Reference
- Otter API Reference
 - OtterScript Reference
 - Built-in Functions & Variables
- Executions
 - Files
 - General
 - JSON
 - Linux
 - Lists
 - Maps
 - Math
 - PowerShell
 - Python
 - Servers
 - Strings
 - XML
 
 - Built-in Operations
- Batch
 - Docker
 - DotNet
 - Files
 - Firewall
 - General
- Apply-Template
 - Collect Debian Packages
 - Collect RPM Packages
 - Collect-InstalledPackages
 - Concatenate-Files
 - Copy-Files
 - Create-Directory
 - Create-File
 - Create-Package
 - Create-ZipFile
 - Delete-Files
 - Download-Asset
 - Download-Http
 - Ensure-Directory
 - Ensure-File
 - Ensure-HostsEntry
 - Ensure-Metadata
 - Ensure-Package
 - Exec
 - Execute Python Script
 - Get-Http
 - Install-Package
 - OSCall
 - OSExec
 - Post-Http
 - Push-PackageFile
 - PYCall
 - PYEnsure
 - Query-Package
 - Remediate-Drift
 - Rename-File
 - Repackage
 - Replace-Text
 - Send-Email
 - Set-FileAttributes
 - Set-Variable
 - SHEnsure
 - Sleep
 - Transfer-Files
 - Upload-Assets
 - Upload-Http
 
 - IIS
 - Otter
 - PowerShell
 - ProGet
 - Python
 - Registry
 - Servers
 - Services
 - Shell
 - Windows
 
 
 
 - Installation & Maintenance
- Windows (Inedo Hub)
 - Linux (Docker)
 - High Availability & Load Balancing
 - User Directories & Domains (LDAP)
 - Logging & Analytics
 - SAML Authentication
 - When to Upgrade your Inedo Product
 - Managing Agents and Servers
 - Backing Up & Restoring
 - Installation Configuration Files
 - PostgreSQL & Inedo Products
 - SQL Server & Inedo Products
 
 - Inedo Agent
- What is the Inedo Agent?
 - Installation & Upgrading
 - Downloads & Release Notes
 - Maintenance & Configuration
 - Internal Architecture
 
 - MyInedo
 - OtterScript (Execution Engine)
- Reference
 - OtterScript
 - Inedo Execution Engine
 - Romp (Discontinued)
- Using Romp
 - Installing, Configuring, and Maintaining
 - Romp CLI Reference
 - Package Layout
 - Downloads & Source Code
 - Extensibility
 
 
 - Inedo SDK
 
Repackage Package
The Repackaging API is available as both a pgutil command and an HTTP Request, and provides the programmatic ability to repackage prerelease packages by posting JSON-encoded or Form-encoded data.
⚠ The Repackaging API is available in paid and trial ProGet editions, and will raise a 500 in free editions.
This example will repackage myNugetPackage version 4.3.2-rc.1 to 4.3.2 in the feed myNugetFeed
pgutil packages repackage --feed=myNugetFeed --package=myNugetPackage --version=4.3.2-rc.1 --new-version=4.3.2
This API requires ProGet 2023.0 or later.
Command Specification (CLI)
The packages repackage command is used to repackage a package to a package with a different version.
The --package and --version options are always required, and the --qualifier option is required for multifile packages like Debian and RubyGems.
Repackaging a NuGet Package requires the feed (e.g. myNugetFeed), name (e.g. myNugetPackage) current version (e.g. 1.0.0-rc.1) and new version (e.g. 1.0.0):
pgutil packages repackage --feed=myNugetFeed --package=myNugetPackage --version=1.0.0-rc.1 --new-version=1.0.0
Repackaging an npm Package requires the feed (e.g. MyNpmFeed), name (e.g. myNpmPackage), scope (e.g. myScope), current version (e.g. 2.0.0-rc.1) and new version (e.g. 2.0.0):
pgutil packages repackage --feed=MyNpmFeed --package=@myScope/myNpmPackage --version=2.0.0-rc.1 --new-version=2.0.0
Note source options must also be specified unless you have the "Default" source configured, and that a feed may be instead specified in the source. See Working with Sources to learn more.
HTTP Request Specification
To promote a package, simply POST to the URL with an appropriate API Key and JSON object as the body with the following properties:
| Property | Description | 
|---|---|
feed* | 
Name of the feed where the target package is located | 
group | 
Group-portion of the package's name; this is only applicable for Universal Packages | 
name* | 
Name of the target package | 
version* | 
Version of the target package | 
newVersion* | 
Version of the new package to create | 
comments | 
Comments to append to repackaging audit history | 
toFeed | 
When specified, promotes the package to the specified feed instead of keeping it in feed. | 
* required property.
Previous versions of ProGet used groupName and packageName instead of group and name; these may still be used, but aren't recommended.
As JSON-encoded data:
POST /api/repackaging/repackage
Content-Type: application/json
{
  "feed": "myFeed",
  "name": "myPackage",
  "version": "4.3.2-rc.1",
  "newVersion": "4.3.2",
  "comments": "This package was repackaged by an automated process."
}
As Form-encoded data:
POST /api/repackaging/repackage
Content-Type: application/x-www-form-urlencoded
feed=myFeed&packageName=myPackage&version=4.3.2-rc.1&newVersion=4.3.2&comments=This+package+was+repackaged+by+an+automated+process
HTTP Response Specification
| Response | Details | 
|---|---|
| 200 (Success) | creates a new package in the same feed, ortoFeed when specified. | 
| 400 (Invalid Input) | indicates invalid or missing properties on the package; the body will provide some details as text | 
| 403 (Unauthorized API Key) | indicates a missing, unknown, or unauthorized API Key | 
| 500 (Server Error) | indicates an unexpected error; the body will contain the message and stack trace, and this will also be logged |