[
https://issues.apache.org/jira/browse/CAMEL-23576?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrea Cosentino resolved CAMEL-23576.
--------------------------------------
Resolution: Fixed
> camel-jira - align Exchange header constant names with Camel naming convention
> ------------------------------------------------------------------------------
>
> Key: CAMEL-23576
> URL: https://issues.apache.org/jira/browse/CAMEL-23576
> Project: Camel
> Issue Type: Improvement
> Components: camel-jira
> Reporter: Andrea Cosentino
> Assignee: Andrea Cosentino
> Priority: Major
> Fix For: 4.14.8, 4.18.3, 4.21.0
>
>
> The Exchange header constants defined in
> {{org.apache.camel.component.jira.JiraConstants}} use string values that do
> not follow the Camel naming convention ({{CamelJira*}}). Examples:
> * {{ISSUE_KEY = "IssueKey"}}
> * {{ISSUE_PROJECT_KEY = "ProjectKey"}}
> * {{ISSUE_TRANSITION_ID = "IssueTransitionId"}}
> * {{ISSUE_ASSIGNEE = "IssueAssignee"}} / {{ISSUE_ASSIGNEE_ID =
> "IssueAssigneeId"}}
> * {{ISSUE_SUMMARY = "IssueSummary"}}
> * {{ISSUE_TYPE_ID = "IssueTypeId"}} / {{ISSUE_TYPE_NAME = "IssueTypeName"}}
> * {{ISSUE_PRIORITY_ID = "IssuePriorityId"}} / {{ISSUE_PRIORITY_NAME =
> "IssuePriorityName"}}
> * {{ISSUE_COMPONENTS = "IssueComponents"}}
> * {{ISSUE_COMMENT = "IssueComment"}}
> * {{ISSUE_CHANGED = "IssueChanged"}}
> * {{ISSUE_WATCHED_ISSUES = "IssueWatchedIssues"}}
> * {{ISSUE_WATCHERS_ADD = "IssueWatchersAdd"}} / {{ISSUE_WATCHERS_REMOVE =
> "IssueWatchersRemove"}}
> * {{PARENT_ISSUE_KEY = "ParentIssueKey"}} / {{CHILD_ISSUE_KEY =
> "ChildIssueKey"}}
> * {{LINK_TYPE = "linkType"}}
> * {{MINUTES_SPENT = "minutesSpent"}}
> Sibling components ({{camel-cxf}} in CAMEL-23526, {{camel-aws-bedrock}} in
> CAMEL-23461, and others) have already been migrated to put their
> producer-facing Exchange header constants inside the {{Camel<Component>*}}
> namespace so they fall within the default {{HeaderFilterStrategy}}
> ({{Camel*}} / {{org.apache.camel.*}}) at transport boundaries. The remaining
> non-prefixed values in {{JiraConstants}} are the last block in this family
> for the JIRA component.
> h3. Proposed change
> Rename the *string values* of the constants to the {{CamelJira*}} namespace,
> keeping the Java field names unchanged so routes that reference the constants
> symbolically continue to work without modification.
> {code:java}
> // Before
> String ISSUE_KEY = "IssueKey";
> String ISSUE_PROJECT_KEY = "ProjectKey";
> String LINK_TYPE = "linkType";
> String MINUTES_SPENT = "minutesSpent";
> // After
> String ISSUE_KEY = "CamelJiraIssueKey";
> String ISSUE_PROJECT_KEY = "CamelJiraIssueProjectKey";
> String LINK_TYPE = "CamelJiraLinkType";
> String MINUTES_SPENT = "CamelJiraMinutesSpent";
> {code}
> Producers that read these headers ({{DeleteIssueProducer}},
> {{TransitionIssueProducer}}, {{AddIssueProducer}}, {{UpdateIssueProducer}},
> {{AddIssueLinkProducer}}, {{WatcherProducer}}, {{AddWorkLogProducer}}) only
> reference the Java fields and need no source changes. Tests that use the
> constants symbolically also need no changes. Tests, examples, or user routes
> that use the literal string values ({{"IssueKey"}}, {{"ProjectKey"}}, etc.)
> must be updated.
> h3. Compatibility
> This is a behavioural change for users that set the headers via literal
> string values. It must be documented in the 4.x upgrade guide
> ({{docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_21.adoc}} and
> the matching 4_18 / 4_14 backport guides).
> h3. Files to update
> *
> {{components/camel-jira/src/main/java/org/apache/camel/component/jira/JiraConstants.java}}
> * {{components/camel-jira/src/main/docs/jira-component.adoc}} (regenerated
> catalog)
> * Generated
> {{components/camel-jira/src/generated/resources/org/apache/camel/component/jira/jira.json}}
> * {{docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_21.adoc}}
> (and matching 4_18 / 4_14 for backports)
> h3. Backports
> The defect predates 4.x; the same {{JiraConstants}} layout exists on
> {{camel-4.18.x}} and {{camel-4.14.x}}. Plan to backport to 4.18.3 and 4.14.8
> alongside 4.21.0.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)