Skip to main content
System StatusContact Support
VersionOne Community

Receiving Change Submissions from Other Sources

Overview

Continuum can receive change submissions from other version control systems, provided the external system has the ability to construct a submission document in the appropriate schema.

Networking Requirements

The version control system will need outbound access to push events to Continuum on the default port of 8080. Continuum will need inbound access on the same port.

Setup Webhook

  1. Instructions will vary depending on the version control system.  Perform whatever setup is necessary to configure notifications of push/commit events.

  2. Configure the destination of the notification to the Continuum address as in the example that follows: http://continuum.mycompany.com:8080/api/submit_change

Setup Continuum Project

The Continuum Project must be configured as a Source type, with the Changes From set to Continuum Format Webhook.

Configure the Payload Schema

All submissions made to Continuum that are received by a Continuum Format Webhook must follow this schema exactly.

{
    "event_type": "<optional type of event (push, pull request, etc) (if omitted, submission is assumed to be a 'push')>",
    "ref": "<full path to the 'branch' or 'tree' this change came from' (ex. refs/heads/master)>",
    "branch": "<optional 'branch' name (will use 'ref' if omitted') (ex. master)>",
    "current_id": "<id of the most recent commit in the commits array>",
    "commits": [
        {
            "id": "<id of this commit (MUST BE UNIQUE among all changes from this source)>",
            "message": "<the change message>",
            "timestamp": "<change timestamp>",
            "url": "<optional URL to view this change in an external system>",
            "author": {
                "name": "<optional full name of the change author>",
                "email": "<optional email of the change author>",
                "username": "<username of the change author>"
            },
            "added": [<array of quoted file paths + names of added files>],
            "removed": [<array of quoted file paths + names of removed files],
            "modified": [<array of quoted file paths + names of modified files]
        }
    ],
    "repository": {
        "id": "<optional id of the repository or source>",
        "name": "<name of the repository or source>",
        "full_name": "<optional pretty name of the repository or source>",
        "url": "<optional URL to browse the contents of this repository or source>"
    }
}

Once the version control system is set up to send notifications to Continuum using the proper schema, you should be able to monitor the Project in Continuum, on the Submissions tab, and see the change submissions being accepted and processed.

Common problems to look for:

  • Submissions not being received by Continuum:

    • Wrong Continuum server address and port in VCS configuration

    • Network access from VCS server to Continuum server

    • Local firewall on Continuum server needs to allow port 8080

    • Improper notification configuration in VCS

  • Submissions are received but errors are shows in the Submission Log

    • Payload schema is incorrect

    • VCS notifications are doing a GET instead of a POST

    • Content-Type header is not application/json

 

If you continue to have problems with getting the changes posted from VCS to Continuum, contact support@versionone.com.

Next

Return to Connecting to Tools

  • Was this article helpful?