Skip to main content

Export Component Metadata as JSON

What It Does

The Git Push system in JCB lets you automatically or manually:

  • Export your component as a versioned blueprint
  • Commit it to a local or remote Git repository
  • Track changes to blueprint structure, fields, views, templates, and more
  • Synchronize packages across environments or share updates with others

It treats your component like source code โ€” allowing you to work with branches, forks, and pull requests just like any software project.

Key Features

  • ๐Ÿ“ฆ Blueprint Packaging
    Every JCB component contains its own blueprint โ€” including all related views, fields, layouts, templates, custom code, Dynamic GETs, and metadata. When pushing to Git, this full definition is exported in JSON/YAML-like structures (within a repository-friendly format).
  • ๐Ÿ”„ Version Metadata
    The Git repo stores:
    • Component version & build ID
    • Change log from previous versions (optionally auto-generated)
    • Joomla version targets (e.g. J3/J4/J5)
    • Readme, license, contributors, etc.
  • ๐Ÿ–‡๏ธ Repository Binding
    You can configure each component in JCB to be linked to:
    • A specific Git remote (Gitea, GitHub, GitLab, Bitbucket, etc.)
    • A branch or release tag
    • A sync direction (push-only, pull-only, or bidirectional)
  • ๐Ÿ” Secure Push with SSH/HTTPS
    Pushes respect your system Git config, including SSH keys or stored credentials.
  • ๐Ÿ“ Commit Messages & Change Descriptions
    You can manually define commit messages before pushing โ€” or let JCB generate them based on detected entity changes.

Use Cases

  • Maintain blueprint version history alongside codebase
  • Enable team members to clone and import your component
  • Use CI to compile and test components before packaging
  • Distribute blueprint versions with rollback support
  • Store a single source of truth for shared libraries and templates

Workflow

  • Define or update your component in JCB
  • From the JCB compiler interface, select โ€œPush to Gitโ€
  • Choose destination repository, branch, and commit message
  • JCB builds the export bundle and commits it
  • You can then pull this bundle into another JCB instance via import

Best Practices

  • Commit early and often to track blueprint evolution
  • Use branches for major component versions
  • Push to a shared repository if working across teams
  • Combine with Auto-Compile and Changelog to enable full CI/CD pipelines

Conclusion

JCBโ€™s Git integration transforms your Joomla component into a fully versioned, shareable, and traceable software asset. By treating your blueprint as code, you gain control, collaboration, and automation โ€” all while retaining the visual editing power of JCB.

Summary

Joomla Component Builder (JCB) allows you to push your component packages โ€” including blueprint definitions, compiled ZIPs, and version metadata โ€” directly to a Git repository. This enables seamless integration with version control systems, CI/CD pipelines, and team collaboration workflows.