Version 3+

Base API url path <CONFLUENCE_BASE_URL>/rest/microsoft-teams/1.0/configuration

GET /configuration?spaceKey=<SPACE_KEY>

Where spaceKey is an optional filter.

Gets global or space configurations

[
    {
        "id": 3,
        "key": "480bddfe-5cfa-4e03-922f-1e10a6097c75",
        "spaceKey": "ds",
        "webhookUrl": "https://moveworkforward.outlook.com/mwf",
        "destinations": [
            {
                "useUrl": true,
                "url": "https://moveworkforward.outlook.com/mwf"
            }
        ],
        "events": [
            "PAGE_CREATED",
            "COMMENT_CREATED"
        ],
        "name": "The name",
        "configuration": {
            "filters": {
                "includeGroupNames": [],
                "includeUsers": [],
                "excludeGroupNames": [],
                "excludeUsers": [],
                "labelMatchingStrategy": "ALL",
                "labels": [],
                "topicMatchingStrategy": "ALL",
                "topics": []
            }
        },
        "enabled": true
    },
    {
      "id": 4,
      "key": "480bddfe-5cfa-4e03-922f-1e10a6097c76",
      "spaceKey": "ds",
      "webhookUrlId": 4,
      "destinations": [
          {
              "useUrl": false,
              "urlId": 4
          }
      ],
      "events": [
          "PAGE_CREATED",
          "COMMENT_CREATED"
      ],
      "name": "The name",
      "configuration": {
          "filters": {
              "includeGroupNames": [],
              "includeUsers": [],
              "excludeGroupNames": [],
              "excludeUsers": [],
              "labelMatchingStrategy": "ALL",
              "labels": [],
              "topicMatchingStrategy": "ALL",
              "topics": []
          }
      },
      "enabled": true
  }
]
JSON

POST /configuration

Creates or saves configuration

The example payload

{
    "id": 0,
    "enabled": true,
    "tag": "ds",
    "spaceKey": "ds",
    "destinations": [
        {
            "url": "https://moveworkforward.outlook.com/mwf",
            "useUrl": true
        }
    ],
    "name": "The name",
    "events": [
        "PAGE_CREATED",
        "COMMENT_CREATED"
    ],
    "configuration": {
        "filters": {
            "excludeGroupNames": [],
            "excludeUsers": [],
            "includeGroupNames": [],
            "includeUsers": [],
            "labelMatchingStrategy": "ALL",
            "labels": [],
            "topicMatchingStrategy": "ALL",
            "topics": []
        }
    }
}
CODE

Using a managed webhook url

{
    "id": 3,
    "key": "480bddfe-5cfa-4e03-922f-1e10a6097c75",
    "spaceKey": "ds",
    "webhookUrlId": 4,
    "destinations": [
        {
            "useUrl": false,
            "urlId": 4
        }
    ],
    "events": [
        "PAGE_CREATED",
        "COMMENT_CREATED"
    ],
    "name": "The name",
    "configuration": {
        "filters": {
            "includeGroupNames": [],
            "includeUsers": [],
            "excludeGroupNames": [],
            "excludeUsers": [],
            "labelMatchingStrategy": "ALL",
            "labels": [],
            "topicMatchingStrategy": "ALL",
            "topics": []
        }
    },
    "enabled": true
}
CODE

DELETE /configuration

Deletes an existing configuration

The body should be in the JSON format

{
  "id": "<CONFIGURATION_ID>"
}
CODE

Version 2.17.4

Base API url path <CONFLUENCE_BASE_URL>/rest/microsoft-teams/1.0/configuration

GET /configuration?spaceKey=<SPACE_KEY>

Where spaceKey is an optional filter.

Gets global or space configurations

{
    "filters": [
        {
            "id": 1,
            "name": "Filter-Name",
            "enabled": true,
            "webHookURL": "https:\/\/incoming-webhook-url.moveworkforward.com",
            "eventTypes": [
                {
                    "type": "PULL_REQUEST_OPENED",
                    "name": "Pull Request Opened"
                },
                {
                    "type": "PULL_REQUEST_MERGED",
                    "name": "Pull Request Merged"
                }
            ],
            "projects": [
                {
                    "name": "Project 1",
                    "key": "PROJECT_1"
                }
            ],
            "repositories": [
                {
                    "slug": "rep_1",
                    "name": "rep_1",
                    "branches": [
                        "master",
                        "basic_branching"
                    ]
                }
            ]
        }
    ]
}
JSON

POST /configuration

Creates or saves configuration

The example payload

{
    "id": "39f3f786-4e82-4d39-8dea-a49af023de1a",
    "webHookUrl": "https://outlook.office.com/url",
    "events": [
        "COMMENT_CREATED",
        "PAGE_CREATED",
        "BLOGPOST_CREATED"
    ],
    "spaceKey": "ds"
}
CODE

DELETE /configuration

Deletes an existing configuration

The body should be in the JSON format

{
  "id": "<CONFIGURATION_ID>"
}
CODE