Skip to content

Commit

Permalink
fix(ingest/salesforce): escape markdown char for multiline description (
Browse files Browse the repository at this point in the history
  • Loading branch information
dushayntAW authored and sleeperdeep committed Jun 25, 2024
1 parent cba465c commit 1995d3c
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 14 deletions.
27 changes: 15 additions & 12 deletions metadata-ingestion/src/datahub/ingestion/source/salesforce.py
Original file line number Diff line number Diff line change
Expand Up @@ -537,11 +537,21 @@ def get_profile_workunit(

# Here field description is created from label, description and inlineHelpText
def _get_field_description(self, field: dict, customField: dict) -> str:
desc = field["Label"]
if field.get("FieldDefinition", {}).get("Description"):
desc = "{0}\n\n{1}".format(desc, field["FieldDefinition"]["Description"])
if field.get("InlineHelpText"):
desc = "{0}\n\n{1}".format(desc, field["InlineHelpText"])
desc = (
"\\" + field["Label"] if field["Label"].startswith("#") else field["Label"]
)

for key in ["FieldDefinition", "InlineHelpText"]:
text: Optional[str] = ""
if isinstance(field.get(key), dict):
text = field[key].get("Description")
else:
text = field.get(key)

if text:
prefix = "\\" if text.startswith("#") else ""
desc += f"\n\n{prefix}{text}"

return desc

# Here jsonProps is used to add additional salesforce field level properties.
Expand Down Expand Up @@ -575,13 +585,6 @@ def _get_schema_field(

description = self._get_field_description(field, customField)

# escaping string starting with `#`
description = (
"\\" + description
if description and description.startswith("#")
else description
)

schemaField = SchemaFieldClass(
fieldPath=fieldPath,
type=SchemaFieldDataTypeClass(type=TypeClass()), # type:ignore
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2517,6 +2517,7 @@
"QualifiedApiName": "Unique_Account",
"DeveloperName": "Unique_Account",
"Label": "# Unique_Account",
"InlineHelpText": "# Help Text",
"FieldDefinition": {
"attributes": {
"type": "FieldDefinition",
Expand All @@ -2527,7 +2528,8 @@
"LastModifiedBy": null,
"IsIndexed": false,
"ComplianceGroup": null,
"SecurityClassification": null
"SecurityClassification": null,
"Description": "This is the # description"
},
"DataType": "string",
"Precision": 0,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1354,7 +1354,7 @@
{
"fieldPath": "Unique_Account",
"nullable": true,
"description": "\\# Unique_Account",
"description": "\\# Unique_Account\n\nThis is the # description\n\n\\# Help Text",
"type": {
"type": {
"com.linkedin.schema.StringType": {}
Expand Down

0 comments on commit 1995d3c

Please sign in to comment.