2023.4
Data de lançamento: 26 de abril de 2023
Agora, oferecemos um local central para gerenciar as tags que você usa em nossos serviços. A página apropriadamente chamadas Tags está disponível na seção Administração de sua organização, no nível do tenant. Ela permite que você adicione, edite e remova tags de um único local, eliminando a necessidade de acessar repetidamente objetos individuais para fins de marcação com tags.
Agora, você pode se beneficiar de uma camada extra de eficiência ao solucionar problemas de trabalhos. Isso se deve a nossa nova funcionalidade gravação de vídeo, que está disponível no nível do processo para todas os execuções Unattended (atualmente disponível apenas como visualização).
You can choose to either record all jobs or only those that are failed, and you have access to these recordings for up to 7 days.
O lançamento desse recurso traz uma mudança na opção de captura de tela existente: agora está disponível para todos os usuários, não apenas para os do plano Enterprise .
A depuração remota de execuções de trabalho agora é mais amigável com a ajuda de nossa nova solução completa: transmissão ao vivo e controle remoto. Isso permite que você observe uma execução autônoma enquanto ela está acontecendo e, se surgirem problemas e for necessária uma depuração, assumir o controle remoto da execução e tentar corrigi-la.
Esse novo recurso ajuda a economizar tempo na identificação e resolução de problemas e reduz o número de intervenções manuais necessárias para depurar e desbloquear processos de automação não atendidos.
Em outubro de 2021, anunciamos a suspensão de uso das pastas clássicas.
Em abril de 2022, anunciamos sua remoção.
Em outubro de 2022, lançamos um assistente que auxilia na migração de objetos de pastas clássicas para pastas modernas, mantendo as estruturas e hierarquias existentes.
Agora, continuamos esse processo desabilitando execuções em pastas clássicas, juntamente com algumas outras alterações. Portanto, é mais importante do que nunca que você migre suas pastas clássicas para pastas modernas, de modo a garantir um serviço ininterrupto.
-orchestratorUrl
obrigatório foi adicionado ao script MigrateTo-ResourceCatalog.ps1
.
MigrateTo-ResourceCatalog.ps1
agora deve ser executado ao atualizar o Orchestrator e o serviço Catálogo de recursos.
Os administradores agora podem configurar permissões refinadas para tenants ou pastas para aplicativos externos, atribuindo-as a pastas ou tenants no Orchestrator. Um app externo obtém as permissões necessárias para executar operações específicas em uma pasta ou tenant por meio de uma ou mais funções.
O aplicativo obtém a união de todos os escopos definidos para ele no nível da organização e no Orchestrator. Excluir qualquer um desses escopos deixa o aplicativo com níveis de acesso de acordo com o escopo restante.
Você também pode usar grupos para simplificar o gerenciamento de apps externos, já que os grupos permitem que você gerencie em conjunto objetos com necessidades semelhantes.
Lançamos duas novas opções, que concedem aos administradores do Orchestrator controle sobre a interrupção da exploração de espaços de trabalho pessoais:
-
Parar automaticamente a exploração de espaços de trabalho pessoais após - O processo de exploração de espaços de trabalho pessoais agora pode ser interrompido automaticamente após um período de tempo configurável.
-
Parar todas as sessões ativas para explorar Espaços de trabalho pessoais - Todas as sessões de exploração atualmente ativas podem ser interrompidas.
Ambas as opções estão disponíveis por meio das configurações do inquilino (guiaGeral > seção Espaços de trabalho pessoais ).
Agora você pode armazenar suas credenciais do Orchestrator no AWS Secrets Manager. Para obter detalhes sobre o armazenamento de Credential recém-adicionado, consulte Integração do AWS Secrets Manager.
Agora, você pode adicionar uma camada extra de segurança a seus armazenamentos de credenciais já seguros. Para esse fim, criamos o Orchestrator Credentials Proxy, que permite que você evite a criação de uma conexão direta entre o Orchestrator e o armazenamento de credenciais de sua escolha e, em vez disso, conecte-os por meio de um proxy.
Features.CredentialStoreHost.Enabled
no arquivo UiPath.Orchestrator.dll.config
, que é false
por padrão.
Plugins.SecureStores.CyberArkCCP.KeyStorageFlags
foi adicionado ao arquivo de configuração do Orchestrator, permitindo que você escolha onde armazenar e como importar a chave privada do certificado do cliente configurada para um armazenamento de credenciais do CyberArk CCP. Isso ajuda a evitar quaisquer restrições ou problemas de leitura/gravação relacionados a direitos de acesso.
Os aplicativos usados pelos pacotes do Studio agora são recuperados pelo Orchestrator. Portanto, você pode vê-los listados nos seguintes locais:
-
Na seção Aplicativos da janela do processo do pacote subjacente.
-
Na janela Mostrar notas de versão para cada versão do pacote.
We have switched to a new date and time formatting library, aiming to provide more unity around formats across locales. While this change has no impact on your experience whatsoever, you might notice the following improvements as compared to our previous library:
-
Date and time formats are now consistent across all locales, i.e. the same digit/letter combination is used throughout. For example, the English
2/24/2023, 4:48:25 PM
is displayed as2023/2/24 16:48:25
in Japanese, whereas you would see2022年7月5日 09時20分37秒
before this change. -
The elapsed time in seconds is now displayed as a precise number rather than an estimate, i.e.
10 seconds ago
instead ofa few seconds ago
.
Adaptamos o Orchestrator para identificar as atividades de acionamento do evento como requisitos de pacote no momento da criação do processo. Associe-as a uma conexão do Integration Service e faça configurações adicionais para atender às suas necessidades de negócios, tudo para o bem das automações acionadas.
Organize o Orchestrator e defina uma política de retenção que exclua permanentemente itens de fila antigos ou os mova para um armazenamento designado. Se você precisar de mais tempo para decidir, também há a opção de manter os dados de seus itens de fila indefinidamente em seu banco de dados, que é a política aplicada padrão. Ao fazê-lo, você libera o banco de dados de forma organizada, e seu Orchestrator funciona melhor.
Descubra as dicas e truques da política de retenção em nossa página de documentação.
Melhoramos a maneira como você pode testar os Automation Suite Robots. Introduzimos a possibilidade de escolher entre sua licença Production (Unattended) e sua licença Testing para executar trabalhos Unattended. Exatamente como antes, você pode continuar a usar sua licença Production (Unattended) para executar processos Unattended em ambientes de produção. O que mudou é que a licença Testing agora permite que você execute conjuntos de testes e casos de teste, ao mesmo tempo em que permite que você execute processos Unattended.
Basta alocar a licença desejada em um modelo de máquina do Automation Suite Robot no Orchestrator. Basta ter em mente que o número de licenças alocadas determina o número de trabalhos que o back-end pode executar em paralelo.
Perguntando-se como isso se reflete na interface do usuário do Orchestrator? Primeiro, você verá que os detalhes de runtime são exibidos tanto para produção quanto testes ao configurar sua máquina. Segundo, ao executar automações, agora você precisa especificar se deseja usar Production (Unattended) ou Testing como uma licença de runtime.
Detalhes adicionais dos Automation Suite Robots
Os trabalhos e as execuções de casos de teste dos Automation Suite Robots agora fornecem detalhes sobre o tamanho dos Robots.
Nada mais impede você de interagir com o Orchestrator, nem mesmo a exportação de grades! A exportação de grades agora ocorre em segundo plano e, por isso, ela não impede mais que você use o Orchestrator até que a exportação acabe. Otimizamos a experiência e informamos a você em tempo real sobre o resultado bem-sucedido da exportação. Além disso, você pode encontrar todas as suas exportações centralizadas na nova página Meus relatórios.
Saiba mais sobre como exportar grades em segundo plano.
Novos alertas para operações de exportação
Com grandes exportações, vêm grandes responsabilidades. Portanto, um novo alerta informa a você sobre o resultado de uma exportação. Se a exportação que você iniciou tiver sido bem-sucedida, o alerta registrará em log a exportação com a gravidade Info, enquanto que, para exportações malsucedidas, o alerta registrará em log como Erro. Navegar até a origem do alerta clicando no link Consulte mais no email de alerta redireciona você para a página Meus relatórios, destacando a exportação com falha exata. Você receberá esse novo alerta em seus emails de alerta padrão, mas você pode cancelar sua inscrição se eles se tornarem inconvenientes.
UiPath.ConfigProtector.exe
agora pode ser usada para criptografar e descriptografar informações confidenciais do Serviço de Catálogo de Recursos.
Consulte a seção dedicada para obter instruções detalhadas.
Esta melhoria traz algumas atualizações adicionais:
-
A ferramenta
UiPath.ConfigProtector.exe
foi atualizada para ASP.NET Core 6.0. -
Dois novos parâmetros foram adicionados:
-
--signing-settings
- permite adicionar uma seção de configuração de sua escolha às configurações da ferramenta. -
--keys
/k
- permite criptografar/descriptografar chaves que não são codificadas.
-
Consulte a tabela Comandos para obter detalhes sobre os novos parâmetros.
-
Identifique seus webhooks mais rapidamente!Adicionamos os campos Nome (obrigatório) e Descrição (opcional) aos fluxos criar e editar webhooks na interface do usuário. Os webhooks existentes recebem um nome com base em seu GUID, como
Webhook-c42b72b1-17fb-4643-ab9c-1bd2102f0ff6
.Esses parâmetros também estão disponíveis na API, além de um parâmetro Key obrigatório, com as seguintes menções:
-
O parâmetro Name será opcional até o quarto trimestre de 2023 lançamento local. Após a 2023.4, você será obrigado a fornecer um nome para webhooks criados por meio do ponto de extremidade
odata/Webhooks
do POST. -
O parâmetro Key obrigatório é um identificador exclusivo do webhook em nosso sistema e, portanto, ele não pode ser alterado.
-
Se você não fornecer um nome para seu webhook usando o método POST, um nome será gerado automaticamente para ele, acrescentando o valor de Key a
Webhook
.Leia mais detalhes em nossa documentação.
-
-
Eventos de webhook para tarefas e itens de fila agora incluem mais propriedades:
-
SpecificPriorityValue para eventos de trabalho
-
ProcessingExceptionTimestamp e CreatorUserId para eventos de itens de fila
-
Trabalhos
-
A janela Detalhes do trabalho agora inclui o campo Versão do pacote, que indica qual versão de um pacote foi usada para executar o trabalho.
-
Adicionamos duas novas colunas de tempo à grade Trabalhos, exibindo o tempo relativo ou absoluto de quando um trabalho foi criado. Certifique-se de selecionar essas colunas no filtro Colunas, já que elas não são visíveis por padrão.
-
Agora, você pode começar um trabalho em vários pares de conta-máquina. Para fazê-lo, basta habilitar a opção Selecionar mapeamentos conta-máquina válidos na página Iniciar trabalho e clicar em Adicionar mapeamento conta-máquina. Após você adicionar os pares desejados, um trabalho Pendente será criado para cada um deles.
Alertas
Acessar um alerta a partir do menu suspenso Alerta o marca automaticamente como lido e, ao mesmo tempo, redireciona você para a origem do alerta.
Interface do usuário
-
O menu Mais ações de várias páginas do Automation foi reprojetado para agrupar ações semelhantes. Além disso, renomeamos os rótulos de Visualizar logs e Visualizar todos os logs para esse processo para Visualizar logs desse trabalho e Visualizar logs de todos os trabalhos para esse processo, respectivamente.
-
Adicionamos duas novas colunas de tempo à grade Trabalhos, exibindo o tempo relativo ou absoluto de quando um trabalho foi criado. Certifique-se de selecionar essas colunas no filtro Colunas, já que elas não são visíveis por padrão.
-
Mensagens de erro pertencentes a verificações de políticas do AWS Secrets Manager agora incluem mais detalhes.
Segurança
Os parâmetros que você insere como parte das operações do Orchestrator não são mais salvos em nosso banco de dados. Isso elimina o risco de acesso a informações confidenciais por meio de auditoria e, dessa forma, melhora a segurança de seus dados.
Aplicativo
-
A versão do Orchestrator agora está visível ao iniciar/reiniciar o aplicativo nos logs do Visualizador de Eventos para o Orchestrator independente e em logs de contêineres do Docker para o Automation Suite Orchestrator.
Gatilhos
Removemos a restrição para criar apenas calendários de dias não úteis em gatilhos de tempo que tinham o mesmo fuso horário do locatário ao qual pertencem. De agora em diante, qualquer calendário adicionado a um acionador é interpretado como alinhado ao fuso horário do acionador.
Atualizações
-
Os inquilinos excluídos agora são ignorados pela operação que atualiza os status dos itens da fila. Isso evita cenários em que as transições de itens de fila podem ser bloqueadas quando um inquilino sem feed é detectado.
-
Quando não houver nenhuma política de atualização configurada no Orchestrator (ou seja, o módulo de atualização está desabilitado), o servidor não solicitará a realização de mais nenhuma atualização do Studio ou do Robot, mesmo que o módulo esteja habilitado nesses serviços.
A opção Criar para a permissão Mídia de execução agora está habilitada por padrão dentro da função Automation User no nível do tenant.
Logs
Sabemos que os logs são a peça central da depuração e identificação de comportamentos defeituosos. Essa funcionalidade aprimorada do Orchestrator permite que você acesse os logs em todas as execuções de trabalho de um determinado processo. Veja como em nossa documentação.
-
Uma resposta
400 Bad Request
com o código de erroInvalidTimeZoneId = 1614
agora é retornada quando o agendamento de um processo criado pela API inclui uma ID de fuso horário inválida. -
Agora, você pode carregar o pacote de um processo de um feed externo por meio do ponto de extremidade
/odata/Processes/UiPath.Server.Configuration.OData.SetArguments
. Basta certificar-se de que os argumentos exibidos na página Processos e os no pacote sejam iguais, já que o Orchestrator não realiza nenhuma validação em pacotes do feed externo. -
Agora, você pode atribuir escopos de licenciamento a aplicativos externos. Encontre os escopos recém-adicionados na lista de recursos Acesso à API de gerenciamento da plataforma.
-
A URL do Automation Hub agora é retornada por meio de chamadas para o ponto de extremidade
/odata/Processes
.
- Se a integração do SAML no nível do host estivesse configurada para usar uma estratégia de mapeamento de usuários externos com o nome de usuário ou a chave do provedor esterno, os usuários que pertencessem a mais de organização não poderiam fazer login.
- A página Configuração do SAML SSO exibia uma URL do serviço de confirmação do cliente incorreta. Como uma solução alternativa, você tinha que configurar manualmente a URL do serviço de confirmação do cliente no IDP sem a ID da partição. A URL do serviço de confirmação do cliente agora é exibida corretamente, e a solução alternativa manual não é mais necessária. Ao atualizar para a 2023.4+, será necessário atualizar a URL do serviço de confirmação do cliente para incluir a ID da partição.
- Quando você carregou um novo logotipo personalizado, a funcionalidade de visualização não funcionava mais. Agora, você pode visualizar o novo logotipo no cabeçalho, exatamente como antes.
- Corrigimos um problema que fazia com que a senha usada para se conectar a um provedor de bucket de armazenamento fosse armazenada no banco de dados. Isso ocorria ao criar ou editar um bucket de armazenamento. A senha podia ser recuperada por um administrador de SQL com acesso de leitura ao banco de dados ou por qualquer pessoa com permissão para Visualizar a Auditoria pela API.
Use esse script para limpar quaisquer senhas exibidas nos logs existentes. O script pode ser executado antes de atualizar para essa versão.
DECLARE @serverVersion INT SET @serverVersion = ISNULL(CAST(COALESCE(SERVERPROPERTY('ProductMajorVersion'),PARSENAME(CAST(SERVERPROPERTY('productversion') AS varchar(20)), 4)) as INT),0) IF NOT EXISTS (SELECT 1 from [dbo].[Settings] WHERE [Name] = 'Migration.AuditCleanup.Buckets' AND [TenantId] IS NULL) BEGIN IF @serverVersion >= 13 -- SQL Server 2016 -- Remove just the password if json functions are supported EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogs] SET [Parameters] = JSON_MODIFY([Parameters], ''$.bucketDto.Password'', NULL) WHERE [TenantId] IN (SELECT DISTINCT TenantId FROM [dbo].[Buckets] WHERE [StorageProvider] IN (''Amazon'',''Azure'',''Minio'',''S3Compatible'')) AND [ServiceName] = ''UiPath.Orchestrator.Web.Api.OData.Controllers.BucketsController'' AND CHARINDEX(''Password'', [Parameters]) > 0 AND NULLIF(JSON_VALUE([Parameters], ''$.bucketDto.Password''), '''') IS NOT NULL' ELSE -- Remove all parameters if json functions are not supported EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogs] SET [Parameters] = '''' WHERE [TenantId] IN (SELECT DISTINCT TenantId FROM [dbo].[Buckets] WHERE [StorageProvider] IN (''Amazon'',''Azure'',''Minio'',''S3Compatible'')) AND [ServiceName] = ''UiPath.Orchestrator.Web.Api.OData.Controllers.BucketsController'' AND CHARINDEX(''Password'', [Parameters]) > 0' INSERT INTO [dbo].[Settings] ([TenantId],[UserId],[Name],[Value],[CreationTime]) VALUES (null,null,'Migration.AuditCleanup.Buckets','true',GETUTCDATE()) END IF NOT EXISTS (SELECT 1 from [dbo].[Settings] WHERE [Name] = 'Migration.AuditCleanup.CredentialStores' AND [TenantId] IS NULL) BEGIN IF @serverVersion >= 13 -- SQL Server 2016 -- Remove just the password if json functions are supported EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogs] SET [Parameters] = JSON_MODIFY([Parameters], ''$.credentialStoreDto.AdditionalConfiguration'', NULL) WHERE [TenantId] IN (SELECT DISTINCT TenantId FROM [dbo].[CredentialStores] WHERE [Type] <> ''Database'') AND [ServiceName] = ''UiPath.Orchestrator.Web.Api.OData.Controllers.CredentialStoresController'' AND CHARINDEX(''AdditionalConfiguration'', [Parameters]) > 0 AND ISJSON([Parameters]) = 1 AND NULLIF(JSON_VALUE([Parameters], ''$.credentialStoreDto.AdditionalConfiguration''), '''') IS NOT NULL -- Some records are truncated, so not valid JSON UPDATE [dbo].[AuditLogs] SET [Parameters] = '''' WHERE [TenantId] IN (SELECT DISTINCT TenantId FROM [dbo].[CredentialStores] WHERE [Type] <> ''Database'') AND [ServiceName] = ''UiPath.Orchestrator.Web.Api.OData.Controllers.CredentialStoresController'' AND CHARINDEX(''AdditionalConfiguration'', [Parameters]) > 0 AND ISJSON([Parameters]) = 0' ELSE -- Remove all parameters if json functions are not supported EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogs] SET [Parameters] = '''' WHERE [TenantId] IN (SELECT DISTINCT TenantId FROM [dbo].[CredentialStores] WHERE [Type] <> ''Database'') AND [ServiceName] = ''UiPath.Orchestrator.Web.Api.OData.Controllers.CredentialStoresController'' AND CHARINDEX(''AdditionalConfiguration'', [Parameters]) > 0' INSERT INTO [dbo].[Settings] ([TenantId],[UserId],[Name],[Value],[CreationTime]) VALUES (null,null,'Migration.AuditCleanup.CredentialStores','true',GETUTCDATE()) END IF NOT EXISTS (SELECT 1 from [dbo].[Settings] WHERE [Name] = 'Migration.AuditCleanup.PackageFeedApiKey' AND [TenantId] IS NULL) BEGIN IF @serverVersion >= 13 -- SQL Server 2016 -- Remove just the password if json functions are supported EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogEntities] SET [CustomData] = JSON_MODIFY([CustomData], ''$.ApiKey'', NULL) WHERE [EntityId] IS NULL AND [EntityName] = ''UiPackageFeed'' AND CHARINDEX(''ApiKey'', [CustomData]) > 0 AND JSON_VALUE([CustomData], ''$.ApiKey'') IS NOT NULL' ELSE -- Remove just the password if json functions are supported EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogEntities] SET [CustomData] = '''' WHERE [EntityId] IS NULL AND [EntityName] = ''UiPackageFeed'' AND CHARINDEX(''ApiKey'', [CustomData]) > 0' INSERT INTO [dbo].[Settings] ([TenantId],[UserId],[Name],[Value],[CreationTime]) VALUES (null,null,'Migration.AuditCleanup.PackageFeedApiKey','true',GETUTCDATE()) END IF NOT EXISTS (SELECT 1 from [dbo].[Settings] WHERE [Name] = 'Migration.AuditCleanup.PackageFeedBasicPassword' AND [TenantId] IS NULL) BEGIN IF @serverVersion >= 13 -- SQL Server 2016 -- Remove just the password if json functions are supported EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogEntities] SET [CustomData] = JSON_MODIFY([CustomData], ''$.BasicPassword'', NULL) WHERE [EntityId] IS NULL AND [EntityName] = ''UiPackageFeed'' AND CHARINDEX(''BasicPassword'', [CustomData]) > 0 AND JSON_VALUE([CustomData], ''$.BasicPassword'') IS NOT NULL' ELSE -- Remove just the password if json functions are supported EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogEntities] SET [CustomData] = '''' WHERE [EntityId] IS NULL AND [EntityName] = ''UiPackageFeed'' AND CHARINDEX(''BasicPassword'', [CustomData]) > 0' INSERT INTO [dbo].[Settings] ([TenantId],[UserId],[Name],[Value],[CreationTime]) VALUES (null,null,'Migration.AuditCleanup.PackageFeedBasicPassword','true',GETUTCDATE()) END IF NOT EXISTS (SELECT 1 from [dbo].[Settings] WHERE [Name] = 'Migration.AuditCleanup.LicenseKey' AND [TenantId] IS NULL) BEGIN IF @serverVersion >= 13 -- SQL Server 2016 EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogs] SET [Parameters] = JSON_MODIFY([Parameters], ''$.licenseKey'', NULL) WHERE [ServiceName] = ''UiPath.Orchestrator.Web.Api.OData.Controllers.SettingsController'' AND CHARINDEX(''licenseKey'', [Parameters]) > 0 AND ISJSON([Parameters]) = 1 AND JSON_VALUE([Parameters], ''$.licenseKey'') IS NOT NULL UPDATE [dbo].[AuditLogs] SET [Parameters] = '''' WHERE [ServiceName] = ''UiPath.Orchestrator.Web.Api.OData.Controllers.SettingsController'' AND CHARINDEX(''licenseKey'', [Parameters]) > 0 AND ISJSON([Parameters]) = 0' ELSE EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogs] SET [Parameters] = '''' WHERE [ServiceName] = ''UiPath.Orchestrator.Web.Api.OData.Controllers.SettingsController'' AND CHARINDEX(''licenseKey'', [Parameters]) > 0' INSERT INTO [dbo].[Settings] ([TenantId],[UserId],[Name],[Value],[CreationTime]) VALUES (null,null,'Migration.AuditCleanup.LicenseKey','true',GETUTCDATE()) END
DECLARE @serverVersion INT SET @serverVersion = ISNULL(CAST(COALESCE(SERVERPROPERTY('ProductMajorVersion'),PARSENAME(CAST(SERVERPROPERTY('productversion') AS varchar(20)), 4)) as INT),0) IF NOT EXISTS (SELECT 1 from [dbo].[Settings] WHERE [Name] = 'Migration.AuditCleanup.Buckets' AND [TenantId] IS NULL) BEGIN IF @serverVersion >= 13 -- SQL Server 2016 -- Remove just the password if json functions are supported EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogs] SET [Parameters] = JSON_MODIFY([Parameters], ''$.bucketDto.Password'', NULL) WHERE [TenantId] IN (SELECT DISTINCT TenantId FROM [dbo].[Buckets] WHERE [StorageProvider] IN (''Amazon'',''Azure'',''Minio'',''S3Compatible'')) AND [ServiceName] = ''UiPath.Orchestrator.Web.Api.OData.Controllers.BucketsController'' AND CHARINDEX(''Password'', [Parameters]) > 0 AND NULLIF(JSON_VALUE([Parameters], ''$.bucketDto.Password''), '''') IS NOT NULL' ELSE -- Remove all parameters if json functions are not supported EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogs] SET [Parameters] = '''' WHERE [TenantId] IN (SELECT DISTINCT TenantId FROM [dbo].[Buckets] WHERE [StorageProvider] IN (''Amazon'',''Azure'',''Minio'',''S3Compatible'')) AND [ServiceName] = ''UiPath.Orchestrator.Web.Api.OData.Controllers.BucketsController'' AND CHARINDEX(''Password'', [Parameters]) > 0' INSERT INTO [dbo].[Settings] ([TenantId],[UserId],[Name],[Value],[CreationTime]) VALUES (null,null,'Migration.AuditCleanup.Buckets','true',GETUTCDATE()) END IF NOT EXISTS (SELECT 1 from [dbo].[Settings] WHERE [Name] = 'Migration.AuditCleanup.CredentialStores' AND [TenantId] IS NULL) BEGIN IF @serverVersion >= 13 -- SQL Server 2016 -- Remove just the password if json functions are supported EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogs] SET [Parameters] = JSON_MODIFY([Parameters], ''$.credentialStoreDto.AdditionalConfiguration'', NULL) WHERE [TenantId] IN (SELECT DISTINCT TenantId FROM [dbo].[CredentialStores] WHERE [Type] <> ''Database'') AND [ServiceName] = ''UiPath.Orchestrator.Web.Api.OData.Controllers.CredentialStoresController'' AND CHARINDEX(''AdditionalConfiguration'', [Parameters]) > 0 AND ISJSON([Parameters]) = 1 AND NULLIF(JSON_VALUE([Parameters], ''$.credentialStoreDto.AdditionalConfiguration''), '''') IS NOT NULL -- Some records are truncated, so not valid JSON UPDATE [dbo].[AuditLogs] SET [Parameters] = '''' WHERE [TenantId] IN (SELECT DISTINCT TenantId FROM [dbo].[CredentialStores] WHERE [Type] <> ''Database'') AND [ServiceName] = ''UiPath.Orchestrator.Web.Api.OData.Controllers.CredentialStoresController'' AND CHARINDEX(''AdditionalConfiguration'', [Parameters]) > 0 AND ISJSON([Parameters]) = 0' ELSE -- Remove all parameters if json functions are not supported EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogs] SET [Parameters] = '''' WHERE [TenantId] IN (SELECT DISTINCT TenantId FROM [dbo].[CredentialStores] WHERE [Type] <> ''Database'') AND [ServiceName] = ''UiPath.Orchestrator.Web.Api.OData.Controllers.CredentialStoresController'' AND CHARINDEX(''AdditionalConfiguration'', [Parameters]) > 0' INSERT INTO [dbo].[Settings] ([TenantId],[UserId],[Name],[Value],[CreationTime]) VALUES (null,null,'Migration.AuditCleanup.CredentialStores','true',GETUTCDATE()) END IF NOT EXISTS (SELECT 1 from [dbo].[Settings] WHERE [Name] = 'Migration.AuditCleanup.PackageFeedApiKey' AND [TenantId] IS NULL) BEGIN IF @serverVersion >= 13 -- SQL Server 2016 -- Remove just the password if json functions are supported EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogEntities] SET [CustomData] = JSON_MODIFY([CustomData], ''$.ApiKey'', NULL) WHERE [EntityId] IS NULL AND [EntityName] = ''UiPackageFeed'' AND CHARINDEX(''ApiKey'', [CustomData]) > 0 AND JSON_VALUE([CustomData], ''$.ApiKey'') IS NOT NULL' ELSE -- Remove just the password if json functions are supported EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogEntities] SET [CustomData] = '''' WHERE [EntityId] IS NULL AND [EntityName] = ''UiPackageFeed'' AND CHARINDEX(''ApiKey'', [CustomData]) > 0' INSERT INTO [dbo].[Settings] ([TenantId],[UserId],[Name],[Value],[CreationTime]) VALUES (null,null,'Migration.AuditCleanup.PackageFeedApiKey','true',GETUTCDATE()) END IF NOT EXISTS (SELECT 1 from [dbo].[Settings] WHERE [Name] = 'Migration.AuditCleanup.PackageFeedBasicPassword' AND [TenantId] IS NULL) BEGIN IF @serverVersion >= 13 -- SQL Server 2016 -- Remove just the password if json functions are supported EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogEntities] SET [CustomData] = JSON_MODIFY([CustomData], ''$.BasicPassword'', NULL) WHERE [EntityId] IS NULL AND [EntityName] = ''UiPackageFeed'' AND CHARINDEX(''BasicPassword'', [CustomData]) > 0 AND JSON_VALUE([CustomData], ''$.BasicPassword'') IS NOT NULL' ELSE -- Remove just the password if json functions are supported EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogEntities] SET [CustomData] = '''' WHERE [EntityId] IS NULL AND [EntityName] = ''UiPackageFeed'' AND CHARINDEX(''BasicPassword'', [CustomData]) > 0' INSERT INTO [dbo].[Settings] ([TenantId],[UserId],[Name],[Value],[CreationTime]) VALUES (null,null,'Migration.AuditCleanup.PackageFeedBasicPassword','true',GETUTCDATE()) END IF NOT EXISTS (SELECT 1 from [dbo].[Settings] WHERE [Name] = 'Migration.AuditCleanup.LicenseKey' AND [TenantId] IS NULL) BEGIN IF @serverVersion >= 13 -- SQL Server 2016 EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogs] SET [Parameters] = JSON_MODIFY([Parameters], ''$.licenseKey'', NULL) WHERE [ServiceName] = ''UiPath.Orchestrator.Web.Api.OData.Controllers.SettingsController'' AND CHARINDEX(''licenseKey'', [Parameters]) > 0 AND ISJSON([Parameters]) = 1 AND JSON_VALUE([Parameters], ''$.licenseKey'') IS NOT NULL UPDATE [dbo].[AuditLogs] SET [Parameters] = '''' WHERE [ServiceName] = ''UiPath.Orchestrator.Web.Api.OData.Controllers.SettingsController'' AND CHARINDEX(''licenseKey'', [Parameters]) > 0 AND ISJSON([Parameters]) = 0' ELSE EXECUTE sp_executesql N' UPDATE [dbo].[AuditLogs] SET [Parameters] = '''' WHERE [ServiceName] = ''UiPath.Orchestrator.Web.Api.OData.Controllers.SettingsController'' AND CHARINDEX(''licenseKey'', [Parameters]) > 0' INSERT INTO [dbo].[Settings] ([TenantId],[UserId],[Name],[Value],[CreationTime]) VALUES (null,null,'Migration.AuditCleanup.LicenseKey','true',GETUTCDATE()) END - A utilização da versão mais recente do BeyondTrust Server ou a atualização para ela às vezes causava problemas de integração. Agora, tudo funciona como esperado.
- O balanceamento de carga e o SignalR às vezes causavam problemas de desempenho. Eles agora foram corrigidos.
- Ao excluir uma máquina atribuída a uma pasta, a tarefa era mantida, e a máquina ainda era exibida dentro dessa pasta. Isso não ocorre mais.
- Após a migração, os mapeamentos conta-máquina às vezes não eram gerados, impossibilitando a execução de trabalhos. Este não é mais o caso.
- Corrigimos um impasse que estava impedindo que novos trabalhos fossem criados em pastas clássicas ao usar Robots específicos.
- Melhoramos a segurança de nosso sistema restringindo a exposição de informações internas desnecessárias em determinadas respostas de erros.
- Ao alterar o nome de um gatilho, a página Pesquisar no tenant ainda exibia seu nome anterior. Agora, o nome atualizado do gatilho é listado nos resultados da pesquisa.
- Corrigimos um problema que fazia com que as senhas dos armazenamentos de credenciais fossem armazenadas no banco de dados. As senhas podiam ser recuperadas por um administrador de SQL com acesso de leitura ao banco de dados ou por qualquer pessoa com permissão para Visualizar a Auditoria pela API.
- Os carimbos de data/horário exibidos para trabalhos nos logs do banco de dados do Orchestrator estavam incorretos.
- Quando você exportava uma função de pasta, as permissões de nível de locatário dessa função também eram exportadas. Este problema foi corrigido.
- A edição de uma data de adiamento para um item de fila usou o valor UTC em vez do valor do fuso horário do locatário.
- Arquivos de buckets de armazenamento eram excluídos incorretamente devido a um problema relacionado à exclusão de pastas. Especificamente, ao desvincular um bucket de armazenamento de uma pasta e, em seguida, excluir essa pasta, os arquivos incluídos no bucket de armazenamento desvinculado também eram excluídos. O mesmo ocorria ao excluir a pasta sem primeiro desvincular o bucket de armazenamento. Isso acontecia apesar de o bucket de armazenamento ainda estar vinculado a outras pastas.
- Ao habilitar os mapeamentos conta-máquina e iniciar um trabalho com a opção Alocar dinamicamente definida com o número de Robots disponíveis, pelo menos um trabalho permanecia em um estado Pendente. Agora, todos os trabalhos são executados corretamente por todos os Robots disponíveis para recuperá-los.
- As execuções não eram adequadamente atribuídas aos Robots disponíveis. Isso acontecia quando um grande número de Robots era chamado para o mesmo modelo e era atribuído ao mesmo trabalho.
- Os domínios do Active Directory são carregados mais rapidamente agora. Isso se deve ao cache e ao valor de expiração do cache configurável do método
GetTrustedDomainNames
. - A edição de uma data de adiamento para um item da fila usava o valor de UTC em vez do valor do fuso horário dos tenants.
- Solicitações para obter arquivos do bucket de armazenamento que tenham a extensão .svg,.js, .css, .ttf, .woff, .woff2 ou .map falhavam se a extensão estivesse no final da solicitação.
- Quando um usuário tentava acessar o Orchestrator usando uma URL recebida de outro usuário, e a URL recebida incluía dados específicos do usuário, uma página em branco era exibida, e o usuário não conseguia acessar o Orchestrator. Agora, nesses casos, os usuários são redirecionados para a página de login.
- A versão do processo incluída na janela Detalhes do trabalho estava incorreta, exibindo a versão mais recente carregada no Orchestrator. Agora, o campo Process Version renderiza corretamente a versão usada para executar o trabalho.
- A filtragem por identidade do host nas páginas Trabalhos e Logs não funcionava corretamente para trabalhos executados por meio de contas sem credenciais. Ao executar trabalhos em máquinas do Windows, a coluna Identidade do host era preenchida com a identidade real dos Robots (domínio\nome de usuário); entretanto, a filtragem por esse valor não retornava nenhum trabalho. Ao executar trabalhos em máquinas do Linux, os trabalhos eram executados na raiz, mas esse valor não estava disponível para filtragem.
- Os botões OK e Cancelar na janela Advertência da atualização não eram exibidos corretamente na versão japonesa do aplicativo. Agora, eles estão visíveis.
/api/UserPartition/users/{partitionGlobalId}
.
Adicionado em 24 de abril de 2023
Os gráficos Histórico de trabalhos e Transações na seção Visão geral da página Monitoramento às vezes não são exibidos corretamente ao usar o Mozilla Firefox. Se isso acontecer, a atualização do navegador deve resolver o problema.
Esse problema será corrigido em nossa próxima atualização cumulativa.
Adicionado em 28 de abril de 2023
Há uma desconexão entre as permissões de apps externos e o Identity Server, impedindo que você adicione apps externos a um tenant ou uma pasta.
identity-service
no ArgoCD:IdentityFeatureFlags__PublicApps__ApplicationDirectoryMembershipEnabled: 'true'
IdentityFeatureFlags__PublicApps__EnableDefaultScope: 'true'
IdentityFeatureFlags__PublicApps__ApplicationDirectoryMembershipEnabled: 'true'
IdentityFeatureFlags__PublicApps__EnableDefaultScope: 'true'
Após adicionar, basta salvar as alterações.
Esse problema será corrigido em nossa próxima atualização cumulativa.
Adicionado em 6 de novembro de 2023
Nas versões 2023.4.0 a 2023.4.2, se você tiver um ambiente integrado do Active Directory (AD), verá falhas esporádicas do produto que levavam ao reinício do pool de aplicativos do IIS. Esse problema foi corrigido na versão 2023.4.3, mas ainda afeta as versões acima mencionadas. Dessa forma, se você usar o AD, é altamente recomendável que você instale ou atualize diretamente para a 2023.4.3. Caso contrário, você encontrará problemas de funcionalidade.
Recomendamos que você verifique regularmente o cronograma de descontinuação para obter quaisquer atualizações relacionadas a funcionalidades que serão descontinuadas e removidas.
- Novidades
- Portal de gerenciamento de tags
- Gravação de trabalho de vídeo
- Transmissão ao vivo e controle remoto
- Restrição de pastas clássicas
- Alterações no script do Catálogo de recursos
- Permissões refinadas para apps externos
- Atualizações de exploração do espaço de trabalho pessoal
- Novo repositório de credenciais
- Custom credential hosts and stores
- Novo parâmetro de configuração
- Visualizando aplicativos do pacote Studio no Orchestrator
- New date formatting library
- Gatilhos de evento como requisitos de pacote
- Políticas de retenção para itens de fila
- Melhorias
- Testes de runtime para os Automation Suite Robots
- Exportando grades em segundo plano
- UiPath.ConfigProtector.exe tool and Resource Catalog Service
- Melhorias do Webhooks
- Melhorias de usabilidade
- Melhorias de funcionalidades por meio da API
- Correções de bugs
- Mudanças de impacto
- Coluna Último login
- Problemas conhecidos
- Monitorando problema na página
- Problema de permissões de apps externos
- Problema de identificação conhecido
- Cronograma de descontinuação