From 40a0489a801e8d3749c06268aa0d0a4f0da16682 Mon Sep 17 00:00:00 2001 From: Ellie O'Neil <110510035+eboneil@users.noreply.github.com> Date: Tue, 9 Apr 2024 02:46:44 -0700 Subject: [PATCH] feat(api): add description parameter to editable dataset change entity event (#10237) --- .../datahub-api/entity-events-api.md | 64 +++++++++++++++++++ ...DatasetPropertiesChangeEventGenerator.java | 4 ++ ...DatasetPropertiesChangeEventGenerator.java | 4 ++ 3 files changed, 72 insertions(+) diff --git a/docs/managed-datahub/datahub-api/entity-events-api.md b/docs/managed-datahub/datahub-api/entity-events-api.md index 23499904d5505..ebc3bb97f9554 100644 --- a/docs/managed-datahub/datahub-api/entity-events-api.md +++ b/docs/managed-datahub/datahub-api/entity-events-api.md @@ -346,6 +346,70 @@ This event is emitted when an existing owner has been removed from an entity on } ``` +### Add Description Event + +This event is emitted when a description has been added to an entity on DataHub. + +#### Header + +
CategoryOperationEntity Types
DOCUMENTATIONADDdataset, dashboard, chart, dataJob, dataFlow , container, glossaryTerm, domain, tag
+ +#### Parameters + +| Name | Type | Description | Optional | +|-------------| ------ |--------------------------------------------------------------------------------------------------------------| -------- | +| description | String | The description that has been added. | False | + +#### Sample Event + +``` +{ + "entityUrn": "urn:li:dataset:abc", + "entityType": "dataset", + "category": "DOCUMENTATION", + "operation": "ADD", + "parameters": { + "description": "This is a new description" + }, + "auditStamp": { + "actor": "urn:li:corpuser:jdoe", + "time": 1706646452982 + } +} +``` + +### Remove Description Event + +This event is emitted when an existing description has been removed from an entity on DataHub. + +#### Header + +
CategoryOperationEntity Types
DOCUMENTATIONREMOVEdataset, dashboard, chart, dataJob, container ,dataFlow , glossaryTerm, domain, tag
+ +#### Parameters + +| Name | Type | Description | Optional | +|-------------| ------ |----------------------------------------| -------- | +| description | String | The description that has been removed. | False | + +#### Sample Event + +``` +{ + "entityUrn": "urn:li:dataset:abc", + "entityType": "dataset", + "category": "DOCUMENTATION", + "operation": "REMOVE", + "parameters": { + "description": "This is the removed description" + }, + "auditStamp": { + "actor": "urn:li:corpuser:jdoe", + "time": 1706646452982 + } +} +``` + ### Modify Deprecation Event This event is emitted when the deprecation status of an entity has been modified on DataHub. diff --git a/metadata-io/src/main/java/com/linkedin/metadata/timeline/eventgenerator/DatasetPropertiesChangeEventGenerator.java b/metadata-io/src/main/java/com/linkedin/metadata/timeline/eventgenerator/DatasetPropertiesChangeEventGenerator.java index 850df81675b8c..27ccb777a6677 100644 --- a/metadata-io/src/main/java/com/linkedin/metadata/timeline/eventgenerator/DatasetPropertiesChangeEventGenerator.java +++ b/metadata-io/src/main/java/com/linkedin/metadata/timeline/eventgenerator/DatasetPropertiesChangeEventGenerator.java @@ -5,6 +5,7 @@ import com.datahub.util.RecordUtils; import com.github.fge.jsonpatch.JsonPatch; +import com.google.common.collect.ImmutableMap; import com.linkedin.common.AuditStamp; import com.linkedin.common.urn.Urn; import com.linkedin.dataset.DatasetProperties; @@ -42,6 +43,7 @@ private static List computeDiffs( .operation(ChangeOperation.ADD) .semVerChange(SemanticChangeType.MINOR) .description(String.format(DESCRIPTION_ADDED, entityUrn, targetDescription)) + .parameters(ImmutableMap.of("description", targetDescription)) .auditStamp(auditStamp) .build()); } else if (baseDescription != null && targetDescription == null) { @@ -53,6 +55,7 @@ private static List computeDiffs( .operation(ChangeOperation.REMOVE) .semVerChange(SemanticChangeType.MINOR) .description(String.format(DESCRIPTION_REMOVED, entityUrn, baseDescription)) + .parameters(ImmutableMap.of("description", baseDescription)) .auditStamp(auditStamp) .build()); } else if (baseDescription != null @@ -67,6 +70,7 @@ private static List computeDiffs( .semVerChange(SemanticChangeType.MINOR) .description( String.format(DESCRIPTION_CHANGED, entityUrn, baseDescription, targetDescription)) + .parameters(ImmutableMap.of("description", targetDescription)) .auditStamp(auditStamp) .build()); } diff --git a/metadata-io/src/main/java/com/linkedin/metadata/timeline/eventgenerator/EditableDatasetPropertiesChangeEventGenerator.java b/metadata-io/src/main/java/com/linkedin/metadata/timeline/eventgenerator/EditableDatasetPropertiesChangeEventGenerator.java index 1ffcd3cfc2ba4..ed52b1df99981 100644 --- a/metadata-io/src/main/java/com/linkedin/metadata/timeline/eventgenerator/EditableDatasetPropertiesChangeEventGenerator.java +++ b/metadata-io/src/main/java/com/linkedin/metadata/timeline/eventgenerator/EditableDatasetPropertiesChangeEventGenerator.java @@ -4,6 +4,7 @@ import com.datahub.util.RecordUtils; import com.github.fge.jsonpatch.JsonPatch; +import com.google.common.collect.ImmutableMap; import com.linkedin.common.AuditStamp; import com.linkedin.common.urn.Urn; import com.linkedin.dataset.EditableDatasetProperties; @@ -57,6 +58,7 @@ private static ChangeEvent getDescriptionChangeEvent( .operation(ChangeOperation.ADD) .semVerChange(SemanticChangeType.MINOR) .description(String.format(DESCRIPTION_ADDED, entityUrn, targetDescription)) + .parameters(ImmutableMap.of("description", targetDescription)) .auditStamp(auditStamp) .build(); } else if (baseDescription != null && targetDescription == null) { @@ -67,6 +69,7 @@ private static ChangeEvent getDescriptionChangeEvent( .operation(ChangeOperation.REMOVE) .semVerChange(SemanticChangeType.MINOR) .description(String.format(DESCRIPTION_REMOVED, entityUrn, baseDescription)) + .parameters(ImmutableMap.of("description", baseDescription)) .auditStamp(auditStamp) .build(); } else if (baseDescription != null @@ -80,6 +83,7 @@ private static ChangeEvent getDescriptionChangeEvent( .semVerChange(SemanticChangeType.MINOR) .description( String.format(DESCRIPTION_CHANGED, entityUrn, baseDescription, targetDescription)) + .parameters(ImmutableMap.of("description", targetDescription)) .auditStamp(auditStamp) .build(); }