Skip to content

fix(keywords): of java connectors#6992

Merged
ztefanie merged 2 commits into
mainfrom
fix/keywords-of-java-connectors
Apr 21, 2026
Merged

fix(keywords): of java connectors#6992
ztefanie merged 2 commits into
mainfrom
fix/keywords-of-java-connectors

Conversation

@ztefanie
Copy link
Copy Markdown
Collaborator

Description

  • Removing the @metadata code from ETG.
  • adding keywords to all the java connectors
  • regenerate all templates

I split this PR into two commits, so just review the first one, the second one is just the regeneration of the templates.

Related issues

Follow up to this PR fixing this Issue: #6877

Checklist

  • Backport labels are added if these code changes should be backported. No backport label is added to the latest
    release, as this branch will be rebased onto main before the next release. Example backport labels:
    • backport stable/8.8: for changes that should be included in the next 8.8.x release.
    • or backport release-8.8.7: for changes that should be included in the specific release 8.8.7, and this
      release has already been created. The release branch will be merged back into stable/8.8 later, so the change
      will be included in future 8.8.x releases as well.
  • Tests/Integration tests for the changes have been added if applicable.
  • If the change requires a documentation update, it has been added to the appropriate section in the documentation.

Copilot AI review requested due to automatic review settings April 20, 2026 08:53
@ztefanie ztefanie requested review from a team as code owners April 20, 2026 08:53
@ztefanie ztefanie changed the title Fix/keywords of java connectors fix(keywords): of java connectors Apr 20, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the Element Template Generator (ETG) and Java connector annotations so connector keywords are emitted at the top level of generated element templates (as required by Camunda Modeler search), and adds keywords across Java connectors.

Changes:

  • Removed the ETG DSL/annotation metadata.keywords structure and introduced a top-level keywords field.
  • Updated ETG generation + serialization tests accordingly.
  • Added keywords to many Java connectors’ @ElementTemplate annotations.

Reviewed changes

Copilot reviewed 196 out of 196 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
element-template-generator/core/src/test/resources/test-element-template.json Updates expected JSON to use top-level keywords instead of metadata.keywords.
element-template-generator/core/src/test/java/io/camunda/connector/generator/dsl/ElementTemplateSerializationTest.java Adjusts serialization test to set keywords directly.
element-template-generator/core/src/main/java/io/camunda/connector/generator/java/ClassBasedTemplateGenerator.java Emits top-level keywords during template generation (omits field when empty).
element-template-generator/core/src/main/java/io/camunda/connector/generator/java/ClassBasedDocsGenerator.java Uses ElementTemplate.keywords() when building docs model.
element-template-generator/core/src/main/java/io/camunda/connector/generator/dsl/ElementTemplateBuilder.java Replaces builder metadata(...) with keywords(...).
element-template-generator/core/src/main/java/io/camunda/connector/generator/dsl/ElementTemplate.java Replaces Metadata metadata with String[] keywords in the DSL record + JSON order.
element-template-generator/annotations/src/main/java/io/camunda/connector/generator/java/annotation/ElementTemplate.java Replaces metadata() with keywords() in the annotation API.
connectors/webhook/src/main/java/io/camunda/connector/inbound/HttpWebhookExecutable.java Adds connector keywords for Modeler search.
connectors/soap/src/main/java/io/camunda/connectors/soap/SoapConnector.java Adds connector keywords for Modeler search.
connectors/slack/src/main/java/io/camunda/connector/slack/outbound/SlackFunction.java Adds connector keywords for Modeler search.
connectors/slack/src/main/java/io/camunda/connector/slack/inbound/SlackInboundWebhookExecutable.java Adds connector keywords for Modeler search.
connectors/sendgrid/src/main/java/io/camunda/connector/sendgrid/SendGridFunction.java Adds connector keywords for Modeler search.
connectors/rabbitmq/src/main/java/io/camunda/connector/rabbitmq/outbound/RabbitMqFunction.java Adds connector keywords for Modeler search.
connectors/rabbitmq/src/main/java/io/camunda/connector/rabbitmq/inbound/RabbitMqExecutable.java Adds connector keywords for Modeler search.
connectors/microsoft/teams/src/main/java/io/camunda/connector/MSTeamsFunction.java Adds connector keywords for Modeler search.
connectors/microsoft/email-inbound/src/main/java/io/camunda/connector/microsoft/email/MsEmailInboundExecutable.java Migrates from metadata.keywords to top-level keywords (+ expands keyword set).
connectors/microsoft/azure-blobstorage/src/main/java/io/camunda/connector/azure/blobstorage/BlobStorageConnectorFunction.java Migrates from metadata.keywords to top-level keywords (+ expands keyword set).
connectors/kafka/src/main/java/io/camunda/connector/kafka/outbound/KafkaConnectorFunction.java Adds connector keywords for Modeler search.
connectors/kafka/src/main/java/io/camunda/connector/kafka/inbound/KafkaExecutable.java Adds connector keywords for Modeler search.
connectors/jdbc/src/main/java/io/camunda/connector/jdbc/outbound/JdbcFunction.java Migrates from metadata.keywords to top-level keywords (+ expands keyword set).
connectors/http/rest/src/main/java/io/camunda/connector/http/rest/HttpJsonFunction.java Adds connector keywords for Modeler search.
connectors/http/polling/src/main/java/io/camunda/connector/http/polling/HttpPollingConnector.java Adds connector keywords for Modeler search.
connectors/http/graphql/src/main/java/io/camunda/connector/http/graphql/GraphQLFunction.java Adds connector keywords for Modeler search.
connectors/google/google-sheets/src/main/java/io/camunda/connector/gsheets/GoogleSheetsFunction.java Migrates from metadata.keywords to top-level keywords (+ expands keyword set).
connectors/google/google-gemini/src/main/java/io/camunda/connector/gemini/GeminiConnectorFunction.java Adds connector keywords for Modeler search.
connectors/google/google-gcs/src/main/java/io/camunda/connector/google/gcs/ObjectStorageConnectorFunction.java Migrates from metadata.keywords to top-level keywords (+ expands keyword set).
connectors/google/google-drive/src/main/java/io/camunda/connector/gdrive/GoogleDriveFunction.java Migrates from metadata.keywords to top-level keywords (+ expands keyword set).
connectors/email/src/main/java/io/camunda/connector/email/outbound/EmailConnectorFunction.java Migrates from metadata.keywords to top-level keywords (+ expands keyword set).
connectors/email/src/main/java/io/camunda/connector/email/inbound/EmailConnectorExecutable.java Migrates from metadata.keywords to top-level keywords (+ expands keyword set).
connectors/csv/src/main/java/io/camunda/connector/csv/CsvConnector.java Adds connector keywords for Modeler search.
connectors/camunda-message/src/main/java/io/camunda/connector/message/SendMessageConnectorFunction.java Adds connector keywords for Modeler search.
connectors/box/src/main/java/io/camunda/connector/box/BoxFunction.java Adds connector keywords for Modeler search.
connectors/aws/aws-textract/src/main/java/io/camunda/connector/textract/TextractConnectorFunction.java Migrates from metadata.keywords to top-level keywords (+ expands keyword set).
connectors/aws/aws-sqs/src/main/java/io/camunda/connector/outbound/SqsConnectorFunction.java Migrates from metadata.keywords to top-level keywords (+ expands keyword set).
connectors/aws/aws-sqs/src/main/java/io/camunda/connector/inbound/SqsExecutable.java Migrates from metadata.keywords to top-level keywords (+ expands keyword set).
connectors/aws/aws-sns/src/main/java/io/camunda/connector/sns/outbound/SnsConnectorFunction.java Migrates from metadata.keywords to top-level keywords (+ expands keyword set).
connectors/aws/aws-sns/src/main/java/io/camunda/connector/sns/inbound/SnsWebhookExecutable.java Migrates from metadata.keywords to top-level keywords (+ expands keyword set).
connectors/aws/aws-sagemaker/src/main/java/io/camunda/connector/sagemaker/SagemakerConnectorFunction.java Migrates from metadata.keywords to top-level keywords (+ expands keyword set).
connectors/aws/aws-s3/src/main/java/io/camunda/connector/aws/s3/S3ConnectorFunction.java Adds connector keywords for Modeler search.
connectors/aws/aws-lambda/src/main/java/io/camunda/connector/awslambda/LambdaConnectorFunction.java Migrates from metadata.keywords to top-level keywords (+ expands keyword set).
connectors/aws/aws-eventbridge/src/main/java/io/camunda/connector/aws/eventbridge/EventBridgeFunction.java Migrates from metadata.keywords to top-level keywords (+ expands keyword set).
connectors/aws/aws-dynamodb/src/main/java/io/camunda/connector/aws/dynamodb/AwsDynamoDbServiceConnectorFunction.java Migrates from metadata.keywords to top-level keywords (+ expands keyword set).
connectors/aws/aws-comprehend/src/main/java/io/camunda/connector/comprehend/ComprehendConnectorFunction.java Adds connector keywords for Modeler search.
connectors/aws/aws-bedrock/src/main/java/io/camunda/connector/aws/bedrock/BedrockConnectorFunction.java Migrates from metadata.keywords to top-level keywords (+ expands keyword set).
connectors/automation-anywhere/src/main/java/io/camunda/connector/automationanywhere/AutomationAnywhereConnector.java Migrates from metadata.keywords to top-level keywords (+ expands keyword set).
connectors/agentic-ai/src/main/java/io/camunda/connector/agenticai/aiagent/AiAgentFunction.java Migrates from metadata.keywords to top-level keywords.

Comment on lines 70 to 83
/**
* Element template description. Will be displayed along with the connector name in Camunda
* Modeler.
*
* <p>If not specified, the description will be empty.
*/
String description() default "";

Metadata metadata() default @Metadata;
/**
* Keywords used by Camunda Modeler to improve connector discoverability in search. Emitted at the
* root level of the generated element template JSON.
*/
String[] keywords() default {};

Copy link

Copilot AI Apr 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removing the nested @ElementTemplate.Metadata annotation and the metadata() attribute is a breaking change for any external connector projects depending on element-template-generator-annotations. Consider keeping metadata() (and the nested Metadata type) as a deprecated alias for at least one release, and have the generator merge keywords (prefer new keywords() when non-empty, otherwise fall back to metadata().keywords()). If the break is intentional, this should be paired with an explicit migration note and appropriate versioning/release notes.

Copilot uses AI. Check for mistakes.
@ztefanie ztefanie added this pull request to the merge queue Apr 21, 2026
Merged via the queue into main with commit 97240ae Apr 21, 2026
24 of 26 checks passed
@ztefanie ztefanie deleted the fix/keywords-of-java-connectors branch April 21, 2026 14:53
@github-actions
Copy link
Copy Markdown
Contributor

🎉 This pull request has been included in release 8.10.0-alpha1!

Thank you for your contribution! 🚀

@github-actions github-actions Bot added the version:8.10.0-alpha1 Released in version 8.10.0-alpha1 label May 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

version:8.10.0-alpha1 Released in version 8.10.0-alpha1

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants