diff --git a/source/ProcessManager.Orchestrations/Extensions/DependencyInjection/ProcessManagerTopicExtensions.cs b/source/ProcessManager.Orchestrations/Extensions/DependencyInjection/ProcessManagerTopicExtensions.cs
new file mode 100644
index 0000000000..aa30801699
--- /dev/null
+++ b/source/ProcessManager.Orchestrations/Extensions/DependencyInjection/ProcessManagerTopicExtensions.cs
@@ -0,0 +1,34 @@
+// Copyright 2020 Energinet DataHub A/S
+//
+// Licensed under the Apache License, Version 2.0 (the "License2");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+using Energinet.DataHub.ProcessManager.Orchestrations.Extensions.Options;
+using Microsoft.Extensions.DependencyInjection;
+
+namespace Energinet.DataHub.ProcessManager.Orchestrations.Extensions.DependencyInjection;
+
+public static class ProcessManagerTopicExtensions
+{
+ ///
+ /// Add required dependencies to use the Process Manager Service Bus topic.
+ ///
+ public static IServiceCollection AddProcessManagerTopic(this IServiceCollection services)
+ {
+ services
+ .AddOptionsWithValidateOnStart()
+ .BindConfiguration(ProcessManagerTopicOptions.SectionName)
+ .ValidateDataAnnotations();
+
+ return services;
+ }
+}
diff --git a/source/ProcessManager.Orchestrations/Extensions/Options/ProcessManagerTopicOptions.cs b/source/ProcessManager.Orchestrations/Extensions/Options/ProcessManagerTopicOptions.cs
new file mode 100644
index 0000000000..f76fb4a7ab
--- /dev/null
+++ b/source/ProcessManager.Orchestrations/Extensions/Options/ProcessManagerTopicOptions.cs
@@ -0,0 +1,42 @@
+// Copyright 2020 Energinet DataHub A/S
+//
+// Licensed under the Apache License, Version 2.0 (the "License2");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+using System.ComponentModel.DataAnnotations;
+using Microsoft.Extensions.Configuration;
+
+namespace Energinet.DataHub.ProcessManager.Orchestrations.Extensions.Options;
+
+///
+/// Contains options required for the orchestrations app to connect to the
+/// ProcessManager Service Bus topic.
+///
+public class ProcessManagerTopicOptions
+{
+ ///
+ /// Name of the section in the / appsettings.json file
+ ///
+ public const string SectionName = "ProcessManagerTopic";
+
+ ///
+ /// Name of the ProcessManager Service Bus topic
+ ///
+ [Required]
+ public string TopicName { get; } = string.Empty;
+
+ ///
+ /// Name of the subscription for BRS026 to the ProcessManager Service Bus topic
+ ///
+ [Required]
+ public string Brs026SubscriptionName { get; } = string.Empty;
+}
diff --git a/source/ProcessManager.Orchestrations/Processes/BRS_026/V1/RequestCalculatedEnergyTimeSeriesTriggerV1.cs b/source/ProcessManager.Orchestrations/Processes/BRS_026/V1/RequestCalculatedEnergyTimeSeriesTriggerV1.cs
index a19b26cbcc..901fcb013a 100644
--- a/source/ProcessManager.Orchestrations/Processes/BRS_026/V1/RequestCalculatedEnergyTimeSeriesTriggerV1.cs
+++ b/source/ProcessManager.Orchestrations/Processes/BRS_026/V1/RequestCalculatedEnergyTimeSeriesTriggerV1.cs
@@ -15,6 +15,7 @@
using System.Text.Json;
using Azure.Messaging.ServiceBus;
using Energinet.DataHub.ProcessManager.Orchestrations.Contracts;
+using Energinet.DataHub.ProcessManager.Orchestrations.Extensions.Options;
using Energinet.DataHub.ProcessManager.Orchestrations.Processes.BRS_026.V1.Models;
using Microsoft.Azure.Functions.Worker;
using Microsoft.Extensions.Logging;
@@ -33,7 +34,11 @@ public class RequestCalculatedEnergyTimeSeriesTriggerV1(
///
[Function(nameof(RequestCalculatedEnergyTimeSeriesTriggerV1))]
public async Task Run(
- [ServiceBusTrigger("queue", Connection = "ServiceBusConnection")] ServiceBusReceivedMessage message)
+ [ServiceBusTrigger(
+ $"%{ProcessManagerTopicOptions.SectionName}:{nameof(ProcessManagerTopicOptions.TopicName)}%",
+ $"%{ProcessManagerTopicOptions.SectionName}:{nameof(ProcessManagerTopicOptions.Brs026SubscriptionName)}%",
+ Connection = ProcessManagerTopicOptions.SectionName)]
+ ServiceBusReceivedMessage message)
{
using var serviceBusMessageLoggerScope = _logger.BeginScope(new
{
diff --git a/source/ProcessManager.Orchestrations/Program.cs b/source/ProcessManager.Orchestrations/Program.cs
index 4c551a5708..f784ced92c 100644
--- a/source/ProcessManager.Orchestrations/Program.cs
+++ b/source/ProcessManager.Orchestrations/Program.cs
@@ -19,6 +19,7 @@
using Energinet.DataHub.ProcessManagement.Core.Infrastructure.Extensions.DependencyInjection;
using Energinet.DataHub.ProcessManagement.Core.Infrastructure.Extensions.Startup;
using Energinet.DataHub.ProcessManagement.Core.Infrastructure.Telemetry;
+using Energinet.DataHub.ProcessManager.Orchestrations.Extensions.DependencyInjection;
using Energinet.DataHub.ProcessManager.Orchestrations.Processes.BRS_023_027.V1;
using Energinet.DataHub.ProcessManager.Orchestrations.Processes.BRS_023_027.V1.Model;
using Energinet.DataHub.ProcessManager.Orchestrations.Processes.BRS_026.V1;
@@ -36,6 +37,7 @@
services.AddNodaTimeForApplication();
// ProcessManager
+ services.AddProcessManagerTopic();
// => Orchestration Descriptions
services.AddProcessManagerForOrchestrations(() =>
{