Edit in GitHubLog an issue

Understanding the API

The Cloud Manager API is composed of two components:

  • An inbound HTTP-based API which can be used by Cloud Manager customers to read and manipulate the state of their CI/CD pipelines.
  • An outbound event system which allows Cloud Manager customers to receive events when key events happen in their CI/CD pipelines.

While it is possible to use only one or the other of these components, in most cases integrations will use both components. That said, it is best to start with just one, get it working, and then move on to the other component.

The steps to get started are different for these two components. Read Create API Integration to get started with the inbound API and Create Event Integration to get started with the event API.

Resource Structure#

The HTTP API is designed to be resource-orientated. Cloud Manager entities are represented as individual resources in a structure based on the Hypertext Application Language (HAL) specification. Each resource is composed of three logical sections:

  • Regular properties of the resource, e.g. the name of a pipeline.
  • Links to other resources, e.g. a link from a pipeline to the list of executions of that pipeline.
  • Embedded resources, e.g. when retriving a list of pipelines, each pipeline is embedded in the list resource.

The embedded resources themselves may contain links and other embedded resources.

HAL Resource Structure

Links#

Links in a resource are defined using a link type (commonly called a "rel", short for relationship). The special link type self is a link to the resource itself.

Copied to your clipboard
1"_links": {
2 "http://ns.adobe.com/adobecloud/rel/execution": {
3 "href": "/api/program/4/pipeline/1/execution",
4 "templated": false
5 },
6 "http://ns.adobe.com/adobecloud/rel/executions": {
7 "href": "/api/program/4/pipeline/1/executions",
8 "templated": false
9 },
10 "http://ns.adobe.com/adobecloud/rel/program": {
11 "href": "/api/program/4",
12 "templated": false
13 },
14 "self": {
15 "href": "/api/program/4/pipeline/1",
16 "templated": false
17 }
18}

Links may be URI Templates in which case the templated property would be true. Links may also be arrays.

Embedded Resources#

Embedded resources are named, like links. In some cases, a resource may have a more constrained representation when embedded. These cases are indicated in the documentation and, should a full representation be necessary, the self link can be used to retrieve it.

Copied to your clipboard
1"_embedded": {
2 "pipelines": [
3 {
4 "_links": {...},
5 "id": "1",
6 "programId": "4",
7 "name": "main",
8 "trigger": "MANUAL",
9 "status": "IDLE",
10 "updatedAt": "2019-07-09T13:10:56.125+0000",
11 "lastStartedAt": "2019-07-09T02:05:42.134+0000",
12 "lastFinishedAt": "2019-07-09T13:10:56.033+0000"
13 }
14 ]
15}

Event Structure#

Events are represented as JSON objects which follow the Activity Stream specification. Each event has a type, contained in the @type property, and an object, defined in the activitystreams:object property. More information can be found on the Receiving Events page as well as the Reference Documentation.

Example#

Copied to your clipboard
1{
2 "event_id" : "3dd172b8-3e54-491b-b87c-409cb71c4bc3",
3 "event" : {
4 "@id" : "urn:oeid:cloudmanager:bc901126-5eb1-4942-a1d1-9ec3a17f8a7a",
5 "@type" : "https://ns.adobe.com/experience/cloudmanager/event/started",
6 "activitystreams:published" : "2021-08-23T08:37:41.846Z",
7 "activitystreams:to" : {
8 "@type" : "xdmImsOrg",
9 "xdmImsOrg:id" : "1234567890ABCDEF12345678@AdobeOrg"
10 },
11 "activitystreams:object" : {
12 "@id" : "https://cloudmanager.adobe.io/api/program/1/pipeline/2/execution/3",
13 "@type" : "https://ns.adobe.com/experience/cloudmanager/pipeline-execution"
14 },
15 "xdmEventEnvelope:objectType" : "https://ns.adobe.com/experience/cloudmanager/pipeline-execution"
16 }
17}
  • Privacy
  • Terms of Use
  • Do not sell my personal information
  • AdChoices
Copyright © 2022 Adobe. All rights reserved.