diff --git a/config/services.yaml b/config/services.yaml index 237e22c..6f66cca 100644 --- a/config/services.yaml +++ b/config/services.yaml @@ -1,5 +1,5 @@ services: Magdev\RedmineBundle\Client\RedmineClient: - arguments: ['@redmine_api.cache', '%env(REDMINE_URL)%', '%env(REDMINE_APIKEY)%', '%magdev_redmine.ttl%'] + arguments: ['@redmine_api.cache', '%magdev_redmine.url%', '%magdev_redmine.apiKey%', '%magdev_redmine.cache.ttl%'] redmine.api: '@Magdev\RedmineBundle\Client\RedmineClient' diff --git a/src/DependencyInjection/Configuration.php b/src/DependencyInjection/Configuration.php index 000eed5..8e1497e 100644 --- a/src/DependencyInjection/Configuration.php +++ b/src/DependencyInjection/Configuration.php @@ -15,11 +15,28 @@ final class Configuration implements ConfigurationInterface $treeBuilder = new TreeBuilder('magdev_redmine'); $rootNode = $treeBuilder->getRootNode(); $rootNode->children() - ->scalarNode('ttl') - ->isRequired() - ->info('TTL for cached api calls') - ->end() - ->end(); + ->scalarNode('url') + ->info('URL of the Redmine instance') + ->example('http://your-redmine.com') + ->cannotBeEmpty() + ->isRequired() + ->end() + ->scalarNode('apiKey') + ->info('API-Key to access Redmine') + ->example('abcdefghijklmnopqrstuvwxyz') + ->cannotBeEmpty() + ->isRequired() + ->end() + ->arrayNode('cache') + ->scalarNode('ttl') + ->info('TTL for cached API calls') + ->example([1800, 'P30M']) + ->defaultValue(1800) + ->cannotBeEmpty() + ->isRequired() + ->end() + ->end() + ->end(); return $treeBuilder; } diff --git a/src/DependencyInjection/MagdevRedmineExtension.php b/src/DependencyInjection/MagdevRedmineExtension.php index c90cbcd..64d2921 100644 --- a/src/DependencyInjection/MagdevRedmineExtension.php +++ b/src/DependencyInjection/MagdevRedmineExtension.php @@ -17,7 +17,9 @@ final class MagdevRedmineExtension extends Extension { $config = $this->processConfiguration(new Configuration(), $configs); - $container->setParameter('magdev_redmine.ttl', $config['ttl']); + $container->setParameter('magdev_redmine.cache.ttl', $config['cache']['ttl']); + $container->setParameter('magdev_redmine.url', $config['url']); + $container->setParameter('magdev_redmine.apiKey', $config['apiKey']); $loader = new YamlFileLoader($container, new FileLocator(dirname(__DIR__).'/../config')); $loader->load('services.yaml');