Hi @stevedennis ,
Thank you very much for your reply, that is good to know, we will continue with what we have.
Cheers,
Michael
Welcome to the Inedo Forums! Check out the Forums Guide for help getting started.
If you are experiencing any issues with the forum software, please visit the Contact Form on our website and let us know!
Lead developer at Reel Time Gaming.
Hi @stevedennis ,
Thank you very much for your reply, that is good to know, we will continue with what we have.
Cheers,
Michael
Hi, we are in the process of switching from Artifactory to ProGet and are using universal packages for our first-party applications and libraries. On Artifactory we save a lot of custom metadata to our artifacts which are then used by many internal systems and tools. These systems search for artifacts with specific metadata in order for those artifacts to be promoted, deleted, downloaded, moved, copied etc.
We have setup our build system to create universal packages from our binaries with several custom metadata properties. I can get the custom metadata for individual universal packages using the deprecated List Universal Package Version endpoint.
However, the Universal Feed documentation recommends to use the Common Packages API instead of the deprecated universal feed API but none of the common packages API endpoints return custom metadata for packages. Will these deprecated endpoints be removed at some point in the future?
If so, are you able to add custom metadata to the List Package Versions HTTP response? Maybe aincludeMetadata=true/false
parameter could be used so existing API calls don't include extra data. Or the deprecated universal feed API endpoints could be undeprecated? It would also be great if we could use the API to search for packages in a feed based on metadata (including custom) properties.
If this can't be done and if these deprecated universal feed API endpoints are going to be removed in the future, I can see that assets support getting and setting custom metadata via the API. Should I switch our system from using universal packages to an assets directory instead if we need custom metadata for our purposes?
Thanks,
Michael
Hi Alana,
Thank you very much for your quick response and fix!
Cheers,
Michael
Hi, we have recently updated to ProGet version 2025.4
using Postgresql and we are getting the following error on each package upload with pgutil using either an API key or username and password:
Unhandled exception processing https://proget.reeltimegaming.com/api/packages/rtgx-x64/upload
Npgsql.PostgresException (0x80004005): 22001: value too long for type character varying(20)
at Npgsql.Internal.NpgsqlConnector.ReadMessageLong(Boolean async, DataRowLoadingMode dataRowLoadingMode, Boolean readingNotifications, Boolean isReadingPrependedMessage)
at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.StateMachineBox`1.System.Threading.Tasks.Sources.IValueTaskSource<TResult>.GetResult(Int16 token)
at Npgsql.NpgsqlDataReader.NextResult(Boolean async, Boolean isConsuming, CancellationToken cancellationToken)
at Npgsql.NpgsqlDataReader.NextResult(Boolean async, Boolean isConsuming, CancellationToken cancellationToken)
at Npgsql.NpgsqlCommand.ExecuteReader(Boolean async, CommandBehavior behavior, CancellationToken cancellationToken)
at Npgsql.NpgsqlCommand.ExecuteReader(Boolean async, CommandBehavior behavior, CancellationToken cancellationToken)
at Inedo.ProGet.Data.PostgresDatabaseContext.PostgresCommand.ExecuteReaderAsync(CancellationToken cancellationToken)
at Inedo.Data.DatabaseContext.DbResult.CreateAsync(IGenericDbCommand command, DatabaseContext context, DateTimeOffset startTime, Stopwatch stopwatch)
at Inedo.Data.DatabaseContext.ExecuteInternalAsync(String storedProcName, GenericDbParameter[] parameters, DatabaseCommandReturnType returnType)
at Inedo.Data.DatabaseContext.ExecuteNonQueryAsync(String storedProcName, GenericDbParameter[] parameters)
at Inedo.Web.Handlers.Api.ApiKeySecuredHandler.LogApiAccess(AhHttpRequest request, Byte[] responseBody, WrappedApiKey apiKey, Int32 responseCode, Boolean doNotLogRequest)
at Inedo.Web.Handlers.Api.ApiKeySecuredHandler.ProcessRequestInternalAsync(AhHttpContext context)
at Inedo.Web.Handlers.Api.StandardApiHandler.ProcessRequestAsync(AhHttpContext context)
Exception data:
Severity: ERROR
SqlState: 22001
MessageText: value too long for type character varying(20)
Where: SQL statement "INSERT INTO "ApiKeyAccessLogs"
(
"ApiKey_Text",
"Request_Date",
"Request_Url",
"Request_Method",
"Request_Ip_Address",
"Request_Body",
"Response_StatusCode",
"Response_Body"
)
VALUES
(
"@ApiKey_Text",
"@Request_Date",
"@Request_Url",
"@Request_Method",
"@Request_Ip_Address",
"@Request_Body",
"@Response_StatusCode",
"@Response_Body"
)"
PL/pgSQL function "ApiKeys_LogRequest"(character varying,timestamp with time zone,text,character varying,character varying,integer,bytea,bytea) line 12 at SQL statement
File: varchar.c
Line: 640
Routine: varchar
:: Error on 18/07/2025 10:11:45 AM::
The upload was done using the pgutil packages upload
command. We tried both pgutil v2.1.11
and v2.1.12
using API keys as well as trying username and password.
I have not tried uploading using a http request with credentials.
System info:
Web UI Version: 2025.4 (Build 6)
Database Schema Version: 25.0.4.6
SQL Server Version: PostgreSQL 17.5 on x86_64-windows, compiled by msvc-19.43.34808, 64-bit
I found this other post on the forum with a linked PG issue which seems like a similar error for a different table in the Postgresql database schema.
Thanks,
Michael