VCS settings API

Table of Contents

VCS API for managing version control repository settings.

Get VCS settings

URI: https://hub.cfengine.com/api/vcs/settings

Method: GET

Example request (curl):

curl -k --user <username>:<password> \
  -X GET \
  https://hub.cfengine.com/api/vcs/settings 
'

Example response:

{
    "meta": {
        "page": 1,
        "count": 10,
        "total": 1,
        "timestamp": 1535717855
    },
    "data": {
        "GIT_URL": "https://github.com/cfengine/masterfiles.git",
        "GIT_REFSPEC": "master",
        "GIT_USERNAME": "username",
        "GIT_PASSWORD": "passwordOrToken",
        "GIT_WORKING_BRANCH": "CF_WORKING_BRANCH",
        "PKEY": "/opt/cfengine/userworkdir/admin/.ssh/id_rsa.pvt",
        "SCRIPT_DIR": "/var/cfengine/httpd/htdocs/api/dc-scripts",
        "VCS_TYPE": "GIT"
    }
}

Change VCS settings

URI: https://hub.cfengine.com/api/vcs/settings

Method: POST

Parameters:

  • gitServer (string) Git repository URL Emp: https://github.com/cfengine/masterfiles.git. Required parameter.
  • gitRefspec (string) The git refspec to checkout. It can be a branch name, a tag name, a commit hash or a partial hash. Required parameter.
  • gitUsername (string) Git username for authentication, not needed for public repositories.
  • gitPassword (string) Git password or token for authentication, not needed for public repositories.
  • gitPrivateKey (string) Git private key raw content for authentication.

Example request (curl):

curl -k --user <username>:<password> \
  -X POST \
  https://hub.cfengine.com/api/vcs/settings \
  -H 'content-type: application/json' \
  -d '{
        "gitServer":"https://github.com/cfengine/masterfiles.git",
        "gitRefspec":"master",
        "gitUsername":"gituser",
        "gitPassword":"passwordOrToken",
        "gitPrivateKey" "Private key raw content"
      }
'

Example response:

 {
     "gitServer": "https://github.com/cfengine/masterfiles.git",
     "gitRefspec": "master",
     "gitUsername": "gituser",
     "gitPassword": "passwordOrToken",
     "gitPrivateKey": "/opt/cfengine/userworkdir/admin/.ssh/id_rsa.pvt"
 }