The ServiceNow® MID Server enables communication and the movement of data between a ServiceNow instance and external applications, data sources, and services.

How bundle files work with MID Server

The .bundle file helps source control function with a MID Server. A bundle file is the way Git packages a local repository in a single file. This makes sharing or moving the repository simpler and more streamlined. The file is then sent to the MID Server, which passes it on to the remote repository.

The outgoing.bundle (commit operations) and incoming.bundle (apply remote changes) are attached to the MID Server attachment table [ecc_agent_attachment] for any request that goes to the MID Server. The outgoing.bundle is created on the instance while the incoming.bundle is created on the MID Server.

After an operation completes successfully, the bundle file is “promoted” into a golden.bundle that is attached to the Repository configuration table [sys_repo_config]. It’s used to initialize the repository on a node that has not performed any Source Control operations yet.

The Auto Flush tool [sys_auto_flush] is a "table cleaner" that removes any ecc_agent_attachment record older than 30 days. This action removes the corresponding attachment as well.

The bundle files are kept on the MID Server and then saved to the Import directory on the MID Server.

On the MID Server, the bundle file is saved in the Import folder. This folder is under the user directory defined by the system property (user.dir), which users can configure. The bundle file is removed as part of the system flushing at the end of every operation.

Working with the MID Server

Note: Source control operations can take more time for larger applications when using an MID server, as the entire app is bundled after an export and is dependant on the size of the app.