AES integration with a Git source control repository

  • Release version: Washingtondc
  • Updated February 1, 2024
  • 2 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of AES Integration with a Git Source Control Repository

    The AES integration with a Git source control repository allows application developers to save and manage multiple versions of applications from a non-production instance. This integration streamlines collaboration among developers by enabling features such as importing applications, pulling remote changes, committing local changes, and managing application versions through tagging and branching.

    Show full answer Show less

    Key Features

    • Import applications from a Git repository.
    • Pull and apply remote changes.
    • Commit local changes to the Git repository.
    • Create tags for version management.
    • Create branches for simultaneous version maintenance.

    Integration Requirements

    • Admin role required for the user.
    • Network access from the non-production instance to the Git repository.
    • Each application must reside in its own Git repository.
    • Repository credentials must allow read and write access.

    Options Available from App Engine Studio

    • Edit application repository credentials.
    • Commit local changes and apply remote updates.
    • Create and switch branches.
    • Import applications from a remote repository.

    Note that source control integration is not supported for production instances.

    Repository Management

    Developers can modify linked application files outside of an instance, but the system generates a properties file to manage application paths. A checksum file helps validate changes made outside of App Engine Studio, ensuring integrity during source control operations.

    Sanitization Process

    The integration includes a sanitization process that:

    • Creates upgrade log entries for sanitization actions.
    • Removes unsupported files from the repository.
    • Aborts operations if system application files fail XML schema validation.
    • Skips operations for non-system application file validation failures.

    MID Server Support

    An existing MID Server can be utilized to connect to the source control repository, facilitating access to repositories located behind firewalls.

    Repository Configuration

    Users can edit the integration settings for a Git repository within App Engine Studio to adjust network protocols, credentials, or other configuration fields as needed.

    Enable application developers to integrate App Engine Studio (AES) with a Git source control repository to save and manage multiple versions of an application from a non-production instance.

    Linking an application to source control enables all application developers on a non-production instance to:
    • Import applications from a Git repository.
    • Pull and apply remote changes from a Git repository.
    • Commit all local changes on the instance to a Git repository.
    • Create tags to permanently link to a given version of an application.
    • Create branches to maintain multiple versions of an application simultaneously.

    Integration requirements

    To link an application to source control:
    • The user must have the admin role.
    • The non-production instance must have network access to the Git repository.
    • Each application must be within its own Git repository.
    • The repository user credentials must grant read and write access.
    Note:
    All application developers on the instance share a single set of credentials per repository.

    Options available from App Engine Studio

    After linking an application to source control, application developers can use App Engine Studio to manage the repository. From App Engine Studio, developers can:
    • Edit the application repository credentials.
    • Commit all local changes on the instance.
    • Apply remote changes from the repository.
    • Create a branch.
    • Switch branches.
    • Import an application from a remote repository.

    Source control integration does not support managing applications on a production instance. Instead, you can manage applications on a production instance using the application repository, an update set, or App Engine Studio. For more information about managing applications on a production instance, see Application sharing.

    Options available from a Git repository

    The ServiceNow platform offers limited support for modifying linked application files outside of an instance. From Git, developers can:
    • Move application files to a different Git directory structure.
    • Edit application files outside of App Engine Studio.

    The system generates a properties text file called sn_source_control.properties at the root level of the repository. To move application files to a different Git directory structure, application developers can set the path parameter to specify the subfolder path containing their application files. For example, if you moved your application to the src/app subfolder, set the path to path=src/app.

    The system generates a checksum.txt file in the Git repository to determine if any application files have been changed outside of App Engine Studio. When the checksum value from the file matches the current checksum value, the integration skips the validation and sanitization process. When the checksum values do not match, the integration validates and sanitizes the application files as part of the source control operation. The sanitization process:
    • Creates upgrade log entries for each sanitization action taken.
    • Removes unsupported folders and files from the repository.
    • Aborts all source control operations when a system application file fails XML schema validation. For example, if a database dictionary record fails XML schema validation, the system aborts all operations.
    • Skips the current source control operation when a non-system application file fails XML schema validation.

    The Git integration sanitizes only content within the application path listed in the sn_source_control.properties file. Repository content outside the application path is ignored.

    MID Server support

    Use an existing MID Server to connect to a source control repository. Connecting an application through a MID Server enables access to repositories behind a firewall.

    Source control role permissions

    For more information on roles and collaborators, see Application collaboration.