2017-04-07 82 views
0

我必须缺少一些简单的JSON配置变量功能。我有以下的JSON:Octopus部署JSON配置变量功能不起作用

{ 
    "EventProcessorFactory": "Factory" 
    "HubConfiguration": [ 
    { 
     "ArchiveStorageConnectionString": "Connection string" 
     "ArchiveStorageContainerName": "containerName" 
     "EventHubGroupName": "ehs-peds-dev" 
    } 
    ], 
    "HeartBeatConfiguration": { 
    "EventHubGroupName": "GroupName", 
    "EventHubName": "HubName" 
    "SharedAccessKey": "AccessKey" 
    "SharedAccessKeyName": "EventPublishers", 
    "EndPointURL": "URL" 
    } 
} 

我想更换ArchiveStorageConnectionString(和HubConfiguration的其他属性),但我找不出正确的语法是什么。 HubConfiguration是一个HubConfigurations数组(尽管在这种情况下我只有1个)。

我已经试过

HubConfiguration:1:ArchiveStorageConnectionString 

但是,这并不工作。我也试过

HubConfiguration:0:ArchiveStorageConnectionString 
0:HubConfiguration:0:ArchiveStorageConnectionString 
1:HubConfiguration:1:ArchiveStorageConnectionString 

但这一切似乎都不起作用。任何指针将不胜感激。

回答

2

匹配和替换变量章鱼代码是在这里:

https://github.com/OctopusDeploy/Calamari/blob/949008eaaafb8865305c7760e8f8448a5eaabb1a/source/Calamari/Integration/JsonVariables/JsonConfigurationVariableReplacer.cs

一些单元测试在这里:

https://github.com/OctopusDeploy/Calamari/blob/949008eaaafb8865305c7760e8f8448a5eaabb1a/source/Calamari.Tests/Fixtures/JsonVariables/JsonConfigurationVariableReplacerFixture.cs

我本来期望这工作:

HubConfiguration:0:ArchiveStorageConnectionString 

有似乎是与你的JSON一个问题 - 这条线应该有一个结束,:

"EventProcessorFactory": "Factory" 

你得到任何输出在部署中约定运行时?

+0

对不起,响应缓慢。当我发现json错误时,我修正了它,这是你发现的。尽管谢谢你的回答! –