Skip to content

Conversation

Copy link

Copilot AI commented Jan 18, 2026

📥 Pull Request

✨ Description of new changes

Summary

Extends export/import format support beyond Notebook to include SparkJobDefinition (V1/V2) and SemanticModel (TMDL/TMSL), based on fabric-rest-api-specs analysis.

Implementation

Format mappings added:

  • SparkJobDefinition: SparkJobDefinitionV1 (default), SparkJobDefinitionV2
  • SemanticModel: TMDL (default), TMSL
  • Notebook: Added explicit format names (ipynb, fabricGitSource) alongside existing .py/.ipynb

Core changes:

  • fab_types.py: Extended definition_format_mapping with new formats
  • fab_fs_import_item.py: Replaced hardcoded .py/.ipynb validation with dynamic mapping lookup
  • fab_fs_export_item.py: Dynamic format validation against item type mappings
  • fab_item.py: Updated get_payload() to handle format parameter dynamically; simplified Notebook format logic
  • common.py: Added invalid_format() for consistent error messaging across export/import
  • fab_fs_parser.py: Enhanced help text with format examples

Usage:

# Export with format
fab export ws/sjd.SparkJobDefinition -o /tmp --format SparkJobDefinitionV2
fab export ws/sm.SemanticModel -o /tmp --format TMSL

# Import with format
fab import sjd.SparkJobDefinition -i /tmp/sjd --format SparkJobDefinitionV2 -f

Testing:

  • Added 9 unit tests for format mapping and validation
  • All 211 existing tests pass
  • CodeQL: 0 vulnerabilities

Format parameter is optional (defaults used) maintaining backward compatibility.


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI and others added 4 commits January 18, 2026 15:32
…port

Co-authored-by: ayeshurun <98805507+ayeshurun@users.noreply.github.com>
Co-authored-by: ayeshurun <98805507+ayeshurun@users.noreply.github.com>
Co-authored-by: ayeshurun <98805507+ayeshurun@users.noreply.github.com>
…otebook format logic

Co-authored-by: ayeshurun <98805507+ayeshurun@users.noreply.github.com>
Copilot AI changed the title [WIP] Add support for export and import item formats feat(export/import): add format support for SparkJobDefinition and SemanticModel Jan 18, 2026
Copilot AI requested a review from ayeshurun January 18, 2026 15:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants