This is an automated email from the ASF dual-hosted git repository. nfilotto pushed a commit to branch camel-karaf-3.18.x in repository https://gitbox.apache.org/repos/asf/camel-karaf.git
The following commit(s) were added to refs/heads/camel-karaf-3.18.x by this push: new 1d6ef764 CAMEL-18344: Supporting camel "camel-google-pubsub" and "camel-grpc" OSGi deployment (#180) (#185) 1d6ef764 is described below commit 1d6ef764a1d3441bb774ac96d0cfd70112c4f465 Author: Nicolas Filotto <essob...@users.noreply.github.com> AuthorDate: Sun Sep 4 12:48:28 2022 +0200 CAMEL-18344: Supporting camel "camel-google-pubsub" and "camel-grpc" OSGi deployment (#180) (#185) Fix for https://issues.apache.org/jira/browse/CAMEL-18344 (3.18.x) ## Motivation The features camel-google-pubsub and camel-grpc have been removed from camel-karaf due to some integrations issues but as some users need it, it is important to put them back. ## Modifications: * Re-add the features * Use new servicemix-bundles that still need to be approved, merged, and released * Add camel-jira from https://github.com/apache/camel-karaf/commit/0e63ec709cdcb1ce4ca48a29a2e8ca88d26abd31 * Fix camel-jira feature that is affected by the changes in the bundle google-http-client --- .../camel/catalog/karaf/components.properties | 3 + .../catalog/karaf/components/google-pubsub.json | 61 ++++++++++++++ .../camel/catalog/karaf/components/grpc.json | 68 +++++++++++++++ .../camel/catalog/karaf/components/jira.json | 77 +++++++++++++++++ .../karaf/features/src/main/resources/features.xml | 96 +++++++++++++++++++++- pom.xml | 15 ++++ 6 files changed, 319 insertions(+), 1 deletion(-) diff --git a/catalog/camel-catalog-provider-karaf/src/main/resources/org/apache/camel/catalog/karaf/components.properties b/catalog/camel-catalog-provider-karaf/src/main/resources/org/apache/camel/catalog/karaf/components.properties index 0c6e9f81..de0e69ee 100644 --- a/catalog/camel-catalog-provider-karaf/src/main/resources/org/apache/camel/catalog/karaf/components.properties +++ b/catalog/camel-catalog-provider-karaf/src/main/resources/org/apache/camel/catalog/karaf/components.properties @@ -73,8 +73,10 @@ ftp git github google-bigquery +google-pubsub grape graphql +grpc guava-eventbus http influxdb @@ -85,6 +87,7 @@ jcache jcr jdbc jetty +jira jms jmx jolt diff --git a/catalog/camel-catalog-provider-karaf/src/main/resources/org/apache/camel/catalog/karaf/components/google-pubsub.json b/catalog/camel-catalog-provider-karaf/src/main/resources/org/apache/camel/catalog/karaf/components/google-pubsub.json new file mode 100644 index 00000000..55c6f303 --- /dev/null +++ b/catalog/camel-catalog-provider-karaf/src/main/resources/org/apache/camel/catalog/karaf/components/google-pubsub.json @@ -0,0 +1,61 @@ +{ + "component": { + "kind": "component", + "name": "google-pubsub", + "title": "Google Pubsub", + "description": "Send and receive messages to\/from Google Cloud Platform PubSub Service.", + "deprecated": false, + "firstVersion": "2.19.0", + "label": "cloud,messaging", + "javaType": "org.apache.camel.component.google.pubsub.GooglePubsubComponent", + "supportLevel": "Stable", + "groupId": "org.apache.camel", + "artifactId": "camel-google-pubsub", + "version": "3.18.2-SNAPSHOT", + "scheme": "google-pubsub", + "extendsScheme": "", + "syntax": "google-pubsub:projectId:destinationName", + "async": false, + "api": false, + "consumerOnly": false, + "producerOnly": false, + "lenientProperties": false + }, + "componentProperties": { + "authenticate": { "kind": "property", "displayName": "Authenticate", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Use Credentials when interacting with PubSub service (no authentication is required when using emulator)." }, + "endpoint": { "kind": "property", "displayName": "Endpoint", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Endpoint to use with local Pub\/Sub emulator." }, + "serviceAccountKey": { "kind": "property", "displayName": "Service Account Key", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The Service account key that can be used as credentials for the PubSub publisher\/subscriber. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different [...] + "bridgeErrorHandler": { "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a me [...] + "synchronousPullRetryableCodes": { "kind": "property", "displayName": "Synchronous Pull Retryable Codes", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Comma-separated list of additional retryable error codes for synchronous pull. By default the PubSub client library retries ABORTED, UNAVAILABLE, UNKNOWN" }, + "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...] + "publisherCacheSize": { "kind": "property", "displayName": "Publisher Cache Size", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "Maximum number of producers to cache. This could be increased if you have producers for lots of different topics." }, + "publisherCacheTimeout": { "kind": "property", "displayName": "Publisher Cache Timeout", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "How many milliseconds should each producer stay alive in the cache." }, + "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which t [...] + "publisherTerminationTimeout": { "kind": "property", "displayName": "Publisher Termination Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "How many milliseconds should a producer be allowed to terminate." } + }, + "headers": { + "CamelGooglePubsub.MessageId": { "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The ID of the message, assigned by the server when the message is published.", "constantName": "org.apache.camel.component.google.pubsub.GooglePubsubConstants#MESSAGE_ID" }, + "CamelGooglePubsub.MsgAckId": { "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The ID used to acknowledge the received message.", "constantName": "org.apache.camel.component.google.pubsub.GooglePubsubConstants#ACK_ID" }, + "CamelGooglePubsub.PublishTime": { "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "com.google.protobuf.Timestamp", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The time at which the message was published", "constantName": "org.apache.camel.component.google.pubsub.GooglePubsubConstants#PUBLISH_TIME" }, + "CamelGooglePubsub.Attributes": { "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The attributes of the message.", "constantName": "org.apache.camel.component.google.pubsub.GooglePubsubConstants#ATTRIBUTES" }, + "CamelGooglePubsub.OrderingKey": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "If non-empty, identifies related messages for which publish order should be respected.", "constantName": "org.apache.camel.component.google.pubsub.GooglePubsubConstants#ORDERING_KEY" } + }, + "properties": { + "projectId": { "kind": "path", "displayName": "Project Id", "group": "common", "label": "common", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Google Cloud PubSub Project Id" }, + "destinationName": { "kind": "path", "displayName": "Destination Name", "group": "common", "label": "common", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Destination Name. For the consumer this will be the subscription name, while for the producer this will be the topic name." }, + "authenticate": { "kind": "parameter", "displayName": "Authenticate", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Use Credentials when interacting with PubSub service (no authentication is required when using emulator)." }, + "loggerId": { "kind": "parameter", "displayName": "Logger Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Logger ID to use when a match to the parent route required" }, + "serviceAccountKey": { "kind": "parameter", "displayName": "Service Account Key", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The Service account key that can be used as credentials for the PubSub publisher\/subscriber. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different [...] + "ackMode": { "kind": "parameter", "displayName": "Ack Mode", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.camel.component.google.pubsub.GooglePubsubConstants.AckMode", "enum": [ "AUTO", "NONE" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "AUTO", "description": "AUTO = exchange gets ack'ed\/nack'ed on completion. NONE = downstream process has to ack\/nack explicitly" }, + "concurrentConsumers": { "kind": "parameter", "displayName": "Concurrent Consumers", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1", "description": "The number of parallel streams consuming from the subscription" }, + "maxMessagesPerPoll": { "kind": "parameter", "displayName": "Max Messages Per Poll", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1", "description": "The max number of messages to receive from the server in a single API call" }, + "synchronousPull": { "kind": "parameter", "displayName": "Synchronous Pull", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Synchronously pull batches of messages" }, + "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now [...] + "exceptionHandler": { "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the con [...] + "exchangePattern": { "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut", "InOptionalOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." }, + "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may other [...] + "messageOrderingEnabled": { "kind": "parameter", "displayName": "Message Ordering Enabled", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Should message ordering be enabled" }, + "pubsubEndpoint": { "kind": "parameter", "displayName": "Pubsub Endpoint", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Pub\/Sub endpoint to use. Required when using message ordering, and ensures that messages are received in order even when multiple publishers are used" }, + "serializer": { "kind": "parameter", "displayName": "Serializer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.google.pubsub.serializer.GooglePubsubSerializer", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "description": "A custom GooglePubsubSerializer to use for serializing message payloads in the producer" } + } +} diff --git a/catalog/camel-catalog-provider-karaf/src/main/resources/org/apache/camel/catalog/karaf/components/grpc.json b/catalog/camel-catalog-provider-karaf/src/main/resources/org/apache/camel/catalog/karaf/components/grpc.json new file mode 100644 index 00000000..18f3c41e --- /dev/null +++ b/catalog/camel-catalog-provider-karaf/src/main/resources/org/apache/camel/catalog/karaf/components/grpc.json @@ -0,0 +1,68 @@ +{ + "component": { + "kind": "component", + "name": "grpc", + "title": "gRPC", + "description": "Expose gRPC endpoints and access external gRPC endpoints.", + "deprecated": false, + "firstVersion": "2.19.0", + "label": "rpc", + "javaType": "org.apache.camel.component.grpc.GrpcComponent", + "supportLevel": "Stable", + "groupId": "org.apache.camel", + "artifactId": "camel-grpc", + "version": "3.18.2-SNAPSHOT", + "scheme": "grpc", + "extendsScheme": "", + "syntax": "grpc:host:port\/service", + "async": false, + "api": false, + "consumerOnly": false, + "producerOnly": false, + "lenientProperties": false + }, + "componentProperties": { + "bridgeErrorHandler": { "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a me [...] + "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...] + "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which t [...] + }, + "headers": { + "CamelGrpcMethodName": { "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Method name handled by the consumer service", "constantName": "org.apache.camel.component.grpc.GrpcConstants#GRPC_METHOD_NAME_HEADER" }, + "CamelGrpcUserAgent": { "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "If provided, the given agent will prepend the gRPC library's user agent information", "constantName": "org.apache.camel.component.grpc.GrpcConstants#GRPC_USER_AGENT_HEADER" }, + "CamelGrpcEventType": { "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Received event type from the sent request. Possible values: onNext onCompleted onError", "constantName": "org.apache.camel.component.grpc.GrpcConstants#GRPC_EVENT_TYPE_HEADER" } + }, + "properties": { + "host": { "kind": "path", "displayName": "Host", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "The gRPC server host name. This is localhost or 0.0.0.0 when being a consumer or remote server host name when using producer." }, + "port": { "kind": "path", "displayName": "Port", "group": "common", "label": "", "required": true, "type": "integer", "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "The gRPC local or remote server port" }, + "service": { "kind": "path", "displayName": "Service", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Fully qualified service name from the protocol buffer descriptor file (package dot service definition name)" }, + "flowControlWindow": { "kind": "parameter", "displayName": "Flow Control Window", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1048576, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "The HTTP\/2 flow control window size (MiB)" }, + "maxMessageSize": { "kind": "parameter", "displayName": "Max Message Size", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 4194304, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "The maximum message size allowed to be received\/sent (MiB)" }, + "autoDiscoverServerInterceptors": { "kind": "parameter", "displayName": "Auto Discover Server Interceptors", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Setting the autoDiscoverServerInterceptors mechanism, if true, the [...] + "consumerStrategy": { "kind": "parameter", "displayName": "Consumer Strategy", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.camel.component.grpc.GrpcConsumerStrategy", "enum": [ "AGGREGATION", "PROPAGATION" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "PROPAGATION", "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "T [...] + "forwardOnCompleted": { "kind": "parameter", "displayName": "Forward On Completed", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Determines if onCompleted events should be pushed to the Camel route." }, + "forwardOnError": { "kind": "parameter", "displayName": "Forward On Error", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Determines if onError events should be pushed to the Camel route. Exceptions will be set as messag [...] + "maxConcurrentCallsPerConnection": { "kind": "parameter", "displayName": "Max Concurrent Calls Per Connection", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2147483647, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "The maximum number of concurrent calls permitted for each inc [...] + "routeControlledStreamObserver": { "kind": "parameter", "displayName": "Route Controlled Stream Observer", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Lets the route to take control over stream observer. If this value [...] + "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now [...] + "exceptionHandler": { "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the con [...] + "exchangePattern": { "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut", "InOptionalOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." }, + "autoDiscoverClientInterceptors": { "kind": "parameter", "displayName": "Auto Discover Client Interceptors", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Setting the autoDiscoverClientInterceptors mechanism, if true, the [...] + "method": { "kind": "parameter", "displayName": "Method", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "gRPC method name" }, + "producerStrategy": { "kind": "parameter", "displayName": "Producer Strategy", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.grpc.GrpcProducerStrategy", "enum": [ "SIMPLE", "STREAMING" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "SIMPLE", "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "The mode used [...] + "streamRepliesTo": { "kind": "parameter", "displayName": "Stream Replies To", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "When using STREAMING client mode, it indicates the endpoint where responses should be forwarded." }, + "userAgent": { "kind": "parameter", "displayName": "User Agent", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "The user agent header passed to the server" }, + "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may other [...] + "synchronous": { "kind": "parameter", "displayName": "Synchronous", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Sets whether synchronous processing should be strictly used" }, + "authenticationType": { "kind": "parameter", "displayName": "Authentication Type", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.component.grpc.GrpcAuthType", "enum": [ "NONE", "GOOGLE", "JWT" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "NONE", "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Authentication me [...] + "jwtAlgorithm": { "kind": "parameter", "displayName": "Jwt Algorithm", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.component.grpc.auth.jwt.JwtAlgorithm", "enum": [ "HMAC256", "HMAC384", "HMAC512" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HMAC256", "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "JSON Web [...] + "jwtIssuer": { "kind": "parameter", "displayName": "Jwt Issuer", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "JSON Web Token issuer" }, + "jwtSecret": { "kind": "parameter", "displayName": "Jwt Secret", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "JSON Web Token secret" }, + "jwtSubject": { "kind": "parameter", "displayName": "Jwt Subject", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "JSON Web Token subject" }, + "keyCertChainResource": { "kind": "parameter", "displayName": "Key Cert Chain Resource", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "The X.509 certificate chain file resource in PEM format link" }, + "keyPassword": { "kind": "parameter", "displayName": "Key Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "The PKCS#8 private key file password" }, + "keyResource": { "kind": "parameter", "displayName": "Key Resource", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "The PKCS#8 private key file resource in PEM format link" }, + "negotiationType": { "kind": "parameter", "displayName": "Negotiation Type", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "io.grpc.netty.NegotiationType", "enum": [ "TLS", "PLAINTEXT_UPGRADE", "PLAINTEXT" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "PLAINTEXT", "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Identifies the se [...] + "serviceAccountResource": { "kind": "parameter", "displayName": "Service Account Resource", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "Service Account key file in JSON format resource link supported by the Google Cloud SDK" }, + "trustCertCollectionResource": { "kind": "parameter", "displayName": "Trust Cert Collection Resource", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.grpc.GrpcConfiguration", "configurationField": "configuration", "description": "The trusted certificates collection file resource in PEM format for verifying the remo [...] + } +} diff --git a/catalog/camel-catalog-provider-karaf/src/main/resources/org/apache/camel/catalog/karaf/components/jira.json b/catalog/camel-catalog-provider-karaf/src/main/resources/org/apache/camel/catalog/karaf/components/jira.json new file mode 100644 index 00000000..dcaf3327 --- /dev/null +++ b/catalog/camel-catalog-provider-karaf/src/main/resources/org/apache/camel/catalog/karaf/components/jira.json @@ -0,0 +1,77 @@ +{ + "component": { + "kind": "component", + "name": "jira", + "title": "Jira", + "description": "Interact with JIRA issue tracker.", + "deprecated": false, + "firstVersion": "3.0", + "label": "api,reporting", + "javaType": "org.apache.camel.component.jira.JiraComponent", + "supportLevel": "Stable", + "groupId": "org.apache.camel", + "artifactId": "camel-jira", + "version": "3.18.2-SNAPSHOT", + "scheme": "jira", + "extendsScheme": "", + "syntax": "jira:type", + "async": false, + "api": false, + "consumerOnly": false, + "producerOnly": false, + "lenientProperties": false + }, + "componentProperties": { + "delay": { "kind": "property", "displayName": "Delay", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "6000", "configurationClass": "org.apache.camel.component.jira.JiraConfiguration", "configurationField": "configuration", "description": "Time in milliseconds to elapse for the next poll." }, + "jiraUrl": { "kind": "property", "displayName": "Jira Url", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jira.JiraConfiguration", "configurationField": "configuration", "description": "The Jira server url, example: http:\/\/my_jira.com:8081" }, + "bridgeErrorHandler": { "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a me [...] + "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...] + "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which t [...] + "configuration": { "kind": "property", "displayName": "Configuration", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.jira.JiraConfiguration", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared base jira configuration." }, + "accessToken": { "kind": "property", "displayName": "Access Token", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.jira.JiraConfiguration", "configurationField": "configuration", "description": "(OAuth or Personal Access Token authentication) The access token generated by the Jira server." }, + "consumerKey": { "kind": "property", "displayName": "Consumer Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.jira.JiraConfiguration", "configurationField": "configuration", "description": "(OAuth only) The consumer key from Jira settings." }, + "password": { "kind": "property", "displayName": "Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.jira.JiraConfiguration", "configurationField": "configuration", "description": "(Basic authentication only) The password or the API Token to authenticate to the Jira server. Use only if username basic authenti [...] + "privateKey": { "kind": "property", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.jira.JiraConfiguration", "configurationField": "configuration", "description": "(OAuth only) The private key generated by the client to encrypt the conversation to the server." }, + "username": { "kind": "property", "displayName": "Username", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.jira.JiraConfiguration", "configurationField": "configuration", "description": "(Basic authentication only) The username to authenticate to the Jira server. Use only if OAuth is not enabled on the Jira server. [...] + "verificationCode": { "kind": "property", "displayName": "Verification Code", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.jira.JiraConfiguration", "configurationField": "configuration", "description": "(OAuth only) The verification code from Jira generated in the first step of the authorization proccess." } + }, + "headers": { + "IssueAssignee": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The assignee's name of the issue", "constantName": "org.apache.camel.component.jira.JiraConstants#ISSUE_ASSIGNEE" }, + "IssueComponents": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The comma separated list of the issue's components", "constantName": "org.apache.camel.component.jira.JiraConstants#ISSUE_COMPONENTS" }, + "IssueChanged": { "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The name of the updated field (i.e Status)", "constantName": "org.apache.camel.component.jira.JiraConstants#ISSUE_CHANGED" }, + "IssueKey": { "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The id of the issue", "constantName": "org.apache.camel.component.jira.JiraConstants#ISSUE_KEY" }, + "IssuePriorityId": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The priority's id of the issue", "constantName": "org.apache.camel.component.jira.JiraConstants#ISSUE_PRIORITY_ID" }, + "IssuePriorityName": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The priority's name of the issue", "constantName": "org.apache.camel.component.jira.JiraConstants#ISSUE_PRIORITY_NAME" }, + "ProjectKey": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The project's id of the issue", "constantName": "org.apache.camel.component.jira.JiraConstants#ISSUE_PROJECT_KEY" }, + "IssueSummary": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The summary of the issue", "constantName": "org.apache.camel.component.jira.JiraConstants#ISSUE_SUMMARY" }, + "IssueTransitionId": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The transition id", "constantName": "org.apache.camel.component.jira.JiraConstants#ISSUE_TRANSITION_ID" }, + "IssueTypeId": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The type's id of the issue", "constantName": "org.apache.camel.component.jira.JiraConstants#ISSUE_TYPE_ID" }, + "IssueTypeName": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The type's name of the issue", "constantName": "org.apache.camel.component.jira.JiraConstants#ISSUE_TYPE_NAME" }, + "IssueWatchedIssues": { "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The list of all issue keys that are watched in the time of update", "constantName": "org.apache.camel.component.jira.JiraConstants#ISSUE_WATCHED_ISSUES" }, + "IssueWatchersAdd": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The comma separated list of watchers to add to the issue", "constantName": "org.apache.camel.component.jira.JiraConstants#ISSUE_WATCHERS_ADD" }, + "IssueWatchersRemove": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The watchers of the issue to remove", "constantName": "org.apache.camel.component.jira.JiraConstants#ISSUE_WATCHERS_REMOVE" }, + "ParentIssueKey": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The id of the parent issue", "constantName": "org.apache.camel.component.jira.JiraConstants#PARENT_ISSUE_KEY" }, + "ChildIssueKey": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The id of the child issue", "constantName": "org.apache.camel.component.jira.JiraConstants#CHILD_ISSUE_KEY" }, + "linkType": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The type of link", "constantName": "org.apache.camel.component.jira.JiraConstants#LINK_TYPE" }, + "minutesSpent": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": "-1", "description": "The minutes spent", "constantName": "org.apache.camel.component.jira.JiraConstants#MINUTES_SPENT" } + }, + "properties": { + "type": { "kind": "path", "displayName": "Type", "group": "common", "label": "", "required": true, "type": "object", "javaType": "org.apache.camel.component.jira.JiraType", "enum": [ "ADDCOMMENT", "ADDISSUE", "ATTACH", "DELETEISSUE", "NEWISSUES", "NEWCOMMENTS", "WATCHUPDATES", "UPDATEISSUE", "TRANSITIONISSUE", "WATCHERS", "ADDISSUELINK", "ADDWORKLOG", "FETCHISSUE", "FETCHCOMMENTS" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Oper [...] + "delay": { "kind": "parameter", "displayName": "Delay", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "6000", "configurationClass": "org.apache.camel.component.jira.JiraConfiguration", "configurationField": "configuration", "description": "Time in milliseconds to elapse for the next poll." }, + "jiraUrl": { "kind": "parameter", "displayName": "Jira Url", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.jira.JiraConfiguration", "configurationField": "configuration", "description": "The Jira server url, example: http:\/\/my_jira.com:8081" }, + "jql": { "kind": "parameter", "displayName": "Jql", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "JQL is the query language from JIRA which allows you to retrieve the data you want. For example jql=project=MyProject Where MyProject is the product key in Jira. It is important to use the RAW() and set the JQL inside it to prevent camel parsing it, e [...] + "maxResults": { "kind": "parameter", "displayName": "Max Results", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "50", "description": "Max number of issues to search for" }, + "sendOnlyUpdatedField": { "kind": "parameter", "displayName": "Send Only Updated Field", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Indicator for sending only changed fields in exchange body or issue object. By default consumer sends only changed fields." }, + "watchedFields": { "kind": "parameter", "displayName": "Watched Fields", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "Status,Priority", "description": "Comma separated list of fields to watch for changes. Status,Priority are the defaults." }, + "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now [...] + "exceptionHandler": { "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the con [...] + "exchangePattern": { "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut", "InOptionalOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." }, + "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may other [...] + "accessToken": { "kind": "parameter", "displayName": "Access Token", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.jira.JiraConfiguration", "configurationField": "configuration", "description": "(OAuth or Personal Access Token authentication) The access token generated by the Jira server." }, + "consumerKey": { "kind": "parameter", "displayName": "Consumer Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.jira.JiraConfiguration", "configurationField": "configuration", "description": "(OAuth only) The consumer key from Jira settings." }, + "password": { "kind": "parameter", "displayName": "Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.jira.JiraConfiguration", "configurationField": "configuration", "description": "(Basic authentication only) The password or the API Token to authenticate to the Jira server. Use only if username basic authent [...] + "privateKey": { "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.jira.JiraConfiguration", "configurationField": "configuration", "description": "(OAuth only) The private key generated by the client to encrypt the conversation to the server." }, + "username": { "kind": "parameter", "displayName": "Username", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.jira.JiraConfiguration", "configurationField": "configuration", "description": "(Basic authentication only) The username to authenticate to the Jira server. Use only if OAuth is not enabled on the Jira server [...] + "verificationCode": { "kind": "parameter", "displayName": "Verification Code", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.jira.JiraConfiguration", "configurationField": "configuration", "description": "(OAuth only) The verification code from Jira generated in the first step of the authorization proccess." } + } +} diff --git a/platforms/karaf/features/src/main/resources/features.xml b/platforms/karaf/features/src/main/resources/features.xml index 3af92fc3..c98ecaf1 100644 --- a/platforms/karaf/features/src/main/resources/features.xml +++ b/platforms/karaf/features/src/main/resources/features.xml @@ -994,6 +994,48 @@ <bundle dependency='true'>wrap:mvn:org.threeten/threetenbp/${google-cloud-threetenbp-version}</bundle> <bundle>mvn:org.apache.camel/camel-google-bigquery/${project.version}</bundle> </feature> + <feature name='camel-google-pubsub' version='${project.version}' start-level='50'> + <feature version='${project.version}'>camel-core</feature> + <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.google-cloud-pubsub/${google-cloud-pubsub-bundle-version}</bundle> + <bundle dependency='true'>wrap:mvn:com.google.api/api-common/${google-cloud-api-common-version}</bundle> + <bundle dependency='true'>mvn:com.google.protobuf/protobuf-java/${protobuf-version}</bundle> + <bundle dependency='true'>wrap:mvn:com.google.api.grpc/proto-google-common-protos/${google-cloud-common-protos-version}</bundle> + <bundle dependency='true'>wrap:mvn:com.google.api.grpc/proto-google-iam-v1/${google-proto-iam-version}</bundle> + <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.guava/${google-cloud-guava-bundle-version}</bundle> + <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.google-gax-grpc/${google-gax-bundle-version}</bundle> + <bundle dependency='true'>wrap:mvn:com.google.auth/google-auth-library-oauth2-http/${grpc-google-auth-library-version}</bundle> + <bundle dependency='true'>wrap:mvn:com.google.auth/google-auth-library-credentials/${grpc-google-auth-library-version}</bundle> + <bundle dependency='true'>wrap:mvn:org.threeten/threetenbp/${google-cloud-threetenbp-version}</bundle> + <bundle dependency='true'>wrap:mvn:io.opencensus/opencensus-api/${google-http-client-opencensus-api-version}</bundle> + <bundle dependency='true'>wrap:mvn:com.google.code.gson/gson/${gson-version}</bundle> + <bundle dependency='true'>wrap:mvn:io.perfmark/perfmark-api/${google-cloud-perfmark-version}</bundle> + <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.google-http-client/${google-http-client-bundle-version}</bundle> + <bundle dependency='true'>wrap:mvn:io.opencensus/opencensus-contrib-http-util/${google-http-client-opencensus-api-version}</bundle> + <bundle dependency='true'>mvn:org.apache.httpcomponents/httpcore-osgi/${httpcore4-version}</bundle> + <bundle dependency='true'>mvn:org.apache.httpcomponents/httpclient-osgi/${httpclient4-version}</bundle> + <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.grpc/${google-cloud-grpc-bundle-version}</bundle> + <bundle dependency='true'>wrap:mvn:com.google.re2j/re2j/${re2j-version}</bundle> + <bundle dependency='true'>mvn:io.netty/netty-common/${netty-version}</bundle> + <bundle dependency='true'>mvn:io.netty/netty-codec/${netty-version}</bundle> + <bundle dependency='true'>mvn:io.netty/netty-codec-http/${netty-version}</bundle> + <bundle dependency='true'>mvn:io.netty/netty-codec-http2/${netty-version}</bundle> + <bundle dependency='true'>mvn:io.netty/netty-codec-socks/${netty-version}</bundle> + <bundle dependency='true'>mvn:io.netty/netty-resolver/${netty-version}</bundle> + <bundle dependency='true'>mvn:io.netty/netty-transport/${netty-version}</bundle> + <bundle dependency='true'>mvn:io.netty/netty-buffer/${netty-version}</bundle> + <bundle dependency='true'>mvn:io.netty/netty-transport-classes-epoll/${netty-version}</bundle> + <bundle dependency='true'>mvn:io.netty/netty-transport-native-unix-common/${netty-version}</bundle> + <bundle dependency='true'>mvn:io.netty/netty-handler/${netty-version}</bundle> + <bundle dependency='true'>mvn:io.netty/netty-handler-proxy/${netty-version}</bundle> + <bundle dependency='true'>wrap:mvn:io.opencensus/opencensus-proto/${opencensus-proto-version}</bundle> + <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.okhttp/${squareup-okhttp-bundle-version}</bundle> + <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.okio/${squareup-okio-bundle-version}</bundle> + <bundle dependency='true'>mvn:org.bouncycastle/bcpkix-jdk18on/${bouncycastle-version}</bundle> + <bundle dependency='true'>mvn:org.bouncycastle/bctls-jdk18on/${bouncycastle-version}</bundle> + <bundle dependency='true'>mvn:org.bouncycastle/bcprov-jdk18on/${bouncycastle-version}</bundle> + <bundle dependency='true'>mvn:org.bouncycastle/bcutil-jdk18on/${bouncycastle-version}</bundle> + <bundle>mvn:org.apache.camel/camel-google-pubsub/${project.version}</bundle> + </feature> <feature name='camel-grape' version='${project.version}' start-level='50'> <feature version='${project.version}'>camel-core</feature> <bundle dependency='true'>mvn:org.codehaus.groovy/groovy/${groovy-version}</bundle> @@ -1018,7 +1060,42 @@ <bundle dependency='true'>wrap:mvn:io.krakens/java-grok/${java-grok-version}</bundle> <bundle>mvn:org.apache.camel/camel-grok/${project.version}</bundle> </feature> - + <feature name='camel-grpc' version='${project.version}' start-level='50'> + <feature version='${project.version}'>camel-core</feature> + <bundle dependency='true'>wrap:mvn:com.auth0/java-jwt/${grpc-java-jwt-version}</bundle> + <bundle dependency='true'>wrap:mvn:com.google.auth/google-auth-library-oauth2-http/${grpc-google-auth-library-version}</bundle> + <bundle dependency='true'>wrap:mvn:com.google.auth/google-auth-library-credentials/${grpc-google-auth-library-version}</bundle> + <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.grpc/${google-cloud-grpc-bundle-version}</bundle> + <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.guava/${google-cloud-guava-bundle-version}</bundle> + <bundle dependency='true'>wrap:mvn:com.google.api.grpc/proto-google-common-protos/${google-cloud-common-protos-version}</bundle> + <bundle dependency='true'>wrap:mvn:com.google.code.gson/gson/${gson-version}</bundle> + <bundle dependency='true'>wrap:mvn:com.google.re2j/re2j/${re2j-version}</bundle> + <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.okhttp/${squareup-okhttp-bundle-version}</bundle> + <bundle dependency='true'>mvn:io.netty/netty-transport/${netty-version}</bundle> + <bundle dependency='true'>mvn:io.netty/netty-buffer/${netty-version}</bundle> + <bundle dependency='true'>mvn:io.netty/netty-common/${netty-version}</bundle> + <bundle dependency='true'>mvn:io.netty/netty-resolver/${netty-version}</bundle> + <bundle dependency='true'>mvn:io.netty/netty-transport-classes-epoll/${netty-version}</bundle> + <bundle dependency='true'>mvn:io.netty/netty-transport-native-unix-common/${netty-version}</bundle> + <bundle dependency='true'>mvn:io.netty/netty-codec/${netty-version}</bundle> + <bundle dependency='true'>mvn:io.netty/netty-codec-http/${netty-version}</bundle> + <bundle dependency='true'>mvn:io.netty/netty-codec-http2/${netty-version}</bundle> + <bundle dependency='true'>mvn:io.netty/netty-handler/${netty-version}</bundle> + <bundle dependency='true'>mvn:io.netty/netty-handler-proxy/${netty-version}</bundle> + <bundle dependency='true'>mvn:io.netty/netty-codec-socks/${netty-version}</bundle> + <bundle dependency='true'>wrap:mvn:io.opencensus/opencensus-api/${google-http-client-opencensus-api-version}</bundle> + <bundle dependency='true'>wrap:mvn:io.opencensus/opencensus-proto/${opencensus-proto-version}</bundle> + <bundle dependency='true'>wrap:mvn:io.perfmark/perfmark-api/${google-cloud-perfmark-version}</bundle> + <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.okio/${squareup-okio-bundle-version}</bundle> + <bundle dependency='true'>mvn:org.bouncycastle/bcprov-jdk18on/${bouncycastle-version}</bundle> + <bundle dependency='true'>mvn:org.bouncycastle/bcpkix-jdk18on/${bouncycastle-version}</bundle> + <bundle dependency='true'>mvn:org.bouncycastle/bcutil-jdk18on/${bouncycastle-version}</bundle> + <bundle dependency='true'>mvn:org.bouncycastle/bctls-jdk18on/${bouncycastle-version}</bundle> + <bundle dependency='true'>mvn:org.javassist/javassist/${javassist-version}</bundle> + <bundle dependency='true'>mvn:com.google.protobuf/protobuf-java/${protobuf-version}</bundle> + <bundle dependency='true'>mvn:com.google.protobuf/protobuf-java-util/${protobuf-version}</bundle> + <bundle>mvn:org.apache.camel/camel-grpc/${project.version}</bundle> + </feature> <feature name='camel-gson' version='${project.version}' start-level='50'> <feature version='${project.version}'>camel-core</feature> @@ -1180,6 +1257,23 @@ <feature version='${project.version}'>camel-core</feature> <bundle>mvn:org.apache.camel/camel-jdbc/${project.version}</bundle> </feature> + <feature name='camel-jira' version='${project.version}' start-level='50'> + <feature version='${project.version}'>camel-core</feature> + <bundle dependency='true'>mvn:org.apache.commons/commons-lang3/${commons-lang3-version}</bundle> + <bundle dependency='true'>mvn:commons-codec/commons-codec/${commons-codec-version}</bundle> + <bundle dependency='true'>mvn:org.apache.httpcomponents/httpcore-osgi/${httpcore4-version}</bundle> + <bundle dependency='true'>mvn:org.apache.httpcomponents/httpclient-osgi/${httpclient4-version}</bundle> + <bundle dependency='true'>mvn:org.apache.httpcomponents/httpasyncclient-osgi/${httpasyncclient-version}</bundle> + <bundle dependency='true'>mvn:org.codehaus.jettison/jettison/${jettison-version}</bundle> + <bundle dependency='true'>mvn:joda-time/joda-time/${jodatime2-version}</bundle> + <bundle dependency='true'>wrap:mvn:com.google.code.gson/gson/${gson-version}</bundle> + <bundle dependency='true'>wrap:mvn:io.opencensus/opencensus-api/${google-http-client-opencensus-api-version}</bundle> + <bundle dependency='true'>wrap:mvn:io.opencensus/opencensus-contrib-http-util/${google-http-client-opencensus-api-version}</bundle> + <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.google-http-client/${google-http-client-bundle-version}</bundle> + <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.guava/${jira-guava-bundle-version}</bundle> + <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.atlassian-jira-client/${atlassian-jira-client-bundle-version}</bundle> + <bundle>mvn:org.apache.camel/camel-jira/${project.version}</bundle> + </feature> <feature name='camel-jetty' version='${project.version}' start-level='50'> <feature>jetty</feature> <feature version='${project.version}'>camel-core</feature> diff --git a/pom.xml b/pom.xml index 777c86c7..429ff65f 100644 --- a/pom.xml +++ b/pom.xml @@ -121,6 +121,7 @@ <aries-spifly.bundle.version>1.3.0</aries-spifly.bundle.version> <asm.bundle.version>8.0.1</asm.bundle.version> <asterisk-java-bundle-version>1.0.0-final_1</asterisk-java-bundle-version> + <atlassian-jira-client-bundle-version>5.2.4_2</atlassian-jira-client-bundle-version> <automaton-bundle-version>1.11-8_1</automaton-bundle-version> <avalon-bundle-version>4.3.1_1</avalon-bundle-version> <avro-java-commons-compress-version>1.21</avro-java-commons-compress-version> @@ -177,17 +178,27 @@ <google-cloud-core-version>2.7.1</google-cloud-core-version> <google-cloud-gax-version>2.18.1</google-cloud-gax-version> <google-cloud-gax-httpjson-version>0.103.1</google-cloud-gax-httpjson-version> + <google-cloud-grpc-bundle-version>1.48.1_2</google-cloud-grpc-bundle-version> + <google-cloud-guava-bundle-version>31.1_1</google-cloud-guava-bundle-version> <google-cloud-http-client-version>1.41.8</google-cloud-http-client-version> <google-cloud-oauth-client-version>1.33.3</google-cloud-oauth-client-version> <google-cloud-common-protos-version>2.8.3</google-cloud-common-protos-version> + <google-cloud-perfmark-version>0.25.0</google-cloud-perfmark-version> + <google-cloud-pubsub-bundle-version>1.119.0_1</google-cloud-pubsub-bundle-version> <google-cloud-iam-version>1.3.4</google-cloud-iam-version> <google-cloud-threetenbp-version>1.6.0</google-cloud-threetenbp-version> <google-findbugs-jsr305-version>3.0.2</google-findbugs-jsr305-version> <google-findbugs-annotations2-version>2.0.3</google-findbugs-annotations2-version> + <google-http-client-bundle-version>1.41.8_1</google-http-client-bundle-version> + <google-gax-bundle-version>2.18.1_1</google-gax-bundle-version> + <google-http-client-bundle-version>1.41.8_2</google-http-client-bundle-version> + <google-http-client-opencensus-api-version>0.31.1</google-http-client-opencensus-api-version> + <google-proto-iam-version>1.3.4</google-proto-iam-version> <google-truth-version>0.30</google-truth-version> <groovy-version>3.0.8</groovy-version> <grpc-bundle-version>1.44.1_1</grpc-bundle-version> <grpc-errorprone-version>2.3.4</grpc-errorprone-version> + <grpc-google-auth-library-version>1.7.0</grpc-google-auth-library-version> <guice-bundle-version>3.0_1</guice-bundle-version> <hikaricp-version>2.4.13</hikaricp-version> <hk2-osgi-resource-version>1.0.1</hk2-osgi-resource-version> @@ -209,6 +220,7 @@ <jaxb-bundle-version>2.3.1_1</jaxb-bundle-version> <jboss-logging-version>3.4.1.Final</jboss-logging-version> <jdom-bundle-version>2.0.6_1</jdom-bundle-version> + <jira-guava-bundle-version>30.1.1_1</jira-guava-bundle-version> <jetty9-version>9.4.32.v20200930</jetty9-version> <jodatime-bundle-version>1.6.2</jodatime-bundle-version> <jolt-bundle-version>0.1.6_1</jolt-bundle-version> @@ -247,6 +259,7 @@ <olingo2-gson-version>2.4</olingo2-gson-version> <ognl-bundle-version>3.1.12_1</ognl-bundle-version> <opencensus-api-version>0.24.0</opencensus-api-version> + <opencensus-proto-version>0.2.0</opencensus-proto-version> <oncrpc-version>1.1.3</oncrpc-version> <ops4j-base-version>1.5.0</ops4j-base-version> <oro-bundle-version>2.0.8_6</oro-bundle-version> @@ -259,9 +272,11 @@ <perfmark-version>0.17.0</perfmark-version> <protobuf-guava-version>30.1.1-jre</protobuf-guava-version> <protobuf-javanano-version>3.1.0</protobuf-javanano-version> + <protobuf-version>3.21.4</protobuf-version> <reflections-bundle-version>0.9.12_1</reflections-bundle-version> <regexp-bundle-version>1.4_1</regexp-bundle-version> <rescu-version>2.1.0</rescu-version> + <re2j-version>1.5</re2j-version> <roaster-version>2.21.1.Final</roaster-version> <saxon-bundle-version>9.9.1-6_1</saxon-bundle-version> <scribe-bundle-version>1.3.7_1</scribe-bundle-version>