Overview

JFrog Pipelines provides a convenient and up-to-date self-descriptive API that can be used by various tools/frameworks to automate the creation and execution of pipelines.

Usage

Pipelines REST API endpoints can be invoked in any of the standard ways to invoke a RESTful API. This section describes how to use the Pipelines REST API using cURL as an example.

You can download cURL here. Learn how to use and configure cURL here.

Authentication

Pipelines' REST API requires using an access token as a bearer token in the authorization header.

The example below demonstrates how to invoke the REST API to get the list of configured pipelines.

  • You have JFrog Pipelines running on your local system, on port 8082 (http://localhost:8082/pipelines/api)

  • You have created an access token

$ curl -H 'Authorization: Bearer <token>' 'http://localhost:8082/pipelines/api/v1/pipelines' -X GET -H 'Content-Type: application/json'


SYSTEM

Get Status Codes

Description: Gets all status/system codes used in various parts of the system.

Security: Requires a valid user 
Usage: GET api/v1/systemCodes?group=status
Produces: application/json

Query Parameters:

Parameter

Type

Description

Required/Optional

group

String

A filter on the list based on the group property of systemCodes.

Optional

Response:

200 OK
[
    {
        "code": 4000,
        "name": "queued",
        "group": "status",
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "code": 4001,
        "name": "processing",
        "group": "status",
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "code": 4002,
        "name": "success",
        "group": "status",
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "code": 4003,
        "name": "failure",
        "group": "status",
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "code": 4004,
        "name": "error",
        "group": "status",
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "code": 4005,
        "name": "waiting",
        "group": "status",
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "code": 4006,
        "name": "cancelled",
        "group": "status",
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "code": 4007,
        "name": "unstable",
        "group": "status",
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "code": 4008,
        "name": "skipped",
        "group": "status",
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "code": 4009,
        "name": "timeout",
        "group": "status",
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "code": 4010,
        "name": "stopped",
        "group": "status",
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "code": 4011,
        "name": "deleted",
        "group": "status",
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "code": 4012,
        "name": "cached",
        "group": "status",
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "code": 4013,
        "name": "cancelling",
        "group": "status",
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "code": 4014,
        "name": "timingOut",
        "group": "status",
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "code": 4015,
        "name": "creating",
        "group": "status",
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "code": 4016,
        "name": "ready",
        "group": "status",
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "code": 4017,
        "name": "online",
        "group": "status",
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "code": 4018,
        "name": "offline",
        "group": "status",
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "code": 4019,
        "name": "unhealthy",
        "group": "status",
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "code": 4020,
        "name": "onlineRequested",
        "group": "status",
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "code": 4021,
        "name": "offlineRequested",
        "group": "status",
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "code": 4022,
        "name": "pendingApproval",
        "group": "status",
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    }
]

Get System Information

Description: Gets system version and service ID information.

Security: Requires a valid user 
Usage: GET api/v1/system/info
Produces: application/json

Sample Response:

200 OK
{ 
  "version": "1.1.0", 
  "serviceId": "string"
}

Get System Config Status

Description: Gets a boolean to show the status of Pipelines config. If you have added/edited nodePool/pipelineSource/projectIntegration, this API returns hasPipelinesConfigChanged as true. If no configs have changed, this API returns hasPipelinesConfigChanged as false.

Security: Requires a valid user
Usage: GET api/v1/system/configStatus
Consumes: application/json

Query Parameters: None

Produces: application/json

Sample Response:

{
    "hasPipelinesConfigChanged": true
}

Response Codes: 

200: Success


Get System Health Status

Description: Gets system health status report.

Security: Requires a valid user
Usage: GET api/v1/system/system/health
Consumes: application/json

Query Parameters: None

Produces: application/json

Sample Response:

{
    "isHealthy": true,
    "timestamp": "2021-04-19T10:28:08.788Z",
    "services": [
        {
            "name": "RabbitMQ HTTPS",
            "healthCheckEnabled": true,
            "isHealthy": true,
            "timestamp": "2021-04-19T10:28:08.626Z"
        },
        {
            "name": "RabbitMQ AMQPS",
            "healthCheckEnabled": true,
            "isHealthy": true,
            "timestamp": "2021-04-19T10:28:08.788Z"
        },
        {
            "name": "PostgresDB",
            "healthCheckEnabled": true,
            "isHealthy": true,
            "timestamp": "2021-04-19T10:27:09.653Z"
        },
        {
            "name": "Vault",
            "healthCheckEnabled": true,
            "isHealthy": true,
            "timestamp": "2021-04-19T10:28:08.619Z"
        },
        {
            "name": "Artifactory (Access)",
            "healthCheckEnabled": true,
            "isHealthy": true,
            "timestamp": "2021-04-19T10:27:08.979Z"
        }
    ]
}

Response Codes: 

200: Success


PROJECTS

Get Projects

Description: Gets a list of projects.

Security: Requires admin credentials
Usage: GET api/v1/projects

Produces: application/json

Query String Parameters:

Parameter

Type

Description

Required/Optional

projectIds

String

A filter on the list based on the id  property of the project. Expects a comma separated string of projectIds.

Optional

names

String

A filter on the list based on the name  property of the project. Expects a comma separated string of names.

Optional

sourceIds

String

A filter on the list based on the sourceId  property of the project. Expects a comma separated string of sourceIds.

Optional

providerIds

String

A filter on the list based on the providerId  property of the project. Expects a comma separated string of providerIds.

Optional

Response:

[
    {
        "systemPropertyBag": {
            "nodeUserName": "jediretocisohuno",
            "nodePassword": "7HrVQOj2U4Hx25Sw",
            "sshPublicKey": "ssh-rsa {snipped for brevity}\n",
  	  		"sshPrivateKey": "-----BEGIN RSA PRIVATE KEY-----\n{snipped for brevity}\n-----END RSA PRIVATE KEY-----\n"
		},
        "configPropertyBag": {
            "defaultNodePoolId": 1
        },
        "id": 1,
        "name": "default",
        "sourceId": "default_source_id",
        "providerId": 1,
        "isOrphaned": false,
        "createdAt": "2019-05-01T00:00:00.000Z",
        "updatedAt": "2021-02-10T06:59:34.521Z"
    }
]

Response Codes: 

200: Success
400: If required fields are not included in the request body or if there are invalid parameters.


BUILD PLANE IMAGES

Get Build Plane Image Ids

Description: Gets a list of machine Image Ids used to bring up dynamic nodes. 

Security: Requires admin credentials
Usage: GET api/v1/buildPlaneImages

Produces: application/json

Query Parameters:

Parameter

Data Type

Description

Required/Optional

buildPlaneImageIds

String

A filter on the list based on the id property of the buildPlaneImage. Expects a comma separated string of buildPlaneImageIds.

Required

masterIntegrationIds

String

A filter on the list based on the masterIntegrationId that the buildPlaneImage belongs to. Expects a comma separated list of masterIntegrationIds. For more information, see Get MasterIntegrations.

Required

isAvailable

Boolean

A filter on the list based on the isAvailable property of buildPlaneImage.

Required

Sample Response:

[
    {
        "metadataPropertyBag": {
            "projectName": "pipelines-cloud-stg",
            "imageName": "us-west1-image-for-x86-64-ubuntu20-1620598096542"
        },
        "id": 8,
        "name": "us-west1 image for x86_64 Ubuntu_20.04",
        "masterIntegrationId": 76,
        "imageId": "9171597764075670053",
        "region": "us1",
        "isAvailable": true,
        "architecture": "x86_64",
        "operatingSystem": "Ubuntu_20.04",
        "createdAt": "2021-01-06T00:00:00.000Z",
        "updatedAt": "2021-01-06T00:00:00.000Z"
    },
    {
        "metadataPropertyBag": {
            "type": "published",
            "plan": {
                "name": "x86_64-ubuntu_20_04",
                "product": "pipelines-buildplane",
                "publisher": "jfrog"
            }
        },
        "id": 95,
        "name": "westeurope image for x86_64 Ubuntu_20.04",
        "masterIntegrationId": 87,
        "imageId": "jg:pipelines-buildplane:x86_64-ubuntu_20_04:1.10.1:pe",
        "region": "westeurope",
        "isAvailable": true,
        "architecture": "x86_64",
        "operatingSystem": "Ubuntu_20.04",
        "createdAt": "2021-03-16T00:00:00.000Z",
        "updatedAt": "2021-03-16T00:00:00.000Z"
    },
    {
        "metadataPropertyBag": {
            "type": "published",
            "plan": {
                "name": "x86_64-ubuntu_20_04",
                "product": "pipelines-buildplane",
                "publisher": "jfrog"
            }
        },
        "id": 96,
        "name": "eastus image for x86_64 Ubuntu_20.04",
        "masterIntegrationId": 87,
        "imageId": "jg:pipelines-buildplane:x86_64-ubuntu_20_04:1.10.1:tus",
        "region": "eastus",
        "isAvailable": true,
        "architecture": "x86_64",
        "operatingSystem": "Ubuntu_20.04",
        "createdAt": "2021-03-16T00:00:00.000Z",
        "updatedAt": "2021-03-16T00:00:00.000Z"
    }
]

NODES

Add a Node

Description: Adds a node

Security: Requires admin credentials
Usage: POST api/v1/nodes

Produces: application/json

Parameters:

Parameter

Data Type

Description

Required/Optional

projectId

Integer

Id of the Project.

Required

friendlyName

String

Name of the node pool.

Required

isOnDemand

Boolean

Set to true for dynamic node pool. Set to false for static node pool.

Required
isAutoInitializedBooleanDetermine auto or manual initialization.Required
IPAddressStringNode address for auto-initialization.Required if isAutoInitialized is set as true.

isSwapEnabledBoolean

Enable/disable the use of swap space to increase the amount of virtual memory available to the node. 

Not available to Windows node pools.

Optional
sshPortString

Port to use for SSH for auto-initialization. This is usually port 22, but is configurable.

For Auto initialization type only.

Optional
instanceIdString
Optional
nodePoolIdIntegerId of the node pool.Required
providerMetadataPropertyBag

Object containing configuration for the cloud provider of on-demand node.

You can set the following properties:

  • sshUser
  • sshPort
  • region
  • instanceSize
  • imageId
  • zone
  • imageMetadata
  • nicName
  • vmName
  • resourceGroupName
  • subscriptionId
  • subnetName
  • vnetName
  • securityGroupName
  • tags
  • publicSshKey
  • adminUsername
  • adminPassword
Optional

Sample Request:

curl -L -X POST 'http://localhost:8082/pipelines/api/v1/nodes' \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json' \
--data-raw '{
    "projectId": 1,
    "friendlyName": "node1",
    "isOnDemand": true,
    "isAutoInitialized": false,
    "nodePoolId": 2
}'

Sample Response:

{
    "instanceInfo": null,
    "providerMetadataPropertyBag": {
        "instanceSize": "n1-standard-1",
        "operatingSystem": "Ubuntu_18.04",
        "uniqueToken": "bd7e3519-aab5-4422-a539-8132494d4175"
    },
    "initPropertyBag": {
        "insecureDockerRegistries": []
    },
    "systemPropertyBag": {
        "token": "358e3342-7d8f-4bf2-b783-b25bbc90f605"
    },
    "id": 340,
    "projectId": 1,
    "statusCode": 4005,
    "friendlyName": "node1",
    "isAutoInitialized": false,
    "instanceId": null,
    "IPAddress": null,
    "isOnDemand": true,
    "statusLastUpdatedAt": "2021-04-30T11:58:18.013Z",
    "isSwapEnabled": false,
    "createdBy": "3",
    "updatedBy": "3",
    "stopRequested": false,
    "nodePoolId": 2,
    "intendedBuildPlaneVersion": "0.0.0-m000",
    "projectIntegrationId": 11,
    "sshPort": null,
    "sshUser": null,
    "updatedAt": "2021-04-30T11:58:18.079Z",
    "createdAt": "2021-04-30T11:58:18.013Z",
    "isDebug": null,
    "currentBuildPlaneVersion": null,
    "stepId": null,
    "lastInitializedAt": null,
    "provisionedAt": null
}

Response Codes: 

200: Success
400: If required fields are not included in the request body or if there are invalid parameters.


Delete a Node

DescriptionDeletes a node based on node Id. 

Security: Requires a valid user
Usage: DELETE api/v1/nodes/{nodeId}

Produces: application/json

URL parameters:

Parameter

Description

nodeId

Id of the node to be deleted.

ParametersIgnored

Request Parameters: Ignored

Sample Response:

  {
    "id": 2
  }

Response Codes: 
200: Success

400: If the id is not an integer

404: If the node is not found

Get Nodes

DescriptionGets a list of nodes.

Security: Requires a valid user
Usage: GET api/v1/nodes

Produces: application/json

Query Parameters:

Parameter

Data Type

Description

Required/Optional

limit

Integer

A limit on the number of nodes returned.

Optional
skipIntegerA cursor for use in pagination. `skip` defines the number of nodes skipped.Optional
isOnDemandBooleanSet to true for dynamic node pool. Set to false for static node pool.Optional
provisionedAtStringA filter on the list based on the provisionedAt property of the node.Optional
statusLastUpdatedAtStringA filter on the list based on the `statusLastUpdatedAt` property of the node.Optional
isAutoInitializedBooleanA filter on the list based on the `isAutoInitialized` property of the node.Optional
lastInitializedAtBooleanA filter on the list based on the `lastInitializedAt` property of the node. Exact matches only.Optional
nodeIdsStringA filter on the list based on the `id` property of the node. Expects a comma separated string of nodeIds.Optional
nodePoolIdsStringA filter on the list based on the `nodePoolId` property of the node. Expects a comma separated string of nodePoolIds.Optional
projectIdsStringA filter on the list based on the `projectId` property of the node. Expects a comma separated string of projectIds.Optional
statusCodesStringA filter on the list based on the `statusCode` property of the node. Expects a comma separated string of statusCodes.Optional
statusStringA filter on the list based on the 'status' of the node. Expects a comma separated value of statuses, which have corresponding systemCodes.Optional
sortByStringThe node properties to sort the results by. Expects a comma separated list of sorters.Optional
sortOrderIntegerA sort order based on the `sortBy` defined. If `1`, sorts the list in ascending order. If `-1`, sorts the list in descending order.Optional

Sample Response

[
    {
        "instanceInfo": null,
        "providerMetadataPropertyBag": null,
        "initPropertyBag": {
            "insecureDockerRegistries": [
                "146.148.104.158:8082"
            ]
        },
        "systemPropertyBag": {
            "token": "e772f6f5-54ff-44e6-adfc-76b2b4a65610"
        },
        "id": 2,
        "projectId": 1,
        "statusCode": 4002,
        "friendlyName": "test",
        "currentBuildPlaneVersion": "1.7.9",
        "intendedBuildPlaneVersion": "1.7.9",
        "isOnDemand": false,
        "isAutoInitialized": true,
        "isDebug": null,
        "isSwapEnabled": false,
        "IPAddress": "34.122.216.34",
        "sshPort": 22,
        "sshUser": "root",
        "instanceId": null,
        "stepId": null,
        "statusLastUpdatedAt": "2021-03-31T20:02:06.112Z",
        "lastInitializedAt": "2021-02-10T07:12:03.000Z",
        "provisionedAt": null,
        "projectIntegrationId": null,
        "nodePoolId": 1,
        "stopRequested": false,
        "createdBy": "3",
        "updatedBy": "5",
        "createdAt": "2021-02-10T07:11:56.557Z",
        "updatedAt": "2021-03-31T20:02:06.112Z"
    }
]

Response Codes: 

200: Success


Get a Node

DescriptionGets a node based on node Id.

Security: Requires a valid user
Usage: GET api/v1/nodes/:nodeId

Produces: application/json

URL parameters:

Parameter

Data Type

Description

nodeid

Integer

The numeric id of the node being requested

Sample Response

[
    {
        "instanceInfo": null,
        "providerMetadataPropertyBag": null,
        "initPropertyBag": {
            "insecureDockerRegistries": [
                "146.148.104.158:8082"
            ]
        },
        "systemPropertyBag": {
            "token": "e772f6f5-54ff-44e6-adfc-76b2b4a65610"
        },
        "id": 2,
        "projectId": 1,
        "statusCode": 4002,
        "friendlyName": "test",
        "currentBuildPlaneVersion": "1.7.9",
        "intendedBuildPlaneVersion": "1.7.9",
        "isOnDemand": false,
        "isAutoInitialized": true,
        "isDebug": null,
        "isSwapEnabled": false,
        "IPAddress": "34.122.216.34",
        "sshPort": 22,
        "sshUser": "root",
        "instanceId": null,
        "stepId": null,
        "statusLastUpdatedAt": "2021-03-31T20:02:06.112Z",
        "lastInitializedAt": "2021-02-10T07:12:03.000Z",
        "provisionedAt": null,
        "projectIntegrationId": null,
        "nodePoolId": 1,
        "stopRequested": false,
        "createdBy": "3",
        "updatedBy": "5",
        "createdAt": "2021-02-10T07:11:56.557Z",
        "updatedAt": "2021-03-31T20:02:06.112Z"
    }
]

Response Codes: 

200: Success


NODE STATS

Get Node Stats

DescriptionGets a a list of node stats.

Security: Requires a valid user
Usage: GET api/v1/nodeStats

Produces: application/json 

Parameters:

Parameter

Data Type

Description

Required/Optional

nodeId

String

A filter on the list based on the nodeId property of the nodeStat. Expects a comma separated string of nodeIds.

Required

limit

Integer

A limit on the number of nodeStats returned.

Optional

skip

Integer

A cursor for use in pagination. This parameter defines the number of nodeStats skipped.

Optional

reportedBefore

String

A filter on the list that returns stats that have reportedAt property less than reportedBefore.

Format: date-time

Optional
reportedAfterString

A filter on the list that returns stats that have reportedAt property greater than reportedAfter.

Format: date-time

Optional
sortByStringThe nodeStat properties to sort the results by. Expects a comma separated list of sorters.Optional
sortOrderIntegerA sort order based on the sortBy defined. If '1', sorts the list in ascending order. If '-1', sorts the list in descending order.Optional

Sample Response

[]

Response Codes: 

200: Success


NODE POOLS

Add a Node Pool

Description: Adds a node pool

Security: Requires admin credentials
Usage: POST api/v1/nodePools

Produces: application/json

Parameters:

Parameter

Data Type

Description

Required/Optional

projectId

Integer

Id of the Project.

Required

name

String

Name of the node pool.

Required

isOnDemand

Boolean

Set to true for dynamic node pool. Set to false for static node pool.

Required

architecture

String

Set the architecture. This is currently limited to x86_64.

Required

operatingSystem

String

Operating systems supported for the selected architecture.

For a list of supported OS and architecture combinations, refer to Runtime Images.

Required

nodeIdleIntervalInMins

IntegerNumber of minutes a node can be idle before it is destroyed.Required for dynamic node pools (if isOnDemand is set as true).

buildPlaneImageId

Integer

The build plane image Id. For more information, see Get Build Plane Image Ids.

Required for dynamic node pools.

projectIntegrationId

Integer

The project integration Id. For information about obtaining integration Id's, see Get All Integrations.

For more information, see Dynamic Node Integrations.

Required for dynamic node pools.

providerMetadataPropertyBag

Object

Object containing configuration for the cloud provider of on-demand nodePool.

You can set the following properties:

  • sshUser
  • sshPort
  • keyPairName
  • securityGroupId
  • subnetId
  • instanceSize
  • subnetName
  • networkTags
  • zone
  • assignPublicIp
  • publicSshKey
  • subscriptionId
  • resourceGroupName
  • securityGroupName
  • vnetName
  • adminUsername
  • adminPassword
  • cpu
  • memory
  • storageClass
  • labels
  • namespace
Required for dynamic node pools

project

String

An object containing a project name as an alternative to projectId.

You can set the following properties:

  • Name: Name of the Project.
  • KeyA unique Project Key to identify and group your Projects.
Optional

environments

String

An array of string environments to which the node pool is available in the project.

Optional

timeoutMS

Integer

The maximum time (in minutes) after which pipeline steps will timeout. This timeout is used when your step does not have any timeout specified.

Default value for timeout is 60 minutes.

Optional

maxDiskUsagePercentage

Integer

Limits the maximum disk usage. A build node that exceeds this maximum will be marked as failed. 

Integer between 0 and 100

Optional

diskSizeinGB

Integer

Configure dynamic node disk size.

The minimum limit is:

  • AWS (Windows):  120 GB
  • Azure (Windows): 128 GB
  • Others: 60 GB
  • This option is available for Pipelines on-premise versions only.
  • If the disk size is not specified, the node will use the image’s disk size by default.

Optional

isNatEnabled

Boolean

When set to trueenables NAT.

Optional
isCacheEnabledBooleanWhen set to trueenables node caching.Optional

cacheSettingsPropertyBag

Integer

Object containing cache settings if isCacheEnabled is set to true.

  • nodeStopSetting
  • nodeStopDayOfWeek: On the day of the week
  • nodeStopIntervalDays: By the number of days

Example

"cacheSettingsPropertyBag": {

"nodeStopSetting": "nodeStopIntervalDays",

"nodeStopDayOfWeek": "sunday";

"nodeStopIntervalDays": 1;

Optional

permissions

Object

Set permissions to restrict node pool use.

You can set the following properties:

  • allowAllPipelineSources: Add all the existing and future Pipeline Sources including to this permission target.
  • includePatterns: Specify an include pattern.
  • excludePatterns: Specify an exclude pattern.
Optional
allowAllPipelineSourcesBooleanWhen set as true, pipelines loaded from any pipeline source can use this node pool.

Set as false to restrict node pool use to a set of pipeline sources.

Optional

initPropertyBag

Object

Contains configuration to be applied during node initialization.

The following property can be set:

insecureDockerRegistries: List of insecure docker registries to be allowed on the node.

Optional

Sample Request:

curl -L -X POST 'http://localhost:8082/pipelines/api/v1/nodepools' \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json' \
--data-raw '{
    "providerMetadataPropertyBag": {
        "instanceSize": "n1-standard-1",
        "subnetName": "jfrog-usw1-dynamicnodes",
        "networkTags": [
            "behind-nat",
            "jenkins",
            "pipelines",
            "xray-app",
            "xray-apps"
        ],
        "zone": "us-west1-b"
    },
    "projectId": 1,
    "name": "NodePool2",
    "isOnDemand": true,
    "architecture": "x86_64",
    "operatingSystem": "Ubuntu_18.04",
    "projectIntegrationId": 11,
    "buildPlaneImageId": 17,
    "nodeIdleIntervalInMins": 20
}'

Sample Response:

{
    "providerMetadataPropertyBag": {
        "instanceSize": "n1-standard-1",
        "subnetName": "jfrog-usw1-dynamicnodes",
        "networkTags": [
            "behind-nat",
            "jenkins",
            "pipelines",
            "xray-app",
            "xray-apps"
        ],
        "zone": "us-west1-b"
    },
    "cacheSettingsPropertyBag": null,
    "initPropertyBag": null,
    "permissions": {
        "allowAllPipelineSources": true
    },
    "id": 10,
    "projectId": 1,
    "name": "NodePool2",
    "isOnDemand": true,
    "architecture": "x86_64",
    "operatingSystem": "Ubuntu_18.04",
    "buildPlaneImageId": 17,
    "nodeIdleIntervalInMins": 20,
    "projectIntegrationId": 11,
    "isCacheEnabled": false,
    "numberOfNodes": 1,
    "maxDiskUsagePercentage": 90,
    "updatedAt": "2021-04-30T12:26:37.540Z",
    "createdAt": "2021-04-30T12:26:37.540Z",
    "environments": null,
    "queueName": null,
    "timeoutMS": null,
    "isNatEnabled": null,
    "diskSizeinGB": null
}

Response Codes: 

200: Success
400: If required fields are not included in the request body or if there are invalid parameters.


Update a Node Pool

Description: Updates a node pool

Security: Requires admin credentials
Usage: POST api/v1/nodePools/{nodePoolId}

Produces: application/json

URL Parameters:

Parameter

Data Type

Description

nodePoolId

Integer

Numeric node pool Id

Parameters:

Parameter

Data Type

Description

Required/Optional

name

String

Name of the node pool.

Required

environments

String

An array of string environments to which the node pool is available in the project.

Optional

operatingSystem

String

Operating systems supported for the selected architecture.

For a list of supported OS and architecture combinations, refer to Runtime Images.

Required

timeoutMS

Integer

The maximum time (in minutes) after which pipeline steps will timeout. This timeout is used when your step does not have any timeout specified.

Default value for timeout is 60 minutes.

Optional

maxDiskUsagePercentage

Integer

Limits the maximum disk usage. A build node that exceeds this maximum will be marked as failed. 

Integer between 0 and 100

Optional

diskSizeinGB

Integer

Configure dynamic node disk size.

The minimum limit is:

  • AWS (Windows):  120 GB
  • Azure (Windows): 128 GB
  • Others: 60 GB
  • This option is available for Pipelines on-premise versions only.
  • If the disk size is not specified, the node will use the image’s disk size by default.

Optional

nodeIdleIntervalInMins

IntegerNumber of minutes a node can be idle before it is destroyed.Required for dynamic node pools (if isOnDemand is set as true).

isNatEnabled

Boolean

When set to trueenables NAT.

Optional
isCacheEnabledBooleanWhen set to trueenables node caching.Optional

cacheSettingsPropertyBag

Integer

Object containing cache settings if isCacheEnabled is set to true.

  • nodeStopSetting
  • nodeStopDayOfWeek: On the day of the week
  • nodeStopIntervalDays: By the number of days

Example

"cacheSettingsPropertyBag": {

"nodeStopSetting": "nodeStopIntervalDays",

"nodeStopDayOfWeek": "sunday";

"nodeStopIntervalDays": 1;

Optional

buildPlaneImageId

Integer

The build plane image Id. For more information, see Get Build Plane Image Ids.

Required for static node pool.

projectIntegrationId

Integer

The project integration Id. For information about obtaining integration Id's, see Get All Integrations.

For more information, see Dynamic Node Integrations.

Required for dynamic node pool.

providerMetadataPropertyBag

Object

Object containing configuration for the cloud provider of on-demand nodePool.

You can set the following properties:

  • sshUser
  • sshPort
  • keyPairName
  • securityGroupId
  • subnetId
  • instanceSize
  • subnetName
  • networkTags
  • zone
  • assignPublicIp
  • publicSshKey
  • subscriptionId
  • resourceGroupName
  • securityGroupName
  • vnetName
  • adminUsername
  • adminPassword
  • cpu
  • memory
  • storageClass
  • labels
  • namespace
Optional

permissions

Object

Set permissions to restrict node pool use.

You can set the following properties:

  • allowAllPipelineSources: Add all the existing and future Pipeline Sources including to this permission target.
  • includePatterns: Specify an include pattern.
  • excludePatterns: Specify an exclude pattern.
Optional
allowAllPipelineSourcesBooleanWhen set to true, pipelines loaded from any pipeline source can use this node pool.

Set to false to restrict node pool use to a set of pipeline sources.

Optional

initPropertyBag

Object

Contains configuration to be applied during node initialization.

The following property can be set:

insecureDockerRegistries: List of insecure docker registries to be allowed on the node.

Optional

Response:

{
    "providerMetadataPropertyBag": null,
    "numberOfNodes": 1,
    "id": 6,
    "projectId": 1,
    "name": "node_pool",
    “Environments”: [“DEV”,”PROD”],
    "isOnDemand": false,
    “isCacheEnabled”: null,
    “architecture”: “x86_64”,
    “operatingSystem”: “Ubuntu_18.04”,
    “cacheSettingsPropertyBag”: null,
    "isNatEnabled": false,
    "updatedAt": "2019-05-31T23:22:26.681Z",
    "createdAt": "2019-05-31T23:22:26.681Z",
    "queueName": null,
    "maxDiskUsagePercentage": 90,
    "timeoutMS": null,
    "permissions": {
      "pipelineSources": {
        "allowAllPipelineSources": true
      }
    },
    "initPropertyBag": {
      "insecureDockerRegistries": [
        	"0.0.0.0"
    	]
    }
}

Delete a Node Pool

DescriptionDeletes a node pool based on node pool Id. 

Security: Requires a valid user
Usage: DELETE api/v1/nodePools/{nodePoolId}

Produces: application/json

URL parameters:

Parameter

Description

nodePoolId

Id of the node pool to be deleted.

ParametersIgnored

Request Parameters: Ignored

Sample Response:

  {
    "id": 2
  }

Response Codes: 
200: Success

400: If the node pool id is not an integer

404: If the node pool is not found


Get Node Pools

DescriptionGets a collection of node pools entities.

Security: Requires a valid user
Usage: GET api/v1/nodePools

Produces: application/json

Parameters:

Parameter

Data Type

Description

nodePoolIds

Integer

Comma separated list of numeric nodePool ids

projectIds

Integer

Comma separated list of numeric project ids

projectIntegrationIds

Integer

Comma separated list of numeric projectIntegration ids

names

String

Comma-separated list of the names of the nodePools 

Sample Response

An array of node pools that satisfy all the supplied query parameters. Returns all node pools if no query parameters are supplied.

[
    {
        "providerMetadataPropertyBag": {
            "instanceSize": "n1-standard-1",
            "subnetName": "jfrog-usw1-dynamicnodes",
            "networkTags": [
                "behind-nat",
                "jenkins",
                "pipelines",
                "xray-app",
                "xray-apps"
            ],
            "zone": "us-west1-b"
        },
        "cacheSettingsPropertyBag": null,
        "initPropertyBag": {
            "insecureDockerRegistries": []
        },
        "permissions": {
            "allowAllPipelineSources": true
        },
        "id": 2,
        "projectId": 1,
        "environments": null,
        "name": "u18-vms",
        "queueName": null,
        "numberOfNodes": 3,
        "isOnDemand": true,
        "architecture": "x86_64",
        "operatingSystem": "Ubuntu_18.04",
        "maxDiskUsagePercentage": 90,
        "diskSizeinGB": null,
        "timeoutMS": null,
        "isNatEnabled": null,
        "isCacheEnabled": false,
        "projectIntegrationId": 11,
        "buildPlaneImageId": 17,
        "nodeIdleIntervalInMins": 20,
        "createdAt": "2021-01-25T02:38:56.322Z",
        "updatedAt": "2021-01-25T02:38:56.322Z"
    },
    {
        "providerMetadataPropertyBag": null,
        "cacheSettingsPropertyBag": null,
        "initPropertyBag": {
            "insecureDockerRegistries": []
        },
        "permissions": {
            "allowAllPipelineSources": true
        },
        "id": 1,
        "projectId": 1,
        "environments": null,
        "name": "win_2019",
        "queueName": null,
        "numberOfNodes": null,
        "isOnDemand": false,
        "architecture": "x86_64",
        "operatingSystem": "WindowsServer_2019",
        "maxDiskUsagePercentage": 90,
        "diskSizeinGB": null,
        "timeoutMS": null,
        "isNatEnabled": null,
        "isCacheEnabled": null,
        "projectIntegrationId": null,
        "buildPlaneImageId": null,
        "nodeIdleIntervalInMins": null,
        "createdAt": "2021-01-17T14:05:46.289Z",
        "updatedAt": "2021-02-03T18:13:05.672Z"
    },
    {
        "providerMetadataPropertyBag": {
            "keyPairName": "pipelines_testing",
            "securityGroupId": "sg-0a21d376a34db8ae5",
            "subnetId": "subnet-0e4461a8e780478a6",
            "instanceSize": "c4.large"
        },
        "cacheSettingsPropertyBag": null,
        "initPropertyBag": {
            "insecureDockerRegistries": []
        },
        "permissions": {
            "allowAllPipelineSources": true
        },
        "id": 5,
        "projectId": 1,
        "environments": null,
        "name": "awswin_2019",
        "queueName": null,
        "numberOfNodes": 3,
        "isOnDemand": true,
        "architecture": "x86_64",
        "operatingSystem": "WindowsServer_2019",
        "maxDiskUsagePercentage": 90,
        "diskSizeinGB": null,
        "timeoutMS": null,
        "isNatEnabled": null,
        "isCacheEnabled": false,
        "projectIntegrationId": 29,
        "buildPlaneImageId": 7,
        "nodeIdleIntervalInMins": 20,
        "createdAt": "2021-03-19T18:46:42.051Z",
        "updatedAt": "2021-03-19T19:12:34.449Z"
    }
]

Response Codes: 

200: Success


MASTER INTEGRATIONS

Get all Integrations

DescriptionGets a list of integrations.

Security: Requires a valid user
Usage: GET api/v1/masterIntegrations

Produces: application/json

Query Parameters: None

Sample Response

[
    {
        "id": 94,
        "name": "airBrakeKey",
        "type": "generic",
        "typeCode": 5012,
        "displayName": "Airbrake",
        "isEnabled": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2018-09-11T00:00:00.000Z",
        "updatedAt": "2018-09-11T00:00:00.000Z"
    },
    {
        "id": 46,
        "name": "amazonKeys",
        "type": "generic",
        "typeCode": 5012,
        "displayName": "AWS",
        "isEnabled": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 98,
        "name": "artifactory",
        "type": "generic",
        "typeCode": 5012,
        "displayName": "Artifactory",
        "isEnabled": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2017-11-03T00:00:00.000Z",
        "updatedAt": "2017-11-03T00:00:00.000Z"
    },
    {
        "id": 87,
        "name": "azureKeys",
        "type": "generic",
        "typeCode": 5012,
        "displayName": "Azure Keys",
        "isEnabled": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2017-11-15T00:00:00.000Z",
        "updatedAt": "2017-11-15T00:00:00.000Z"
    },
    {
        "id": 16,
        "name": "bitbucket",
        "type": "scm",
        "typeCode": 5000,
        "displayName": "Bitbucket",
        "isEnabled": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 90,
        "name": "bitbucketServerBasic",
        "type": "scm",
        "typeCode": 5000,
        "displayName": "Bitbucket Server",
        "isEnabled": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 100,
        "name": "distribution",
        "type": "generic",
        "typeCode": 5012,
        "displayName": "Distribution",
        "isEnabled": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2017-11-03T00:00:00.000Z",
        "updatedAt": "2017-11-03T00:00:00.000Z"
    },
    {
        "id": 67,
        "name": "DOC",
        "type": "generic",
        "typeCode": 5012,
        "displayName": "Digital Ocean",
        "isEnabled": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 77,
        "name": "dockerRegistryLogin",
        "type": "generic",
        "typeCode": 5012,
        "displayName": "Docker Registry",
        "isEnabled": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2017-10-13T00:00:00.000Z",
        "updatedAt": "2017-10-13T00:00:00.000Z"
    },
    {
        "id": 96,
        "name": "fileServer",
        "type": "generic",
        "typeCode": 5012,
        "displayName": "File Server",
        "isEnabled": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2019-04-04T00:00:00.000Z",
        "updatedAt": "2010-04-04T00:00:00.000Z"
    },
    {
        "id": 76,
        "name": "gcloudKey",
        "type": "generic",
        "typeCode": 5012,
        "displayName": "Google Cloud",
        "isEnabled": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2017-10-04T00:00:00.000Z",
        "updatedAt": "2017-10-04T00:00:00.000Z"
    },
    {
        "id": 99,
        "name": "generic",
        "type": "generic",
        "typeCode": 5012,
        "displayName": "Generic Integration",
        "isEnabled": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2019-05-28T00:00:00.000Z",
        "updatedAt": "2019-05-28T00:00:00.000Z"
    },
    {
        "id": 20,
        "name": "github",
        "type": "scm",
        "typeCode": 5000,
        "displayName": "GitHub",
        "isEnabled": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 15,
        "name": "githubEnterprise",
        "type": "scm",
        "typeCode": 5000,
        "displayName": "Github Enterprise",
        "isEnabled": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 21,
        "name": "gitlab",
        "type": "scm",
        "typeCode": 5000,
        "displayName": "GitLab",
        "isEnabled": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 97,
        "name": "incomingWebhook",
        "type": "generic",
        "typeCode": 5012,
        "displayName": "Incoming Webhook",
        "isEnabled": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2017-11-03T00:00:00.000Z",
        "updatedAt": "2017-11-03T00:00:00.000Z"
    },
    {
        "id": 101,
        "name": "jenkins",
        "type": "generic",
        "typeCode": 5012,
        "displayName": "Jenkins",
        "isEnabled": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2019-07-31T00:00:00.000Z",
        "updatedAt": "2019-07-31T00:00:00.000Z"
    },
    {
        "id": 102,
        "name": "jenkinsCreds",
        "type": "generic",
        "typeCode": 5012,
        "displayName": "Jenkins Server",
        "isEnabled": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2019-07-31T00:00:00.000Z",
        "updatedAt": "2019-07-31T00:00:00.000Z"
    },
    {
        "id": 88,
        "name": "jira",
        "type": "generic",
        "typeCode": 5012,
        "displayName": "Jira",
        "isEnabled": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2018-03-21T00:00:00.000Z",
        "updatedAt": "2017-03-21T00:00:00.000Z"
    },
    {
        "id": 86,
        "name": "kubernetesConfig",
        "type": "generic",
        "typeCode": 5012,
        "displayName": "Kubernetes",
        "isEnabled": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2017-11-03T00:00:00.000Z",
        "updatedAt": "2017-11-03T00:00:00.000Z"
    },
    {
        "id": 95,
        "name": "newRelicKey",
        "type": "generic",
        "typeCode": 5012,
        "displayName": "NewRelic",
        "isEnabled": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2018-09-11T00:00:00.000Z",
        "updatedAt": "2018-09-11T00:00:00.000Z"
    },
    {
        "id": 83,
        "name": "outgoingWebhook",
        "type": "generic",
        "typeCode": 5012,
        "displayName": "Outgoing Webhook",
        "isEnabled": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2017-11-03T00:00:00.000Z",
        "updatedAt": "2017-11-03T00:00:00.000Z"
    },
    {
        "id": 103,
        "name": "pagerDutyKey",
        "type": "generic",
        "typeCode": 5012,
        "displayName": "PagerDuty Events",
        "isEnabled": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2020-12-03T00:00:00.000Z",
        "updatedAt": "2020-12-03T00:00:00.000Z"
    },
    {
        "id": 72,
        "name": "pemKey",
        "type": "generic",
        "typeCode": 5012,
        "displayName": "PEM Key",
        "isEnabled": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 78,
        "name": "slackKey",
        "type": "generic",
        "typeCode": 5012,
        "displayName": "Slack",
        "isEnabled": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2017-10-24T00:00:00.000Z",
        "updatedAt": "2017-10-24T00:00:00.000Z"
    },
    {
        "id": 50,
        "name": "smtpCreds",
        "type": "generic",
        "typeCode": 5012,
        "displayName": "SMTP Credentials",
        "isEnabled": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 71,
        "name": "sshKey",
        "type": "generic",
        "typeCode": 5012,
        "displayName": "SSH Key",
        "isEnabled": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    }
]


Response Codes: 

200: Success


MASTER INTEGRATION FIELDS

Get all Master Integration Fields

DescriptionGets a list of all integration types used to create master integrations.

Security: Requires a valid user
Usage: GET api/v1/masterIntegrationFields

Produces: application/json

Query Parameters: None

Parameter

Type

Description

Required/Optional

limit

Integer

A limit on the number of masterIntegrationFields returned.

Optional

skip

Integer

A cursor for use in pagination. `skip` defines the number of masterIntegrationFields skipped.

Optional

masterIntegrationIds

String

A filter on the list based on the `masterIntegrationId` that the masterIntegrationField belongs to. Expects a comma separated list of masterIntegrationIds. For more information, see Get Integrations.

Optional

Sample Response

[
    {
        "id": 150,
        "masterIntegrationId": 46,
        "name": "accessKeyId",
        "dataType": "string",
        "isRequired": true,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 331,
        "masterIntegrationId": 98,
        "name": "apikey",
        "dataType": "string",
        "isRequired": true,
        "isSecure": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 337,
        "masterIntegrationId": 100,
        "name": "apikey",
        "dataType": "string",
        "isRequired": true,
        "isSecure": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 271,
        "masterIntegrationId": 87,
        "name": "appId",
        "dataType": "string",
        "isRequired": true,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2017-11-15T00:00:00.000Z",
        "updatedAt": "2017-11-15T00:00:00.000Z"
    },
    {
        "id": 344,
        "masterIntegrationId": 97,
        "name": "authorization",
        "dataType": "string",
        "isRequired": false,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 260,
        "masterIntegrationId": 83,
        "name": "authorization",
        "dataType": "string",
        "isRequired": false,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2017-11-03T00:00:00.000Z",
        "updatedAt": "2017-11-03T00:00:00.000Z"
    },
    {
        "id": 347,
        "masterIntegrationId": 83,
        "name": "authType",
        "dataType": "string",
        "isRequired": true,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2017-11-03T00:00:00.000Z",
        "updatedAt": "2017-11-03T00:00:00.000Z"
    },
    {
        "id": 343,
        "masterIntegrationId": 97,
        "name": "authType",
        "dataType": "string",
        "isRequired": true,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 334,
        "masterIntegrationId": 98,
        "name": "distributionUrl",
        "dataType": "string",
        "isRequired": false,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 333,
        "masterIntegrationId": 99,
        "name": "envs",
        "dataType": "object",
        "isRequired": true,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2019-05-28T00:00:00.000Z",
        "updatedAt": "2019-05-28T00:00:00.000Z"
    },
    {
        "id": 342,
        "masterIntegrationId": 101,
        "name": "hookPassword",
        "dataType": "string",
        "isRequired": true,
        "isSecure": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2019-08-20T00:00:00.000Z",
        "updatedAt": "2019-08-20T00:00:00.000Z"
    },
    {
        "id": 341,
        "masterIntegrationId": 101,
        "name": "hookUsername",
        "dataType": "string",
        "isRequired": true,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2019-08-20T00:00:00.000Z",
        "updatedAt": "2019-08-20T00:00:00.000Z"
    },
    {
        "id": 165,
        "masterIntegrationId": 50,
        "name": "host",
        "dataType": "string",
        "isRequired": true,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 352,
        "masterIntegrationId": 102,
        "name": "jenkinsToken",
        "dataType": "string",
        "isRequired": true,
        "isSecure": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2019-08-20T00:00:00.000Z",
        "updatedAt": "2019-08-20T00:00:00.000Z"
    },
    {
        "id": 351,
        "masterIntegrationId": 102,
        "name": "jenkinsUsername",
        "dataType": "string",
        "isRequired": true,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2019-08-20T00:00:00.000Z",
        "updatedAt": "2019-08-20T00:00:00.000Z"
    },
    {
        "id": 240,
        "masterIntegrationId": 76,
        "name": "jsonKey",
        "dataType": "string",
        "isRequired": true,
        "isSecure": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 230,
        "masterIntegrationId": 72,
        "name": "key",
        "dataType": "string",
        "isRequired": true,
        "isSecure": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 270,
        "masterIntegrationId": 86,
        "name": "kubeconfig",
        "dataType": "string",
        "isRequired": true,
        "isSecure": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2017-11-06T00:00:00.000Z",
        "updatedAt": "2017-11-06T00:00:00.000Z"
    },
    {
        "id": 243,
        "masterIntegrationId": 77,
        "name": "password",
        "dataType": "string",
        "isRequired": true,
        "isSecure": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2017-10-14T00:00:00.000Z",
        "updatedAt": "2017-10-14T00:00:00.000Z"
    },
    {
        "id": 286,
        "masterIntegrationId": 90,
        "name": "password",
        "dataType": "string",
        "isRequired": true,
        "isSecure": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 164,
        "masterIntegrationId": 50,
        "name": "password",
        "dataType": "string",
        "isRequired": false,
        "isSecure": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 346,
        "masterIntegrationId": 83,
        "name": "password",
        "dataType": "string",
        "isRequired": false,
        "isSecure": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2017-11-03T00:00:00.000Z",
        "updatedAt": "2017-11-03T00:00:00.000Z"
    },
    {
        "id": 272,
        "masterIntegrationId": 87,
        "name": "password",
        "dataType": "string",
        "isRequired": true,
        "isSecure": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2017-11-15T00:00:00.000Z",
        "updatedAt": "2017-11-15T00:00:00.000Z"
    },
    {
        "id": 317,
        "masterIntegrationId": 96,
        "name": "password",
        "dataType": "string",
        "isRequired": false,
        "isSecure": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2019-04-04T00:00:00.000Z",
        "updatedAt": "2019-04-04T00:00:00.000Z"
    },
    {
        "id": 319,
        "masterIntegrationId": 97,
        "name": "password",
        "dataType": "string",
        "isRequired": false,
        "isSecure": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 166,
        "masterIntegrationId": 50,
        "name": "port",
        "dataType": "string",
        "isRequired": false,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 229,
        "masterIntegrationId": 71,
        "name": "privateKey",
        "dataType": "string",
        "isRequired": true,
        "isSecure": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 320,
        "masterIntegrationId": 96,
        "name": "protocol",
        "dataType": "string",
        "isRequired": true,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2019-04-04T00:00:00.000Z",
        "updatedAt": "2019-04-04T00:00:00.000Z"
    },
    {
        "id": 168,
        "masterIntegrationId": 50,
        "name": "proxy",
        "dataType": "string",
        "isRequired": false,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 228,
        "masterIntegrationId": 71,
        "name": "publicKey",
        "dataType": "string",
        "isRequired": true,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 348,
        "masterIntegrationId": 83,
        "name": "secret",
        "dataType": "string",
        "isRequired": false,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2017-11-03T00:00:00.000Z",
        "updatedAt": "2017-11-03T00:00:00.000Z"
    },
    {
        "id": 151,
        "masterIntegrationId": 46,
        "name": "secretAccessKey",
        "dataType": "string",
        "isRequired": true,
        "isSecure": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 167,
        "masterIntegrationId": 50,
        "name": "secure",
        "dataType": "string",
        "isRequired": false,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 169,
        "masterIntegrationId": 50,
        "name": "senderEmail",
        "dataType": "string",
        "isRequired": false,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 353,
        "masterIntegrationId": 100,
        "name": "signingKeyPassphrase",
        "dataType": "string",
        "isRequired": false,
        "isSecure": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2020-09-01T00:00:00.000Z",
        "updatedAt": "2020-09-01T00:00:00.000Z"
    },
    {
        "id": 273,
        "masterIntegrationId": 87,
        "name": "tenant",
        "dataType": "string",
        "isRequired": true,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2017-11-15T00:00:00.000Z",
        "updatedAt": "2017-11-15T00:00:00.000Z"
    },
    {
        "id": 312,
        "masterIntegrationId": 94,
        "name": "token",
        "dataType": "string",
        "isRequired": true,
        "isSecure": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-09-11T00:00:00.000Z",
        "updatedAt": "2016-09-11T00:00:00.000Z"
    },
    {
        "id": 40,
        "masterIntegrationId": 15,
        "name": "token",
        "dataType": "string",
        "isRequired": true,
        "isSecure": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 314,
        "masterIntegrationId": 95,
        "name": "token",
        "dataType": "string",
        "isRequired": true,
        "isSecure": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2018-09-11T00:00:00.000Z",
        "updatedAt": "2018-09-11T00:00:00.000Z"
    },
    {
        "id": 53,
        "masterIntegrationId": 21,
        "name": "token",
        "dataType": "string",
        "isRequired": true,
        "isSecure": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 355,
        "masterIntegrationId": 103,
        "name": "token",
        "dataType": "string",
        "isRequired": true,
        "isSecure": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2017-10-24T00:00:00.000Z",
        "updatedAt": "2017-10-24T00:00:00.000Z"
    },
    {
        "id": 350,
        "masterIntegrationId": 102,
        "name": "token",
        "dataType": "string",
        "isRequired": true,
        "isSecure": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2019-08-20T00:00:00.000Z",
        "updatedAt": "2019-08-20T00:00:00.000Z"
    },
    {
        "id": 51,
        "masterIntegrationId": 20,
        "name": "token",
        "dataType": "string",
        "isRequired": true,
        "isSecure": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 214,
        "masterIntegrationId": 67,
        "name": "token",
        "dataType": "string",
        "isRequired": true,
        "isSecure": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 41,
        "masterIntegrationId": 16,
        "name": "token",
        "dataType": "string",
        "isRequired": true,
        "isSecure": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 276,
        "masterIntegrationId": 88,
        "name": "token",
        "dataType": "string",
        "isRequired": true,
        "isSecure": true,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2018-03-21T00:00:00.000Z",
        "updatedAt": "2018-03-21T00:00:00.000Z"
    },
    {
        "id": 42,
        "masterIntegrationId": 16,
        "name": "url",
        "dataType": "string",
        "isRequired": true,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 39,
        "masterIntegrationId": 15,
        "name": "url",
        "dataType": "string",
        "isRequired": true,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 245,
        "masterIntegrationId": 78,
        "name": "url",
        "dataType": "string",
        "isRequired": true,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2017-10-24T00:00:00.000Z",
        "updatedAt": "2017-10-24T00:00:00.000Z"
    },
    {
        "id": 274,
        "masterIntegrationId": 88,
        "name": "url",
        "dataType": "string",
        "isRequired": true,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2018-03-21T00:00:00.000Z",
        "updatedAt": "2018-03-21T00:00:00.000Z"
    },
    {
        "id": 311,
        "masterIntegrationId": 94,
        "name": "url",
        "dataType": "string",
        "isRequired": true,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-09-11T00:00:00.000Z",
        "updatedAt": "2016-09-11T00:00:00.000Z"
    },
    {
        "id": 313,
        "masterIntegrationId": 95,
        "name": "url",
        "dataType": "string",
        "isRequired": true,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2018-09-11T00:00:00.000Z",
        "updatedAt": "2018-09-11T00:00:00.000Z"
    },
    {
        "id": 315,
        "masterIntegrationId": 96,
        "name": "url",
        "dataType": "string",
        "isRequired": true,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2019-04-04T00:00:00.000Z",
        "updatedAt": "2019-04-04T00:00:00.000Z"
    },
    {
        "id": 287,
        "masterIntegrationId": 90,
        "name": "url",
        "dataType": "string",
        "isRequired": true,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 330,
        "masterIntegrationId": 98,
        "name": "url",
        "dataType": "string",
        "isRequired": true,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 52,
        "masterIntegrationId": 21,
        "name": "url",
        "dataType": "string",
        "isRequired": true,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 335,
        "masterIntegrationId": 100,
        "name": "url",
        "dataType": "string",
        "isRequired": true,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 50,
        "masterIntegrationId": 20,
        "name": "url",
        "dataType": "string",
        "isRequired": true,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 338,
        "masterIntegrationId": 101,
        "name": "url",
        "dataType": "string",
        "isRequired": true,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2019-07-31T00:00:00.000Z",
        "updatedAt": "2019-07-31T00:00:00.000Z"
    },
    {
        "id": 241,
        "masterIntegrationId": 77,
        "name": "url",
        "dataType": "string",
        "isRequired": false,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2017-10-13T00:00:00.000Z",
        "updatedAt": "2017-10-13T00:00:00.000Z"
    },
    {
        "id": 349,
        "masterIntegrationId": 102,
        "name": "url",
        "dataType": "string",
        "isRequired": true,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2019-07-31T00:00:00.000Z",
        "updatedAt": "2019-07-31T00:00:00.000Z"
    },
    {
        "id": 336,
        "masterIntegrationId": 100,
        "name": "user",
        "dataType": "string",
        "isRequired": true,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 332,
        "masterIntegrationId": 98,
        "name": "user",
        "dataType": "string",
        "isRequired": true,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 275,
        "masterIntegrationId": 88,
        "name": "username",
        "dataType": "string",
        "isRequired": true,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2018-03-21T00:00:00.000Z",
        "updatedAt": "2018-03-21T00:00:00.000Z"
    },
    {
        "id": 345,
        "masterIntegrationId": 83,
        "name": "username",
        "dataType": "string",
        "isRequired": false,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2017-11-03T00:00:00.000Z",
        "updatedAt": "2017-11-03T00:00:00.000Z"
    },
    {
        "id": 285,
        "masterIntegrationId": 90,
        "name": "username",
        "dataType": "string",
        "isRequired": true,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 43,
        "masterIntegrationId": 16,
        "name": "username",
        "dataType": "string",
        "isRequired": true,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 318,
        "masterIntegrationId": 97,
        "name": "username",
        "dataType": "string",
        "isRequired": false,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 316,
        "masterIntegrationId": 96,
        "name": "username",
        "dataType": "string",
        "isRequired": false,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2019-04-04T00:00:00.000Z",
        "updatedAt": "2019-04-04T00:00:00.000Z"
    },
    {
        "id": 242,
        "masterIntegrationId": 77,
        "name": "username",
        "dataType": "string",
        "isRequired": true,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2017-10-13T00:00:00.000Z",
        "updatedAt": "2017-10-13T00:00:00.000Z"
    },
    {
        "id": 163,
        "masterIntegrationId": 50,
        "name": "username",
        "dataType": "string",
        "isRequired": false,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2016-06-01T00:00:00.000Z",
        "updatedAt": "2016-06-01T00:00:00.000Z"
    },
    {
        "id": 259,
        "masterIntegrationId": 83,
        "name": "webhookURL",
        "dataType": "string",
        "isRequired": true,
        "isSecure": false,
        "createdBy": "54188262bc4d591ba438d62a",
        "updatedBy": "54188262bc4d591ba438d62a",
        "createdAt": "2017-11-03T00:00:00.000Z",
        "updatedAt": "2017-11-03T00:00:00.000Z"
    }
]

Response Codes: 

200: Success


PROJECT INTEGRATIONS

Add a Project Integration

DescriptionAdds a project integration..

Security: Requires a valid user
Usage: POST api/v1/projectIntegrations

Produces: application/json

Request Parameters:

Parameter

Type

Description

Required/Optional

projectId

Integer

Id of the Project

Required

name

String

Name for the new integration.

Required

masterIntegrationId

Integer

The Id of the master integration. For more information, see Get Integrations.

Required

masterIntegrationName

String

The name of the master integration. For more information, see Get Integrations.

Required

formJSONValues

Array

An array of objects with the values for the integration.

Required

projectObject

An object containing a project name as an alternative to projectId.

The following properties can be set:

  • name
  • key
Optional

propertyBag

Object

Object consisting of integration properties.

Optional

permissions

Object

An object containing allowAllPipelineSources property. 

Set allowAllPipelineSources as true to allow all pipeline sources to use the integration.

"permissions": {
    "pipelineSources": {
        "allowAllPipelineSources": true
    }
Optional

environments

Array

An array of the environments to which the integration is to be available.

Optional
isInternalBoolean
  • Set this as false to create a Pipelines integration. These integrations can be used in pipeline YAML definitions. 
  • Set this as true to create an Admin integration. These integrations can be used while creating dynamic node pools, and adding extension and template sources. These integration cannot be used in pipeline YAML definitions.
    The types of integrations that can be added/managed here are:
    • Cloud service: For creating dynamic nodes in a dynamic node pool. For example,  AWS  Google Cloud ,   Azure Keys , or other.
      Dynamic nodes are build nodes that are spun up and down on-demand by Pipelines from a cloud service. They are managed through dynamic node pools.
    • Kubernetes : For creating dynamic nodes in a dynamic node pool.
    • Source control: For Pipelines extensibility source repositories. For example,  GitHub  Bitbucket , or other.
Optional

Sample Request

curl -L -X POST 'https://pipe-master.jfrog-pipelines.com/pipelines/api/v1/projectIntegrations' \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json' \
--data-raw '{
    "name": "GithubZ",
    "projectId": 1,
    "masterIntegrationId": 20,
    "masterIntegrationName": "github",
    "formJSONValues": [
        {
            "label": "token",
            "value": "********"
        },
        {
            "label": "url",
            "value": "https://api.github.com"
        }
    ],
    "permissions": {
        "pipelineSources": {
            "allowAllPipelineSources": true
        }
    }
}'

Sample Response: 

{
    "propertyBag": {},
    "permissions": {},
    "isInternal": false,
    "id": 39,
    "name": "GithubZ",
    "projectId": 1,
    "masterIntegrationName": "github",
    "masterIntegrationType": "scm",
    "masterIntegrationId": 20,
    "createdByUserName": "admin",
    "updatedByUserName": "admin",
    "createdBy": 3,
    "updatedBy": 3,
    "providerId": 2,
    "updatedAt": "2021-04-30T09:50:32.585Z",
    "createdAt": "2021-04-30T09:50:32.585Z",
    "environments": null,
    "formJSONValues": [
        {
            "label": "token",
            "value": "********"
        },
        {
            "label": "url",
            "value": "https://api.github.com"
        }
    ]
}

Response Codes: 

200: Success


Update a Project Integration

DescriptionUpdates a project integration.

Security: Requires a valid user
Usage: GET api/v1/projectIntegrations/{projectIntegrationId}

Produces: application/json

URL Parameters:

Parameter

Type

Description

Required/Optional

projectIntegrationId

Integer

Id of the project integration.

Required

Request Parameters:  

Parameter

Type

Description

Required/Optional

name

String

Name of the integration.

Mandatory

formJSONValues

Array

An array of objects with the values of the integration

Optional

propertyBag

Object

Object consisting of integration properties.

Optional

permissions

Object

An object containing allPipelineSourcesAllowed.

Optional

environments

Array

An array of environments to which the integration is to be available.

Optional

Sample Response: 

{
    "propertyBag": {},
    "id": 4,
    "name": "my_github",
    "projectId": 1,
    "masterIntegrationId": 20,
    "masterIntegrationType": "scm",
    "masterIntegrationName": "github",
    "providerId": 34,
    "createdByUserName": "admin",
    "updatedByUserName": "admin",
    "createdBy": 3,
    "updatedBy": 3,
    "createdAt": "2019-09-25T20:32:03.753Z",
    "updatedAt": "2019-09-25T20:32:03.753Z",
    "formJSONValues": [
        {
            "label": "token",
            "value": "mytoken"
        },
        {
            "label": "url",
            "value": "https://api.github.com"
        }
    ],
    "permissions": {
        "pipelineSources": {
            "allPipelineSourcesAllowed": true
        }
    }
}

Response Codes: 
200: Success

400: Invalid parameters

404: If no project integration is found for the supplied id


Delete a Project Integration

DescriptionDeletes a project integration.

Security: Requires a valid user
Usage: DELETE api/v1/projectIntegrations/{projectIntegrationId}

Produces: application/json

URL Parameters:

Parameter

Type

Description

Required/Optional

projectIntegrationId

Integer

Id of the project integration.

Required

Sample Response: 

  {
    "id": 2
  }

Response Codes: 
200: Success

400: Invalid parameters

404: If no project integration is found for the supplied id


Get Project Integrations

Description: Gets all project integrations.

Security: Requires a valid user
Usage: GET api/v1/projectIntegrations

Produces: application/json

Query Parameters:

Parameter

Type

Description

Required/Optional

projectIntegrationIds

String

A filter on the list based on the `id` property of the projectIntegration. Expects a comma separated string of projectIntegrationIds.

Optional

limit

Integer

A limit on the number of projectIntegrations returned.

Optional

skip

Integer

A cursor for use in pagination. `skip` defines the number of projectIntegrations skipped.

Optional
projectIdsStringA filter on the list based on the `projectId` property of the projectIntegration. Expects a comma separated string of projectIds.Optional

names

String

A filter on the list based on the `name` property of the projectIntegration. Expects a comma separated string of names.

Optional

masterIntegrationTypes

String

A filter on the list based on the `masterIntegrationType` property of the projectIntegrations. Expects a comma separated string of masterIntegrationTypes.

Optional

masterIntegrationIds

String

A filter on the list based on the `masterIntegrationId` property of the projectIntegration. Expects a comma separated string of masterIntegrationIds.

Optional

masterIntegrationNames

String

A filter on the list based on the `name` property of the masterIntegration to which the projectIntegration belongs to. Expects a comma separated string of masterIntegrationNames.

Optional
environmentsStringA filter on the list based on the `environments` to which the projectIntegration belongs. Expects a comma separated list of environments and will return projectIntegrations with at least one.Optional

isInternal

Boolean

A filter on the list based on the `isInternal` property of the projectIntegration.

Optional

sortBy

String

The projectIntegration properties to sort the results by. Expects a comma separated list of sorters.

Optional

sortOrder

Integer

A sort order based on the `sortBy` defined. If `1`, sorts the list in ascending order. If `-1`, sorts the list in descending order.

Optional

Sample Response: 

[
  {
        "propertyBag": {},
        "permissions": {
            "allowAllPipelineSources": true
        },
        "id": 2,
        "name": "i_artifactory",
        "projectId": 1,
        "masterIntegrationId": 98,
        "masterIntegrationType": "generic",
        "masterIntegrationName": "artifactory",
        "providerId": null,
        "isInternal": false,
        "createdByUserName": "admin",
        "updatedByUserName": "admin",
        "createdBy": 3,
        "updatedBy": 3,
        "createdAt": "2019-11-11T10:24:46.112Z",
        "updatedAt": "2019-11-11T10:24:46.112Z",
        "formJSONValues": [
            {
                "label": "apikey",
                "value": "AKCp5dK4oM4kP9VJL98E5Hsqbc"
            },
            {
                "label": "url",
                "value": "http://192.168.50.4:8081"
            },
            {
                "label": "user",
                "value": "admin"
            }
        ]
    }
]

Response Codes: 
200: Success

400: Invalid parameters

404: If no project integration is found for the supplied id


Jenkins Hook

Description: Handles a callback webhook from Jenkins to update BuildInfo.

Security: Requires a valid user
Usage: POST api/​v1​/projectIntegrations​/{projectIntegrationId}​/hook

Produces: application/json

Required Parameters:

ParameterData TypeDescription
buildName
stringName of of the build for BuildInfo
buildNumber
stringNumber of the build for BuildInfo
buildInfoResourceName
booleanName of the Jenkins integration

Sample Usage:

curl -XPOST -H \"Authorization: Basic YWRtaW46N0pVd2NZWEtyVw==\" \"http://pipe-master.jfrog.info:8082/pipelines/api/v1/projectIntegrations/627/hook\" -d '{
  "buildName": "mybuild",	
  "buildNumber": 1,
  "buildInfoResourceName": "mybuildinfo",
}' 

Sample Response:

200 OK
{
  "pipelineStepIds": [
    0
  ],
  "resourceVersionIds": [
    0
  ]
}

Response Codes: 

200: Success
404: No integration found for the supplied projectIntegrationId


PIPELINE SOURCES

Add a Pipeline Source

Description: Adds a pipeline source. Requires projectId or project with name.

Security: Requires admin credentials
Usage: POST api/v1/pipelinesources

Produces: application/json

Required Parameters:

ParameterTypeDescriptionRequired/Optional
projectIdIntegerId of the Project.Required

project

String

An object containing a project name as an alternative to projectId.

You can set the following properties:

  • Name: Name of the Project.
  • KeyA unique Project Key to identify and group your Projects.
Optional
projectIntegrationIdinteger

Id of the Git integration to use to create the pipeline source. For more information, see Get Project Integrations.

Required
repositoryFullNameString

The full name of the Git repository including the user/organization as it appears in a Git clone command. For example, myOrg/myProject.

Required, unless valuesYmlPropertyBag is provided
branchStringFor single branch pipeline sources. Name of branch that has the pipeline definition.Required for a single branch pipeline
fileFilterStringIf no templateId was provided, a regular expression to determine which files to include in pipeline sync (the YML files), with default pipelines.yml. If a templateId was provided, it must be values.yml.Required
isMultiBranchBooleanTrue if the pipeline source is to be a multi-branch pipeline source. Otherwise, it will be a single-branch pipeline source.Optional
branchExcludePatternStringFor multi-branch pipeline sources, a regular expression of the branches to exclude.Optional
branchIncludePatternStringFor multi-branch pipeline sources, a regular expression of the branches to include.Optional
environmentsArrayIn a project, an array of environment names in which this pipeline source will be.Optional
templateIdIntegerThe id of a template to use for this pipeline source, in which case the fileFilter will only specify the values.yml.Optional
valuesYmlPropertyBagObjectAn object containing values for the template as an alternative to the repository.Optional

Sample Usage:

Example: Adds a pipeline source 

curl -X POST -H "Authorization: Bearer <your-token> <Pipelines-Url>/api/v1/pipelinesources -d '{
  "projectId": 1,	
  "projectIntegrationId": 66,
  "repositoryFullName": "myrepo/docker-sample",
  "branch": "master",
  "fileFilter": "pipelines.yml"
}' 

Response

200 OK
{
    "id": 1181,
    "projectId": 1,
    "projectIntegrationId": 66,
    "repositoryFullName": "myrepo/docker-sample",
    "isMultiBranch": false,
    "branch": "master",
    "branchIncludePattern": null,
    "branchExcludePattern": null,
    "fileFilter": "pipelines.yml",
    "isSyncing": false,
    "lastSyncStatusCode": 0,
    "lastSyncStartedAt": "2020-06-01T20:41:04.650Z",
    "lastSyncEndedAt": "2020-06-01T20:41:04.650Z",
    "lastSyncLogs": null,
    "resourceId": 2017,
    "createdBy": "janeroe",
    "updatedBy": "janeroe"
}

Response Codes: 

200: Success
404: No pipeline found for the supplied ID


Update a Pipeline Source

Description: Updates a pipeline source

Security: Requires admin credentials
Usage: PUT api/v1/pipelinesources

Produces: application/json

Required Parameters:

Parameter

Type

Description

Required/Optional
projectIntegrationIdIntegerId of the Git integration to use to create the pipeline source. For more information, see Get Project Integrations.Required
environmentsArrayIn a project, an array of environment names in which this pipeline source will be.Optional
templateIdIntegerThe id of a template to use for this pipeline source, in which case the fileFilter will only specify the values.yml.Optional
valuesYmlPropertyBagObjectAn object containing values for the template as an alternative to the repository.Optional
branchExcludePatternStringFor multi-branch pipeline sources, a regular expression of the branches to exclude.Optional
branchIncludePatternStringFor multi-branch pipeline sources, a regular expression of the branches to include.Optional
fileFilterStringIf no templateId was provided, a regular expression to determine which files to include in pipeline sync (the YML files), with default pipelines.yml. If a templateId was provided, it must be values.yml.

isSyncing

BooleanTrue when the pipeline source is currently being synchronized, otherwise false.Optional

lastSyncStatusCode

IntegerThe status code of the last attempt to sync the pipeline source.Optional

lastSyncStartedAt

StringThe time that last sync started. Format: date-timeOptional

lastSyncEndedAt

StringThe time the last sync ended. Format: date-timeOptional

lastSyncLogs

StringLogs from the last time the pipeline source was synchronized.Optional

Sample Response:

{
  "id": 1,
  "projectId": 1,
  "templateId": 1,
  "integrationId": 1,
  "repositoryFullName": "ankul-able/sample_java",
  "branch": "master",
  "fileFilter": "pipelines.config",
  “environments”: [“DEV”, “PROD”],
  "isSyncing": false,
  "lastSyncStatusCode": 4002,
  "lastSyncStartedAt": "2019-04-15T05:39:29.627Z",
  "lastSyncEndedAt": "2019-04-15T05:39:43.478Z",
  "lastSyncLogs": "Successfully synced pipeline source\n\nSUMMARY:\n\nCreated 1 resources\nCreated 1 pipelines\nCreated 1 steps\n\nDETAILS:\n\npipelines.config: successfully created resource: sample_node\npipelines.config: successfully created pipeline: pipeline_1\npipelines.config: successfully created step: step_A\nSuccessfully created connection between step: step_A and sample_node",
  "resourceId": 1,
  "createdBy": "Service User",
  "updatedBy": "Service User",
  "createdAt": "2019-04-15T05:39:21.866Z",
  "updatedAt": "2019-04-15T05:39:43.485Z"
}

Response Codes: 

200: Success
404: No pipeline found for the supplied ID


Delete a Pipeline Source

Description: Deletes a pipeline source by id.

Security: Requires admin credentials
Usage: DELETE api/v1/pipelineSources/{id}

Produces: application/json

URL Parameters:

Parameter

Type

Description

Required/Optional

id

Integer

Id of the pipeline source to be deleted.

Required

Response:

{
  "id": 2
}

Response Codes: 

200: Success

Get all Pipeline Sources

DescriptionGets a collection of pipeline sources that the credential has access to. Filter criteria can be supplied via query string parameters.

Security: Requires a valid user
Usage: GET api/v1/pipelinesources

Query Parameters

ParameterData TypeDescription
limitintegerOptional. A limit on the number of pipelineSources returned.
skipintegerOptional. A cursor for use in pagination. skip defines the number of pipelineSources skipped.
pipelineSourceIdsstringOptional. A filter on the list based on the is that the pipelineSource belongs to. Expects a comma separated list of ids.
projectIdsstringOptional. A filter on the list based on the projectId that the pipelineSource belongs to. Expects a comma separated list of projectIds.
projectIntegrationIdsstringOptional. A filter on the list based on the projectIntegrationId that the pipelineSource belongs to. Expects a comma separated list of projectIntegrationIds.
includeNamesPatternstringOptional. Only pipielineSources with repositoryFullName/branch matching one of the comma-separated patterns will be returned.
excludeNamesPatternstringOptional. Only pipielineSources with repositoryFullName/branch not matching any of the comma-separated patterns will be returned.


Produces: application/json
Sample Response:

GET api/v1/pipelinesources
[
  {
    "id": 0,
    "projectId": 0,
    "projectIntegrationId": 0,
    "repositoryFullName": "string",
    "isMultiBranch": true,
    "branch": "string",
    "branchExcludePattern": "string",
    "branchIncludePattern": "string",
    "fileFilter": "string",
    "isSyncing": true,
    "lastSyncStatusCode": 0,
    "lastSyncStartedAt": "2020-06-01T20:27:09.165Z",
    "lastSyncEndedAt": "2020-06-01T20:27:09.165Z",
    "lastSyncLogs": "string",
    "resourceId": 0,
    "createdBy": "string",
    "updatedBy": "string"
  }
]

Response Codes: 
200: Success

Get a Pipeline Source

DescriptionGets a single pipeline source for the supplied numeric id. In the query, if sync is set as true and if branch is set to a multibranch, the latest commit will also be synchronized.

Security: Requires a valid user
Usage: GET api/v1/pipelineSources/:id

Produces: application/json

URL parameters:

Parameter

Data Type

Description

id

Integer

The numeric id of the pipeline source being requested

Query Parameters

ParameterData TypeDescription
syncBoolean‘True’ to force the pipelineSource to sync.
branchinteger

The branch to sync.

Only valid for multibranch sources, and only if sync is true.

Request Parameters: Ignored

Sample Response: 

Returns the pipelineSource entity with the supplied numeric id.

{
  "id": 1,
  "projectId": 1,
  "templateId": 1,
  "integrationId": 1,
  "repositoryFullName": "ankul-shippable/sample_java",
  "branch": "master",
  "fileFilter": "pipelines.config",
  "isSyncing": false,
  "lastSyncStatusCode": 4002,
  "lastSyncStartedAt": "2019-04-15T05:39:29.627Z",
  "lastSyncEndedAt": "2019-04-15T05:39:43.478Z",
  "lastSyncLogs": "Successfully synced pipeline source\n\nSUMMARY:\n\nCreated 1 resources\nCreated 1 pipelines\nCreated 1 steps\n\nDETAILS:\n\npipelines.config: successfully created resource: sample_node\npipelines.config: successfully created pipeline: pipeline_1\npipelines.config: successfully created step: step_A\nSuccessfully created connection between step: step_A and sample_node",
  "resourceId": 1,
  "createdBy": "Service User",
  "updatedBy": "Service User",
  "createdAt": "2019-04-15T05:39:21.866Z",
  "updatedAt": "2019-04-15T05:39:43.485Z"
}

Response Codes: 
200: Success

404: If no pipelineSource is found for the supplied id


PIPELINES

Get Pipelines

DescriptionGets a collection of pipelines that the credential has access to. Filter criteria can be supplied via query string parameters.

Security: Requires a valid user
Usage: GET api/v1/pipelines

Query Parameters

ParameterData TypeDescription
projectIdsstringOptional. A filter on the list based on the projectId property of the pipeline. Expects a comma separated string of projectIds.
pipelineSourceBranchesstringOptional. A filter on the list based on the pipelineSourceBranch property of the pipeline. Expects a comma separated string of pipelineSourceBranches.
pipelineIdsstringOptional. A filter on the list based on the id property of the pipeline. Expects a comma separated string of ids.
namesstringOptional. A filter on the list based on the name property of the pipeline. Expects a comma separated string of names.
pipelineSourceIdsstringOptional. A filter on the list based on the pipelineSourceId property of the pipeline. Expects a comma separated string of pipelineSourceIds.
includeDeletedbooleanOptional. A filter on the list based on the isDeleted property of the pipeline. Default false.
isDeletedbooleanOptional. A filter on the list based on the isDeleted property of the pipeline. If includeDeleted is true, this will be ignored.
deletedBefore

string($date-time)

Optional. A filter on the list that returns if deletedAt property of the pipeline is less than deletedBefore.
lightbooleanOptional. Default is false. If set to true only part of the data is returned 
sortBystringOptional. Comma separated list of sort attributes
sortOrderintegerOptional. 1 for ascending and -1 for descending based on sortBy 
limitintegerOptional. A limit on the number of pipelines returned.
skipintegerOptional. A cursor for use in pagination. skip defines the number of pipelines skipped.


Produces: application/json
Sample Usage:

GET api/v1/pipelines?light=true
[
  {
    "id": 375,
    "name": "gradle_pipeline",
    "pipelineSourceBranch": null,
    "pipelineSourceId": 544,
    "latestRunId": 717
  },
  {
    "id": 98,
    "name": "basic",
    "pipelineSourceBranch": null,
    "pipelineSourceId": 130,
    "latestRunId": null,
  }
]

Response Codes: 
200: Success


Get Pipeline by ID

DescriptionGets a single pipeline for the supplied numeric id.

Security: Requires a valid user
Usage: GET api/v1/pipelines/:pipelineId

Produces: application/json

Sample Usage:

GET /api/v1/pipelines/375

{
  "ymlConfigPropertyBag": null,
  "ymlPropertyBag": {
    "name": "gradle_pipeline",
    "steps": [
      {
        "name": "gradle_build_step",
        "type": "GradleBuild",
        "configuration": {
          "gradleCommand": "clean artifactoryPublish -b build.gradle",
          "sourceLocation": "gradle-examples/gradle-example-minimal",
          "configFileLocation": ".",
          "configFileName": "gradle-art-config",
          "inputResources": [
            {
              "name": "gradle_repo"
            }
          ],
          "integrations": [
            {
              "name": "art"
            }
          ]
        }
      },
      {
        "name": "publish_build_info_gradle",
        "type": "PublishBuildInfo",
        "configuration": {
          "inputSteps": [
            {
              "name": "gradle_build_step"
            }
          ],
          "outputResources": [
            {
              "name": "build_info_gradle"
            }
          ]
        }
      }
    ]
  },
  "id": 375,
  "name": "gradle_pipeline",
  "pipelineSourceBranch": null,
  "projectId": 1,
  "pipelineSourceId": 544,
  "latestRunNumber": 3,
  "latestRunId": 717,
  "syntaxVersion": "v1.0",
  "isDeleted": false,
  "deletedAt": null,
  "createdAt": "2020-02-04T13:36:57.172Z",
  "updatedAt": "2020-02-13T17:57:05.839Z"
}

Response Codes: 
200: Success
404: No pipeline found for the supplied ID


Get Pipeline Artifacts

DescriptionDownload artifacts of a pipeline.  A artifactName querystring should be included to specify the names of the artifacts to download.

Security: Requires a valid user
Usage: GET api/v1/pipelines/:pipelineId/artifacts

Query Parameters

ParameterData TypeDescription
artifactName stringRequired. Name of the artifact that has to be downloaded.


Produces: application/gzip
Response: Returns a .tar.gz file.

Response Codes: 
200: Success
404: Artifact URLs cannot be found and an empty file is returned if the artifact is otherwise unavailable.


Get Pipeline State

DescriptionGets a download URL for the latest version of the pipeline state.  

Security: Requires a valid user
Usage: GET api/v1/pipelines/:pipelineId/latestState
Produces: application/json

Sample Response:

{
  "getOpts": "string",
  "get": "string"
}

Response Codes: 
200: Success
400: Checking for archives fails
404: There is no global root bucket


Get Pipeline Artifact URL

DescriptionGets an object with URLs to upload, download, and delete artifacts.

Security: Requires a valid user
Usage: GET api/v1/pipelines/:pipelineId/artifactUrl

Produces: application/json

URL parameters:

Parameter

Data Type

Description

pipelineId

Integer

The numeric pipeline id for which to get artifact URLs

Request Parameters: Ignored

Sample Usage:

Returns an object with URLs for each action. 

{
    "getOpts": "-H 'Authorization: Basic IICoxkGe9EUAvEEJbgZQQxfys8c='",
    "get": "http://localhost:8081/artifactory/pipelines_1560551909/projects/1/pipelines/5/artifactName",
    "put": "http://localhost:8081/artifactory/pipelines_1560551909/projects/1/pipelines/5/artifactName",
    "putOpts": "-H 'Authorization: Basic IICoxkGe9EUAvEEJbgZQQxfys8c='",
    "delete": "http://localhost:8081/artifactory/pipelines_1560551909/projects/1/pipelines/5/artifactName",
    "deleteOpts": "-H 'Authorization: Basic IICoxkGe9EUAvEEJbgZQQxfys8c='",
    "head": "http://localhost:8081/artifactory/pipelines_1560551909/projects/1/pipelines/5/artifactName",
    "headOpts": "-H 'Authorization: Basic IICoxkGe9EUAvEEJbgZQQxfys8c='"
}

Response Codes: 

200: Success

400: If there is no filestore provider configured

404: If there is no root bucket


PIPELINE SYNC STATUS

Status of a pipeline sync.

Add Pipeline Sync Status

Description: Adds pipeline sync status. Called by pipelineSync to report the success or failure of an attempt to synchronize a pipelineSource branch.

Security: Requires admin credentials
Usage: POST api/v1/pipelineSyncStatuses

Produces: application/json

URL ParametersNone

Query ParametersIgnored

Request Parameters

Parameter

Type

Description

Required/Optional

projectId

Integer

The ID of the project to which the pipeline belongs to.

Required

pipelineSourceId

Integer

The ID of the pipelineSource to which the pipeline belongs to.

Required

isSyncing

Boolean

True when the pipeline is currently being synchronized, otherwise false.

Required

lastSyncStartedAt

String

The time that last sync started. Format: date-time

Required

pipelineSourceBranch

String

The pipeline source branch.

Optional
lastSyncStatusCodeIntegerThe status code of the last attempt to sync the pipeline.Optional
lastSyncEndedAtStringThe time the last sync ended. Format: date-timeOptional
lastSyncLogsStringLogs from the last time the pipeline was synchronized.Optional
triggeredByResourceVersionIdIntegerThe ID of the resourceVersion of the GitRepo resource that was used in this pipeline synchronization.Optional

Sample Request:



curl -L -X POST 'https://pipe-master.jfrog-pipelines.com/pipelines/api/v1/pipelineSyncStatuses' \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json' \
--data-raw '{

        "projectId": 1,
        "pipelineSourceId": 11,
		"isSyncing": false,
        "lastSyncStartedAt": "2021-02-05T10:42:03.196Z"
}'



Sample Response:

{
    "id": 11,
    "projectId": 1,
    "pipelineSourceId": 11,
    "pipelineSourceBranch": null,
    "isSyncing": false,
    "lastSyncStatusCode": 4002,
    "lastSyncStartedAt": "2021-02-05T10:42:03.196Z",
    "lastSyncEndedAt": "2021-02-05T10:42:13.796Z",
    "lastSyncLogs": "",
    "triggeredByResourceVersionId": 371,
    "createdAt": "2021-02-05T09:43:28.873Z",
    "updatedAt": "2021-05-26T10:44:29.202Z"
}

Response Codes: 

200: Success
404: If required fields are not included in the request body for invalid parameters.


Update Pipeline Sync Status

Description: Updates a pipeline sync status based on Id.

Security: Requires admin credentials
Usage: PUT api/v1/pipelineSyncStatuses/{Id}

Produces: application/json

URL Parameters

Parameter

Type

Description

Required/Optional

Id

Integer

The Id of the pipelineSyncStatus to be updated

Required

Query ParametersIgnored

Request Parameters

Parameter

Type

Description

Required/Optional

isSyncing

Boolean

True when the pipeline is currently being synchronized, otherwise false.

Optional

lastSyncStartedAt

String

The time that last sync started. Format: date-time

Optional
lastSyncStatusCodeIntegerThe status code of the last attempt to sync the pipeline.Optional
lastSyncEndedAtStringThe time the last sync ended. Format: date-timeOptional
lastSyncLogsStringLogs from the last time the pipeline was synchronized.Optional
triggeredByResourceVersionIdIntegerThe ID of the resourceVersion of the GitRepo resource that was used in this pipeline synchronization.Optional

Sample Response:

{
  "id": 1,
  "projectId": 1,
  "integrationId": 1,
  "repositoryFullName": "aable/sample_java",
  "branch": "master",
  "fileFilter": "pipelines.config",
  "isSyncing": false,
  "lastSyncStatusCode": 4002,
  "lastSyncStartedAt": "2019-04-15T05:39:29.627Z",
  "lastSyncEndedAt": "2019-04-15T05:39:43.478Z",
  "lastSyncLogs": "Successfully synced pipeline source\n\nSUMMARY:\n\nCreated 1 resources\nCreated 1 pipelines\nCreated 1 steps\n\nDETAILS:\n\npipelines.config: successfully created resource: sample_node\npipelines.config: successfully created pipeline: pipeline_1\npipelines.config: successfully created step: step_A\nSuccessfully created connection between step: step_A and sample_node",
  "resourceId": 1,
  "createdBy": "Service User",
  "updatedBy": "Service User",
  "createdAt": "2019-04-15T05:39:21.866Z",
  "updatedAt": "2019-04-15T05:39:43.485Z"
}

Response Codes: 

200: Success
404: If pipelineSyncStatusId is not an integer

404: If there is no pipelineSyncStatus found with that id


Delete Pipeline Sync Status

Description: Deletes a pipeline sync status based on Id.

Security: Requires admin credentials
Usage: DELETE api/v1/pipelineSyncStatuses/{Id}

Produces: application/json

URL Parameters

Parameter

Type

Description

Required/Optional

Id

Integer

The Id of the pipelineSyncStatus to be deleted

Required

Query ParametersIgnored

Sample Response:

  {
    "id": 1
  }

Response Codes: 

200: Success
404: If pipelineSyncStatusId is not an integer

404: If there is no pipelineSyncStatus found with that id


Get all Pipeline Sync Status

Description: Gets a list of all pipeline sync statuses.

Security: Requires admin credentials
Usage: GET api/v1/pipelineSyncStatuses

Produces: application/json

Query Parameters:

Parameter

Type

Description

pipelineSourceIds

String

A filter on the list based on the `pipelineSourceId` property of the pipelineSyncStatus. Expects a comma separated string of pipelineSourceIds.

projectIds

String

A filter on the list based on the `projectId` property of the pipelineSyncStatus. Expects a comma separated string of projectIds.

pipelineSourceBranches

String

A filter on the list based on the `pipelineSourceBranch` property of the pipelineSyncStatus. Expects a comma separated string of pipelineSourceBranches.

lastSyncStatusCodes

String

A filter on the list based on the `lastSyncStatusCode` property of the pipelineSyncStatus. Expects a comma separated string of lastSyncStatusCodes.

limit

Integer

A limit on the number of pipelineSyncStatuses returned.

skip

Integer

A cursor for use in pagination. `skip` defines the number of pipelineSyncStatuses skipped.

sortBy

String

The pipelineSyncStatus properties to sort the results by. Expects a comma separated list of sorters.

sortOrder

Integer

A sort order based on the `sortBy` defined. If `1`, sorts the list in ascending order. If `-1`, sorts the list in descending order.

lightBoolean

If set as true, the response objects will contain only only pipelineSourceBranch,  isSyncinglastSyncStatusCodelastSyncEndedAttriggeredByResourceVersionIdpipelineSourceId values.

Request ParametersIgnored

Sample Response:

[
    {
        "id": 17,
        "projectId": 1,
        "pipelineSourceId": 17,
        "pipelineSourceBranch": null,
        "isSyncing": false,
        "lastSyncStatusCode": 4002,
        "lastSyncStartedAt": "2021-03-20T00:17:51.049Z",
        "lastSyncEndedAt": "2021-03-20T00:17:52.767Z",
        "lastSyncLogs": "Successfully synced pipeline source\n\nSUMMARY:\n\nUpdated 1 pipelines\nUpdated 1 steps\n\nDETAILS:\n\nProcessing pipeline source without templates.\nPipeline config file filter: windows.yml\n\nwindows.yml: successfully updated pipeline: pipelines_S_PS_I_Google_0001\nwindows.yml: successfully updated step: S_PS_I_Google_0001",
        "triggeredByResourceVersionId": 1165,
        "createdAt": "2021-03-19T18:39:32.422Z",
        "updatedAt": "2021-03-20T00:17:52.781Z"
    }
]

Response Codes: 

200: Success
404: If pipelineSyncStatusId is not an integer

404: If there is no pipelineSyncStatus found with that id


Get a Pipeline Sync Status

Description: Gets a pipeline sync status based on Id.

Security: Requires admin credentials
Usage: GET api/v1/pipelineSyncStatuses/{pipelineSyncStatusId}

Produces: application/json

URL Parameters:

Parameter

Type

Description

pipelineSyncStatusId

Integer

The numeric id of the pipelineSyncStatus being requested.

Query Parameters: Ignored

Request ParametersIgnored

Sample Response:

{
    "id": 1,
    "projectId": 1,
    "pipelineSourceId": 1,
    "pipelineSourceBranch": null,
    "isSyncing": false,
    "lastSyncStatusCode": 4002,
    "lastSyncStartedAt": "2019-10-09T04:17:34.690Z",
    "lastSyncEndedAt": "2019-10-09T04:17:41.221Z",
    "lastSyncLogs": "Successfully synced pipeline source\n\nSUMMARY:\n\nCreated 1 resources\nCreated 1 pipelines\nCreated 1 steps\n\nDETAILS:\n\npipelines.yml: successfully created resource: myAppRepo\npipelines.yml: successfully created pipeline: pipeline_hello_world\npipelines.yml: successfully created step: step_1\nSuccessfully created connection between step: step_1 and myAppRepo",
    "createdAt": "2019-10-09T04:17:34.704Z",
    "updatedAt": "2019-10-09T04:17:41.234Z"
  }

Response Codes: 

200: Success
404: If pipelineSyncStatusId is not an integer

404: If there is no pipelineSyncStatus found with that id


RUNS

Get Runs

Description: Gets a collection of runs. Filter criteria can be supplied via query string parameters.

Security: Requires a valid user 
Usage: GET api/v1/runs

Query Parameters

ParameterData TypeDescription
limitintegerOptional. A limit on the number of runs returned.
skipintegerOptional. A cursor for use in pagination. skip defines the number of runs skipped.
lightbooleanOptional.  Default is false. If set to true only part of the data is returned 
runIdsstringOptional. A filter on the list based on the id property of the run. Expects a comma separated string of runIds.
projectIdsstringOptional. A filter on the list based on the projectId property of the run. Expects a comma separated string of projectIds.
pipelineIdsstringOptional. Comma separated list of pipeline ids for which runs are being retrieved 
pipelineSourceIdsstringOptional. Comma separated list of pipeline source ids for which runs are being retrieved 
runIdsstringOptional. Comma separated list of run ids
projectIdsstringOptional. A filter on the list based on the projectId property of the run. Expects a comma separated string of projectIds.
runNumbersstringOptional. Comma separated list of run numbers
createdAfterstringOptional. Runs created before the date 
createdBeforestringOptional. Runs created after the date
statusCodesstringOptional. Comma separated string of status codes 
sortBystringOptional. Comma separated list of sort attributes
sortOrderintegerOptional. 1 for ascending and -1 for descending based on sortBy 


Produces: application/json
Sample Usage:

Example: Get the successful (statusCode: 4002) runs created after a certain date for a specific pipeline (id: 375) 

GET api/v1/runs?pipelineIds=375&statusCode=4002&createdAfter=2020-02-02T13:37:19.290Z
[
    {
        "staticPropertyBag": {
            "triggeredByUserName": "admin"
        },
        "id": 717,
        "pipelineId": 375,
        "pipelineSourceId": 544,
        "projectId": 1,
        "runNumber": 3,
        "statusCode": 4002,
        "endedAt": "2020-02-13T17:58:07.042Z",
        "startedAt": "2020-02-13T17:57:16.575Z",
        "createdAt": "2020-02-13T17:57:05.834Z",
        "updatedAt": "2020-02-13T17:58:16.438Z"
    },
    {
        "staticPropertyBag": {
            "triggeredByUserName": "admin"
        },
        "id": 528,
        "pipelineId": 375,
        "pipelineSourceId": 544,
        "projectId": 1,
        "runNumber": 1,
        "statusCode": 4002,
        "endedAt": "2020-02-04T13:38:20.958Z",
        "startedAt": "2020-02-04T13:37:26.666Z",
        "createdAt": "2020-02-04T13:37:19.290Z",
        "updatedAt": "2020-02-04T13:38:25.536Z"
    },
    {
        "staticPropertyBag": {
            "triggeredByUserName": "admin"
        },
        "id": 654,
        "pipelineId": 375,
        "pipelineSourceId": 544,
        "projectId": 1,
        "runNumber": 2,
        "statusCode": 4002,
        "endedAt": "2020-02-10T12:25:57.600Z",
        "startedAt": "2020-02-10T12:25:00.630Z",
        "createdAt": "2020-02-10T12:22:22.134Z",
        "updatedAt": "2020-02-10T12:26:06.832Z"
    }
]

Response Codes: 

200: Success


Get Runs by ID

Description: Gets a single run for the supplied numeric ID.
Security: Requires a valid user 
Usage: GET api/v1/runs/:runId
Produces: application/json

Sample Usage:

{
  "id": 0,
  "pipelineId": 0,
  "pipelineSourceId": 0,
  "projectId": 0,
  "runNumber": 0,
  "statusCode": 0,
  "staticPropertyBag": {},
  "endedAt": "2019-12-03T22:37:38.982Z",
  "startedAt": "2019-12-03T22:37:38.982Z"
}

Response Codes: 

200: Success
400: Run not found for the supplied ID


Get Run Resource Versions

Description: Gets a collection of resource versions that were produced in runs. Filter criteria can be supplied via query string parameters.

Security: Requires a valid user 
Usage: GET api/v1/runResourceVersions

Query Parameters

ParameterData TypeDescription
limitintegerOptional. A limit on the number of runResourceVersions returned.
skipintegerOptional. A cursor for use in pagination. skip defines the number of runResourceVersions skipped.
runResourceVersionIdsstringOptional. A filter on the list based on the id property of the runResourceVersion. Expects a comma separated string of runResourceVersionIds.
pipelineIdsstringOptional. Comma separated list of pipeline ids for which runs are being retrieved 
projectIdsstringOptional. Comma separated list of project ids for which runs are being retrieved 
pipelineSourceIdsstringOptional. Comma separated list of pipeline source ids for which runs are being retrieved 
runIdsstringOptional. Comma separated list of run ids
stepIdsstringOptional. Comma separated list of step ids
resourceNamesstringOptional. Comma separated list of resource names 
resourceVersionIdsstringOptional. Comma separated list of resource version IDs
sortBystringOptional. Comma separated list of sort attributes
sortOrderintegerOptional. 1 for ascending and -1 for descending based on sortBy 

Produces: application/json
Sample Response:

GET api/v1/runresourceversions?pipelineIds=375&runIds=717
[
    {
        "resourceStaticPropertyBag": {},
        "resourceConfigPropertyBag": {
            "integrationName": "art",
            "integrationAlias": "sourceArtifactory"
        },
        "resourceVersionContentPropertyBag": {
            "buildName": "test_gradle_pipeline",
            "buildNumber": "3",
            "targetRepo": "test-generic-local"
        },
        "id": 940,
        "projectId": 1,
        "pipelineSourceId": 544,
        "pipelineId": 375,
        "runId": 717,
        "stepId": 1278,
        "resourceName": "promoted_build_info_gradle",
        "resourceTypeCode": 2018,
        "resourceVersionId": 2017,
        "resourceVersionCreatedByStepId": 1278,
        "createdAt": "2020-02-13T17:57:06.667Z",
        "updatedAt": "2020-02-13T17:58:06.936Z"
    },
    {
        "resourceStaticPropertyBag": {},
        "resourceConfigPropertyBag": {
            "integrationName": "art",
            "integrationAlias": "sourceArtifactory"
        },
        "resourceVersionContentPropertyBag": {
            "buildName": "test_gradle_pipeline",
            "buildNumber": "3"
        },
        "id": 941,
        "projectId": 1,
        "pipelineSourceId": 544,
        "pipelineId": 375,
        "runId": 717,
        "stepId": 1278,
        "resourceName": "build_info_gradle",
        "resourceTypeCode": 2018,
        "resourceVersionId": 2016,
        "resourceVersionCreatedByStepId": 1277,
        "createdAt": "2020-02-13T17:57:06.670Z",
        "updatedAt": "2020-02-13T17:58:02.906Z"
    }
]

Response Codes: 

200: Success


RESOURCES

Get Resources

Description: Gets a collection of resources. Filter criteria can be supplied via query string parameters. Gets all resources if no query parameters are supplied.

Security: Requires a valid user
Usage: GET api/v1/resources

Query Parameters

ParameterData TypeDescription
pipelineIdsstringOptional. Comma separated list of pipeline ids for which runs are being retrieved 
resourceIdsstringOptional. Comma separated list of resource ids
projectIdsstringOptional. Comma separated list of project ids
namesstringOptional. Comma separated list of resource names
typeCodesstringOptional. Comma separated list of resource type codes 
pipelineSourceBranchesstringOptional. Comma separated list of pipeline source branches
isDeletedbooleanOptional. Default is false. Filters based on the isDeleted property of the resource
deletedBeforestring($date-time)Optional. Filters for resources where deletedAt property is less than deletedBefore 
isConsistentbooleanOptional. Default is false. Filter based on the isConsistent property of the resource
isInternalbooleanOptional. Default is false. Filter based on the isInternal property of the resource
projectIntegrationIdsstringOptional. Comma separated list of project integration IDs
createdBefore

string($date-time)

Optional. Runs created before the date
createdAfter

string($date-time)

Optional. Runs created after the date
nextTriggerTimeBefore

string($date-time)

Optional. Runs triggered before the date
sortBystringOptional. Comma separated list of sort attributes
sortOrderintegerOptional. 1 for ascending and -1 for descending based on sortBy 
limitintegerOptional. A limit on the number of resources returned.
skipintegerOptional. A cursor for use in pagination. skip defines the number of resources skipped.

Produces: application/json

Sample Usage:

Example: Get all the build info resources defined across all the pipelines

GET api/v1/resources?typeCodes=2018
[
  {
    "id": 2019,
    "projectId": 1,
    "pipelineSourceId": 1181,
    "createdAt": "2020-02-23T00:42:48.028Z",
    "updatedAt": "2020-02-23T00:42:52.946Z",
    "ymlConfigPropertyBag": {
      "integrationName": "art",
      "integrationAlias": "sourceArtifactory"
    },
    "systemPropertyBag": {},
    "staticPropertyBag": {},
    "yml": {
      "name": "svc_build_info_sample",
      "type": "BuildInfo",
      "configuration": {
        "sourceArtifactory": "art",
        "buildName": "svc_build",
        "buildNumber": 1
      }
    },
    "name": "svc_build_info_sample",
    "pipelineSourceBranch": null,
    "projectIntegrationId": 65,
    "typeCode": 2018,
    "latestResourceVersionId": 2634,
    "isDeleted": false,
    "deletedAt": null,
    "isConsistent": true,
    "isInternal": false,
    "syntaxVersion": "v1.0",
    "nextTriggerTime": null
  },
  {
    "id": 2018,
    "projectId": 1,
    "pipelineSourceId": 1181,
    "createdAt": "2020-02-23T00:42:48.024Z",
    "updatedAt": "2020-02-23T00:42:52.948Z",
    "ymlConfigPropertyBag": {
      "integrationName": "art",
      "integrationAlias": "sourceArtifactory"
    },
    "systemPropertyBag": {},
    "staticPropertyBag": {},
    "yml": {
      "name": "svc_promoted_build_info_sample",
      "type": "BuildInfo",
      "configuration": {
        "sourceArtifactory": "art",
        "buildName": "svc_build",
        "buildNumber": 1
      }
    },
    "name": "svc_promoted_build_info_sample",
    "pipelineSourceBranch": null,
    "projectIntegrationId": 65,
    "typeCode": 2018,
    "latestResourceVersionId": 2633,
    "isDeleted": false,
    "deletedAt": null,
    "isConsistent": true,
    "isInternal": false,
    "syntaxVersion": "v1.0",
    "nextTriggerTime": null
  }
]

Response Codes: 
200: Success


Get Resources by ID

Description: Gets a single resource for the supplied numeric id.

Security: Requires a valid user
Usage: GET api/v1/resources/:resourceId
Produces: application/json

Sample Response:

GET api/v1/resources/2019
{
    "ymlConfigPropertyBag": {
        "integrationName": "art",
        "integrationAlias": "sourceArtifactory"
    },
    "systemPropertyBag": {},
    "staticPropertyBag": {},
    "yml": {
        "name": "svc_build_info_sample",
        "type": "BuildInfo",
        "configuration": {
            "sourceArtifactory": "art",
            "buildName": "svc_build",
            "buildNumber": 1
        }
    },
    "id": 2019,
    "name": "svc_build_info_sample",
    "pipelineSourceBranch": null,
    "projectIntegrationId": 65,
    "typeCode": 2018,
    "latestResourceVersionId": 2634,
    "projectId": 1,
    "pipelineSourceId": 1181,
    "isDeleted": false,
    "deletedAt": null,
    "isConsistent": true,
    "isInternal": false,
    "syntaxVersion": "v1.0",
    "nextTriggerTime": null,
    "createdAt": "2020-02-23T00:42:48.028Z",
    "updatedAt": "2020-02-23T00:42:52.946Z"
}

Response Codes: 
200: Success
404: No resource is found for the supplied id.


RESROUCE VERSIONS

Add a Resource Version

Description: Adds a resource version.

Security: Requires admin credentials
Usage: POST api/v1/resourceVersions

Produces: application/json

URL ParametersNone

Query String ParametersIgnored

Request Parameter:

Parameter

Data Type

Description

Required/Optional

projectId

Integer

Id of the Project.

Required

pipelineSourceId

Integer

Id of the pipeline source.

Required

resourceId

Integer

Id of the resource.

Required

contentPropertyBag

Object

JSON Object that contains the details of the resource version.

Optional
createdByStepIdIntegerId of the step that created the version.Optional

Sample Request:

curl -L -X POST 'https://pipe-master.jfrog-pipelines.com/pipelines/api/v1/resourceVersions' \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json' \
--data-raw '{
        "contentPropertyBag": {
            "imageTag": "latest"
        },
        "projectId": 1,
        "pipelineSourceId": 11,
        "resourceId": 66
}'

Sample Response:

  {
        "contentPropertyBag": {
            "imageTag": "latest"
        },
    "id": 2308,
    "resourceId": 66,
    "projectId": 1,
    "pipelineSourceId": 11,
    "updatedAt": "2021-05-26T10:49:08.054Z",
    "createdAt": "2021-05-26T10:49:08.054Z",
    "createdByStepId": null,
    "createdByRunId": null
    }

Response Codes: 

200: Success
400: If required fields are not included in the request body or if there are invalid parameters.


Delete Resource Versions by ID

Description: Deletes all resourceVersions by id.

Security: Requires a valid user
Usage: DELETE /v1/resourceVersions/{id}
Produces: application/json

URL Parameters:

Parameter

Type

Description

Required/Optional

id

Integer

The numeric Id of the resourceVersion.

Required

Query ParametersIgnored

Request ParametersIgnored

Sample Response:

  {
    "id": 2
  }

Response Codes: 
200: Success
404: If the id is not an integer


Delete Resource Versions by Resource ID

Description: Deletes all resourceVersions by resource Id.

Security: Requires a valid user
Usage: DELETE /v1/resource/{resourceId}/resourceVersions
Produces: application/json

URL Parameters:

Parameter

Type

Description

Required/Optional

resourceId

Integer

The numeric Id of the resource.

Required

Query ParametersIgnored

Request ParametersIgnored

Sample Response:

  {
    "id": 2
  }

Response Codes: 
200: Success
404: If the resourceId is not an integer


Get Resource Versions

Description: Returns a collection of resourceVersions entities. Filter criteria can be supplied via query string parameters.

Security: Requires a valid user
Usage: GET /v1/resourceVersions

Produces: application/json

Parameters

Query String Parameters:

Parameter

Type

Description

resourceVersionIds

String

A filter on the list based on the `id` property of the resourceVersions. Expects a comma separated string of ids.

resourceIds

String

A filter on the list based on the `resourceId` property of the resourceVersions. Expects a comma separated string of resourceIds.

createdByStepIdsStringA filter on the list based on the `createdByStepId` property of the resourceVersions. Expects a comma separated string of createdByStepIds.

createdByRunIds

String

A filter on the list based on the `createdByRunId` property of the resourceVersions. Expects a comma separated string of createdByRunIds.

pipelineSourceIdsStringA filter on the list based on the `pipelineSourceId` property of the resourceVersions. Expects a comma separated string of pipelineSourceIds.

sortBy

String

The resourceVersion properties to sort the results by. Expects a comma separated list of sorters.

sortOrder

Integer

A sort order based on the `sortBy` defined. If `1`, sorts the list in ascending order. If `-1`, sorts the list in descending order.

limit

Integer

A limit on the number of resourceVersions returned.

skip

Integer

A cursor for use in pagination. `skip` defines the number of resourceVersions skipped.

Request ParametersIgnored

Response Body:

An array of resourceVersions that satisfy all of the supplied query parameters. Returns all resourceVersions if no query parameters are supplied.

[
    {
        "contentPropertyBag": {
            "path": "tla/ymlTest",
            "sha": "9ddc1f76iy8076j83b4601493ebc7e",
            "shaData": {
                "providerDomain": "github.com",
                "branchName": "master",
                "isPullRequest": false,
                "isPullRequestClose": false,
                "pullRequestNumber": null,
                "pullRequestBaseBranch": null,
                "commitSha": "9ddc1f76iy8076j83b4601493ebc7e",
                "beforeCommitSha": "57bc23e5ba30a7ijh9087jhb7755e31f3",
                "commitUrl": "https://github.com/tla/ymlTest/commit/9ddc1f76iy8076j83b4601493ebc7e",
                "commitMessage": "Update pipelines.yml",
                "baseCommitRef": "",
                "headPROrgName": "",
                "compareUrl": "https://github.com/tla/ymlTest/compare/57bc23e5ba30a7ijh9087jhb7755e31f3...9ddc1f76iy8076j83b4601493ebc7e",
                "skipDecryption": false,
                "isGitTag": false,
                "gitTagName": null,
                "gitTagMessage": null,
                "isRelease": false,
                "releaseName": null,
                "releaseBody": null,
                "releasedAt": null,
                "isPrerelease": false,
                "pullRequestRepoFullName": null,
                "changeId": null,
                "changeSha": null,
                "eventType": null,
                "patchSetNumber": null,
                "changeSubject": null,
                "providerSshPort": null,
                "changeOwner": {},
                "providerUrl": null,
                "committer": {
                    "email": "noreply@github.com",
                    "login": "web-flow",
                    "displayName": "GitHub",
                    "avatarUrl": "https://avatars3.githubusercontent.com/u/13454447?v=4"
                },
                "lastAuthor": {
                    "email": "speedblaze@gmail.com",
                    "login": "ChaitanyaVootla",
                    "displayName": "Vootla Chaitanya",
                    "avatarUrl": "https://avatars0.githubusercontent.com/u/8678710?v=4"
                },
                "triggeredBy": {}
            },
            "commitSha": "9ddc1f76iy8076j83b4601493ebc7e",
            "isPullRequest": false,
            "isPullRequestClose": false,
            "pullRequestNumber": null,
            "branchName": "master",
            "pullRequestBaseBranch": null,
            "beforeCommitSha": "57bc23e5ba30a7ijh9087jhb7755e31f3",
            "commitUrl": "https://github.com/ChaitanyaVootla/ymlTest/commit/9ddc1f76iy8076j83b4601493ebc7e",
            "commitMessage": "Update pipelines.yml",
            "baseCommitRef": "",
            "compareUrl": "https://github.com/ChaitanyaVootla/ymlTest/compare/57bc23e5ba30a7ijh9087jhb7755e31f3...9ddc1f76iy8076j83b4601493ebc7e",
            "isGitTag": false,
            "gitTagName": null,
            "gitTagMessage": null,
            "isRelease": false,
            "releaseName": null,
            "releaseBody": null,
            "releasedAt": null,
            "isPrerelease": false,
            "lastAuthorLogin": "tla",
            "lastAuthorEmail": "speze@gmail.com",
            "committerLogin": "web-flow"
        },
        "id": 14,
        "projectId": 1,
        "pipelineSourceId": 2,
        "resourceId": 21,
        "createdByStepId": null,
        "createdByRunId": null,
        "createdAt": "2021-01-11T05:50:04.598Z",
        "updatedAt": "2021-01-11T05:50:04.598Z"
    }
]

Response Codes: 
200: Success


Get Resource Versions by ID

Description: Gets a single resource version for the supplied numeric id.

Security: Requires a valid user
Usage: GET /v1/resourceVersions/:id
Produces: application/json

Sample Response:

GET api/v1/resourceVersions/14
{
    "contentPropertyBag": {
        "path": "tla/ymlTest",
        "sha": "9ddc1f7655f2cc9ae55cfhdf98werahjsdf493ebc7e",
        "shaData": {
            "providerDomain": "github.com",
            "branchName": "master",
            "isPullRequest": false,
            "isPullRequestClose": false,
            "pullRequestNumber": null,
            "pullRequestBaseBranch": null,
            "commitSha": "9ddc1f7655f2cc9ae55cfhdf98werahjsdf493ebc7e",
            "beforeCommitSha": "57bc23e5ba30a775asd435f0e93d07755e31f3",
            "commitUrl": "https://github.com/ChaitanyaVootla/ymlTest/commit/9ddc1f7655f2cc9ae55cfhdf98werahjsdf493ebc7e",
            "commitMessage": "Update pipelines.yml",
            "baseCommitRef": "",
            "headPROrgName": "",
            "compareUrl": "https://github.com/ChaitanyaVootla/ymlTest/compare/57bc23e5ba30a775asd435f0e93d07755e31f3...9ddc1f7655f2cc9ae55cfhdf98werahjsdf493ebc7e",
            "skipDecryption": false,
            "isGitTag": false,
            "gitTagName": null,
            "gitTagMessage": null,
            "isRelease": false,
            "releaseName": null,
            "releaseBody": null,
            "releasedAt": null,
            "isPrerelease": false,
            "pullRequestRepoFullName": null,
            "changeId": null,
            "changeSha": null,
            "eventType": null,
            "patchSetNumber": null,
            "changeSubject": null,
            "providerSshPort": null,
            "changeOwner": {},
            "providerUrl": null,
            "committer": {
                "email": "noreply@github.com",
                "login": "web-flow",
                "displayName": "GitHub",
                "avatarUrl": "https://avatars3.githubusercontent.com/u/19567447?v=4"
            },
            "lastAuthor": {
                "email": "spesdfze@gmail.com",
                "login": "ChaitanyaVootla",
                "displayName": "Vootla Chaitanya",
                "avatarUrl": "https://avatars0.githubusercontent.com/u/8767810?v=4"
            },
            "triggeredBy": {}
        },
        "commitSha": "9ddc1f7655f2cc9ae55cf9e5d83b4601493ebc7e",
        "isPullRequest": false,
        "isPullRequestClose": false,
        "pullRequestNumber": null,
        "branchName": "master",
        "pullRequestBaseBranch": null,
        "beforeCommitSha": "57bc23e5ba30a775asd435f0e93d07755e31f3",
        "commitUrl": "https://github.com/tla/ymlTest/commit/9ddc1f7655f2cc9ae55cfhdf98werahjsdf493ebc7e",
        "commitMessage": "Update pipelines.yml",
        "baseCommitRef": "",
        "compareUrl": "https://github.com/tla/ymlTest/compare/57bc23e5ba30a775asd435f0e93d07755e31f3...9ddc1f7655f2cc9ae55cfhdf98werahjsdf493ebc7e",
        "isGitTag": false,
        "gitTagName": null,
        "gitTagMessage": null,
        "isRelease": false,
        "releaseName": null,
        "releaseBody": null,
        "releasedAt": null,
        "isPrerelease": false,
        "lastAuthorLogin": "tla",
        "lastAuthorEmail": "speedblaze@gmail.com",
        "committerLogin": "web-flow"
    },
    "id": 14,
    "projectId": 1,
    "pipelineSourceId": 2,
    "resourceId": 21,
    "createdByStepId": null,
    "createdByRunId": null,
    "createdAt": "2021-01-11T05:50:04.598Z",
    "updatedAt": "2021-01-11T05:50:04.598Z"
}

Response Codes: 
200: Success
404: No resource version is found for the supplied id.


STEPS

Get Steps

Description: Gets a collection of step. Filter criteria can be supplied via query string parameters.

Security: Requires a valid user
Usage: GET api/v1/steps
Consumes: application/json

Query Parameters

ParameterData TypeDescription
limitintegerOptional. A limit on the number of steps returned.
skipintegerOptional. A cursor for use in pagination. skip defines the number of steps skipped
pipelineIdsstringOptional. Comma separated list of pipeline ids for which runs are being retrieved 
stepIdsstringOptional. Comma separated list of step ids for filtering
projectIdsstringOptional. Comma separated list of project ids for filtering
runIdsstringOptional. Comma separated list of run ids for filtering
pipelineSourceIdsstringOptional. Comma separated list of pipeline source ids for filtering
pipelineStepIdsstringOptional. Comma separated list of pipeline step ids for filtering
namesstringOptional. Comma separated list of name properties for filtering
statusCodesstringOptional. Comma separated list of step status codes for filtering
affinityGroupsstringOptional. Comma separated list of step affinity groups for filtering
groupInProgressbooleanOptional. Default is false. Filter based on the groupInProgress property of the resource
timeoutBeforestringOptional. Selects steps with timeoutAt before the given date-time.
startedBeforestringOptional. Selects steps with startedAt before the given date-time.
startedAfterstringOptional. Selects steps with startedAt after the given date-time.
endedBeforestringOptional. Selects steps with endedAt before the given date-time. 
endedAfterstringOptional. Selects steps with endedAt after the given date-time. 

Produces: application/json
Sample Usage:

GET api/v1/steps?typeCode=2007&limit=1
[
    {
        "configPropertyBag": {
            "inputSteps": [
                {
                    "name": "step_3"
                },
                {
                    "name": "step_4"
                }
            ],
            "environmentVariables": [
                {
                    "key": "myReadEnvVariable",
                    "value": "hello",
                    "isReadOnly": true
                }
            ],
            "nodePool": "u16",
            "timeoutSeconds": 3600,
            "runtime": {
                "type": "image",
                "image": {
                    "imageName": "docker.bintray.io/jfrog/pipelines-u16node",
                    "imageTag": "10.18.0"
                }
            }
        },
        "execPropertyBag": {
            "onExecute": [
                "echo \"step 5\""
            ]
        },
        "id": 508,
        "pipelineId": 97,
        "pipelineSourceId": 129,
        "pipelineStepId": 192,
        "projectId": 1,
        "name": "step_5",
        "runId": 232,
        "statusCode": 4008,
        "typeCode": 2007,
        "affinityGroup": "step_5",
        "groupInProgress": false,
        "pendingLogsComplete": true,
        "isConsoleArchived": true,
        "fileStoreProvider": null,
        "pipelineStateArtifactName": null,
        "triggeredByResourceVersionId": null,
        "triggeredByStepId": null,
        "triggeredByIdentityId": 3,
        "triggeredAt": "2020-01-17T19:12:22.387Z",
        "timeoutAt": null,
        "readyAt": null,
        "queuedAt": null,
        "endedAt": "2020-01-17T19:12:49.800Z",
        "startedAt": null,
        "externalBuildId": null,
        "externalBuildUrl": null,
        "staticPropertyBag": null,
        "createdAt": "2020-01-17T19:12:22.419Z",
        "updatedAt": "2020-01-17T19:13:04.535Z"
    }
]

Response Codes: 

200: Success


Get Step by ID

Description: Gets a single step for the supplied ID.

Security: Requires a valid user 
Usage: GET api/v1/steps/:stepId
Consumes: application/json
Sample Response:

GET api/v1/steps/55
{
    "configPropertyBag": {
        "runtime": {
            "type": "host"
        },
        "affinityGroup": "together",
        "inputSteps": [
            {
                "name": "ag_step_1"
            }
        ],
        "environmentVariables": [
            {
                "key": "MY_MESSAGE",
                "value": "\"Hello World!\"",
                "isReadOnly": true
            }
        ],
        "nodePool": "u16",
        "timeoutSeconds": 3600,
        "isOnDemand": false,
        "instanceSize": null,
        "nodeName": "1"
    },
    "execPropertyBag": {
        "onExecute": [
            "pwd",
            "cat myoutput.txt"
        ]
    },
    "id": 55,
    "pipelineId": 62,
    "pipelineSourceId": 109,
    "pipelineStepId": 73,
    "projectId": 1,
    "name": "ag_step_2",
    "runId": 41,
    "statusCode": 4003,
    "typeCode": 2007,
    "affinityGroup": "together",
    "groupInProgress": false,
    "pendingLogsComplete": true,
    "isConsoleArchived": true,
    "fileStoreProvider": null,
    "pipelineStateArtifactName": null,
    "triggeredByResourceVersionId": null,
    "triggeredByStepId": null,
    "triggeredByIdentityId": 3,
    "triggeredAt": "2020-01-06T21:45:37.911Z",
    "timeoutAt": "2020-01-06T22:45:50.636Z",
    "readyAt": null,
    "queuedAt": "2020-01-06T21:45:49.641Z",
    "endedAt": "2020-01-06T21:45:51.613Z",
    "startedAt": "2020-01-06T21:45:50.636Z",
    "externalBuildId": null,
    "externalBuildUrl": null,
    "staticPropertyBag": null,
    "createdAt": "2020-01-06T21:45:37.951Z",
    "updatedAt": "2020-01-06T21:46:06.296Z"
}

Response Codes: 

200: Success
404: No step was found for the supplied ID


Approval Response

Description: Approve or reject a step. The request returns one of the following status codes:

  • 4005: After the Pending Approval step is approved the step moves to Waiting status (and will later get picked up for execution).
  • 4013: After the Pending Approval step is rejected the step moves to Canceling status (and will later get canceled).

Security: Requires a valid user 
Usage: POST api/v1/steps/{id}/approvalResponse
Consumes: application/json

Request Parameters:

Parameter

Data Type

Description

Required/Optional

response

String

Approval response, either approved or rejected.

Required

comment

String

Approval comment. Max length: 100 characters.

Optional

Sample Request:

{
   "response": "approved",
   "comment": "my comment"
}

Sample Response:

{
   "stepId": 1,
   "updatedStatusCode": 4005
}

Response Codes: 

200: Success

404: Invalid response type (should be approved/rejected)

404: Invalid step status (should be Pending Approval 4022)


STEP CONSOLES

Get Step Consoles

Description: Gets step consoles belonging to a particular step.

Security: Requires a valid user
Usage: GET api/v1/{stepId}/consoles
Consumes: application/json

URL Parameters:

ParameterData TypeDescriptionRequired/Optional
stepIdIntegerId of the step.Required

Query Parameters

ParameterData TypeDescriptionRequired/Optional
limitIntegerA limit on the number of consoles returned.Optional
skipIntegerA cursor for use in pagination. This parameter defines the number of consoles skipped.Optional
fetchAllBooleanIf the caller is a super user, ignores if the maximum number of consoles has been exceeded. Does not return a console log object if there are no logs, and does not group logs.Optional
downloadBooleanDownloads the step consoles as a text file.Optional
sortByStringThe stepConsole properties by which to sort the results. Expects a comma separated list of sorters. Ignored if download is true.Optional
sortOrderIntegerA sort order based on the sortBy defined. If '1', sorts the list in ascending order. If '-1', sorts the list in descending order. Ignored if download is true.Optional

Produces: application/json

Sample Usage:

{
    "root": [
        {
            "consoleId": "3bd3303a-1c33-45fc-849a-38e7097918b2",
            "isSuccess": null,
            "isShown": true,
            "parentConsoleId": "root",
            "stepId": 3,
            "pipelineId": 3,
            "timestamp": 1612940807666334,
            "timestampEndedAt": null,
            "type": "grp",
            "message": "Step skipped",
            "createdAt": "2021-02-10T07:06:47.724Z",
            "updatedAt": "2021-02-10T07:06:47.725Z"
        },
        {
            "consoleId": "3bd3303a-1c33-45fc-849a-38e7097918b2",
            "isSuccess": false,
            "isShown": true,
            "parentConsoleId": "root",
            "stepId": 3,
            "pipelineId": 3,
            "timestamp": 1612940807668168,
            "timestampEndedAt": 1612940807668171,
            "type": "grp",
            "message": "Step skipped",
            "createdAt": "2021-02-10T07:06:47.730Z",
            "updatedAt": "2021-02-10T07:06:47.730Z"
        }
    ],
    "3bd3303a-1c33-45fc-849a-38e7097918b2": [
        {
            "consoleId": "26b01962-2b9c-4b08-943d-32e48195510c",
            "isSuccess": null,
            "isShown": true,
            "parentConsoleId": "3bd3303a-1c33-45fc-849a-38e7097918b2",
            "stepId": 3,
            "pipelineId": 3,
            "timestamp": 1612940807667063,
            "timestampEndedAt": null,
            "type": "cmd",
            "message": "Info",
            "createdAt": "2021-02-10T07:06:47.733Z",
            "updatedAt": "2021-02-10T07:06:47.733Z"
        },
        {
            "consoleId": "26b01962-2b9c-4b08-943d-32e48195510c",
            "isSuccess": false,
            "isShown": false,
            "parentConsoleId": "3bd3303a-1c33-45fc-849a-38e7097918b2",
            "stepId": 3,
            "pipelineId": 3,
            "timestamp": 1612940807667678,
            "timestampEndedAt": 1612940807667688,
            "type": "cmd",
            "message": "Info",
            "createdAt": "2021-02-10T07:06:47.737Z",
            "updatedAt": "2021-02-10T07:06:47.737Z"
        }
    ],
    "26b01962-2b9c-4b08-943d-32e48195510c": [
        {
            "consoleId": "67d96fe8-41c0-4cea-908b-ab7e905a393e",
            "isSuccess": null,
            "isShown": true,
            "parentConsoleId": "26b01962-2b9c-4b08-943d-32e48195510c",
            "stepId": 3,
            "pipelineId": 3,
            "timestamp": 1612940807667567,
            "timestampEndedAt": null,
            "type": "msg",
            "message": "Skipping step as it has unsuccessful dependencies.",
            "createdAt": "2021-02-10T07:06:47.737Z",
            "updatedAt": "2021-02-10T07:06:47.737Z"
        }
    ]
}

Response Codes: 

200: Success


STEP TEST REPORTS

Create a Step Test Report

Description: Creates a step test report.

Security: Requires a valid user
Usage: POST api/v1/stepTestReports
Consumes: application/json

Produces: application/json

Request Parameters

Parameter

Data Type

Description

Required/Optional

stepId

Integer

Comma separated list of numeric step Ids.

Required

durationSeconds

Integer

Integer representing the duration in seconds.

Optional

errorDetails

Array

Array of objects.

Optional

failureDetails

Array

Array of objects.

Optional

totalTests

Integer

Total number of tests.

Optional

totalErrors

Integer

Total number of tests reported with errors.

Optional

totalFailures

Integer

Total number of tests that failed.

Optional

totalPassing

Integer

Total number of tests that passed.

Optional

totalSkipped

Integer

Total number of tests that were skipped.

Optional

Sample Response:

   {
        "branchCoverage": {
            "coveredBranches": 0,
            "validBranches": 0,
            "branchRate": 0.5
        },
        "classes": [
            {
                "lineRate": 0.7273,
                "branchRate": 0.5,
                "name": ".",
                "fileName": "app.py"
            },
            {
                "lineRate": 0.8182,
                "branchRate": 0.5,
                "name": ".",
                "fileName": "test.py"
            }
        ],
        "lineCoverage": {
            "lineRate": 0.7727,
            "validLines": 0,
            "coveredLines": 0
        },
        "id": 5,
        "stepId": 5,
        "projectId": 1,
        "stepletId": 1,
        "createdAt": "2019-04-12T09:33:00.011Z",
        "updatedAt": "2019-04-12T09:33:00.011Z"
    }

Response Codes: 

200: Success

400: If errorDetails or failureDetails are not an array, empty string, or null.

404: If stepId is not included in the request body


Delete a Step Test Report by Id

Description: Deletes a step test report by stepTestReportId.

Security: Requires a valid user
Usage: POST api/v1/stepTestReports/{stepTestReportId}
Consumes: application/json

Produces: application/json

URL Parameters:

Parameter

Type

Description

Required/Mandatory

stepTestReportId


The numeric id of the stepTestReport.

Required

Query ParametersIgnored

Request ParametersIgnored

Sample Response:

   {
    "id": 2
  }

Response Codes: 

200: Success

400: If the stepTestReportId is not an integer


Delete a Step Test Report by Step Id

Description: Deletes all step test reports by stepId.

Security: Requires a valid user
Usage: POST api/v1/steps/{stepId}/stepTestReports
Consumes: application/json

Produces: application/json

URL Parameters:

Parameter

Type

Description

Required/Mandatory

stepId

Integer

The numeric stepId for which to delete stepTestReports.

Required

Query ParametersIgnored

Request ParametersIgnored

Sample Response:

   {
    "id": 2
  }

Response Codes: 

200: Success

400: If the stepId is not an integer


Delete a Step Test Report by Pipeline Id

Description: Deletes all stepTestReports for a pipelineId.

Security: Requires a valid user
Usage: POST api/v1/pipelines/{pipelineId}/stepTestReports
Consumes: application/json

Produces: application/json

URL Parameters:

Parameter

Type

Description

Required/Mandatory

pipelineId

Integer

The numeric Id of the pipeline.  All stepTestReports belonging to steps with this Id will be deleted.

Required

Query ParametersIgnored

Request ParametersIgnored

Sample Response:

   {
    "id": 2
  }

Response Codes: 

200: Success

400: If the pipelineId is not an integer

Get Step Test Reports

Description: Gets a collection of stepTestReport entities. Filter criteria can be supplied via query string parameters.

Security: Requires a valid user
Usage: GET api/v1/stepTestReports
Consumes: application/json

Query Parameters

Parameter

Data Type

Description

stepIds

Integer

Comma separated list of numeric step Ids.

projectIds

Integer

Comma separated list of numeric project Ids.

pipelineSourceIdsIntegerComma separated list of numeric project source Ids.

Produces: application/json

Sample Response:

A list of stepTestReports that satisfy all the supplied query parameters. Returns no stepTestReports if no query parameters are supplied.

[
  {
    "errorDetails": [],
    "failureDetails": [],
    “durationSeconds”: 2,
    “totalTests”: 10,
    “totalPassing”: 10,
    “totalFailures”: 0,
    “totalErrors”: 0,
    “totalSkipped”: 0,
    "id": 5,
    "projectId": 1,
    "stepId": 59,
    "updatedAt": "2019-04-12T09:33:00.011Z",
    "createdAt": "2019-04-12T09:33:00.011Z"
  }
]

Response Codes: 

200: Success


Get Step Test Reports by Step Id

Description: Gets a collection of step test report files.

Security: Requires a valid user
Usage: GET api/v1/steps/:stepId/stepTestReports
Consumes: application/json

Query Parameters

Parameter

Data Type

Description

stepIds

Integer

Comma separated list of numeric step ids

Produces: application/json

Sample Response:

[
  {
    "permissions": 600,
    "path": “testreport.xml”,
    “contents”: “contents of testreport.xml”
  }
]

Response Codes: 

200: Success

400: If an error occurs while reading the files

404: If the step does not exist.


PIPELINE STEPS

Get Pipelines Steps

Description: Gets a collection of pipelineSteps entities. Filter criteria can be supplied via query string parameters.

Security: Requires a valid user
Usage: GET api/v1/pipelineSteps
Consumes: application/json

Query Parameters:

Parameter

Data Type

Description

includeDeleted

Boolean

A filter on the list based on the isDeleted property. Default is false.

projectIds

Integer

Comma separated list of numeric project ids

names

String

Comma separated list of project names

pipelineSourceIds

Integer

Comma separated list of numeric pipeline source ids

pipelineStepIds

Integer

Comma separated list of numeric pipeline step ids

isDeleted

Boolean

A filter on the list based on the includeDeleted property. If includeDeleted is true, this is ignored.

deletedBefore

String

A date type entry to get previously deleted pipelineSteps.

pipelineIds

Integer

Comma separated list of numeric pipeline ids.

typeCodes

String

Comma separated list of numeric typeCodes.

Request ParametersIgnored

Produces: application/json
Sample Usage:

[
    {
        "ymlConfigPropertyBag": {
            "integrations": [
                {
                    "name": "s_bitbucketServer"
                }
            ],
            "environmentVariables": {
                "normal": {}
            }
        },
         "yml": {
            "name": "api_PipelineSteps",
            "type": "Bash",
            "configuration": {
                "integrations": [
                    {
                        "name": "s_bitbucketServer"
                    }
                ]
            },
        },
        "id": 8,
        "name": "api_PipelineSteps",
        "typeCode": 2007,
        "latestStepId": null,
        "projectId": 1,
        "pipelineSourceId": 6,
        "pipelineId": 5,
        "isDeleted": false,
        "deletedAt": null,
        "isConsistent": true,
        "isStale": false,
        "staleAt": null,
        "isPaused": false,
        "createdBy": "1",
        "updatedBy": "1",
        "createdAt": "2019-12-10T08:42:09.317Z",
        "updatedAt": "2019-12-10T08:42:09.404Z"
    },
    {
        "ymlConfigPropertyBag": null,
        "ymlExecPropertyBag": null,
        "yml": {
            "name": "in_trigger_step",
            "type": "bash"
        },
        "id": 9,
        "name": "my_step",
        "typeCode": 2007,
        "latestStepId": null,
        "projectId": 1,
        "pipelineSourceId": 6,
        "pipelineId": 5,
        "isDeleted": false,
        "deletedAt": null,
        "isConsistent": false,
        "isStale": false,
        "staleAt": null,
        "isPaused": false,
        "createdBy": "3",
        "updatedBy": "3",
        "createdAt": "2019-12-10T08:42:09.742Z",
        "updatedAt": "2019-12-10T08:42:09.742Z"
    }
]

Response Codes: 

200: Success


Get Pipeline Step by ID

Description: Gets a single pipeline step for the supplied numeric id..

Security: Requires a valid user 
Usage: GET api/v1/pipelineSteps/:pipelineStepId
Consumes: application/json

URL Parameters:

Parameter

Data Type

Description

id

Integer

The numeric id of the pipeline step being requested

Query ParametersIgnored

Request ParametersIgnored

Sample Response:

 {
    "ymlConfigPropertyBag": {
        "integrations": [
            {
                "name": "s_bitbucketServer"
            }
        ],
        "environmentVariables": {
            "normal": {}
        }
    },
    "ymlExecPropertyBag": {
        "onExecute": [
            "printenv",
            "echo \"hi\""
        ],
        "onComplete": []
    },
    "yml": {
        "name": "api_PipelineSteps",
        "type": "Bash",
        "configuration": {
            "integrations": [
                {
                    "name": "s_bitbucketServer"
                }
            ]
        },
        "execution": {
            "onExecute": [
                "printenv",
                "echo \"hi\""
            ],
            "onComplete": []
        }
    },
    "id": 8,
    "name": "api_PipelineSteps",
    "typeCode": 2007,
    "latestStepId": null,
    "projectId": 1,
    "pipelineSourceId": 6,
    "pipelineId": 5,
    "isDeleted": false,
    "deletedAt": null,
    "isConsistent": true,
    "isStale": false,
    "staleAt": null,
    "isPaused": false,
    "createdBy": "1",
    "updatedBy": "1",
    "createdAt": "2019-12-10T08:42:09.317Z",
    "updatedAt": "2019-12-10T08:42:09.404Z"
}

Response Codes: 

200: Success
404: No pipeline is found for the supplied id.


STEPLETS

Get Steplets

Description: Gets a collection of steplet entities. Filter criteria can be supplied using query string parameters. Returns all steplets if no query parameters are supplied.

Security: Requires a valid user
Usage: GET api/v1/steplets
Consumes: application/json

Query Parameters

Parameter

Data Type

Description

stepletIds

Integer

Comma separated list of numeric steplet ids

stepIds

Integer

Comma separated list of numeric step ids

projectIds

Integer

Comma separated list of numeric project ids

pipelineIds

Integer

Comma separated list of numeric pipeline ids

statusCodes

Integer

Comma separated list of numeric system code

Request Parameters: Ignored

Produces: application/json
Sample Usage:

[
  {
    "id": 1,
    "projectId": 1,
    "pipelineId": 1,
    "stepId": 1,
    "stepletNumber": 1,
    "statusCode": 4008,
    "isConsoleArchived": true,
    "triggeredAt": "2019-04-15T06:48:43.247Z",
    "queuedAt": null,
    "endedAt": "2019-04-15T06:48:43.511Z",
    "startedAt": null,
    "createdAt": "2019-04-15T06:48:43.253Z",
    "updatedAt": "2019-04-15T06:48:43.519Z"
  }
]

Response Codes: 

200: Success


Get Steplet by ID

Description: Gets a single steplet for the supplied numeric id.

Security: Requires a valid user 
Usage: GET api/v1/steplets/:id
Consumes: application/json

Query ParametersIgnored

Request ParametersIgnored

Sample Response:

{
  "id": 1,
  "projectId": 1,
  "pipelineId": 1,
  "stepId": 1,
  "stepletNumber": 1,
  "statusCode": 4008,
  "isConsoleArchived": true,
  "triggeredAt": "2019-04-15T06:48:43.247Z",
  "queuedAt": null,
  "endedAt": "2019-04-15T06:48:43.511Z",
  "startedAt": null,
  "createdAt": "2019-04-15T06:48:43.253Z",
  "updatedAt": "2019-04-15T06:48:43.519Z"
}

Response Codes: 

200: Success
404: No step was found for the supplied ID

Get Steplet Artifact URL

Description: Gets an object with URLs to upload, download, and delete run steplet artifacts.

Security: Requires a valid user 
Usage: GET api/v1/steplets/:stepletsId/runArtifactUrl
Consumes: application/json

URL Parameters:

Parameter

Data Type

Description

stepletsId

Integer

The numeric steplet id for which to get artifact URLs

Query Parameters:

Parameter

Data Type

Description

artifactName (optional)

String

The name of the artifact for which to get URLs

Request ParametersIgnored

Sample Response:

{
    "getOpts": "-H 'Authorization: Bearer eyJ2ZXIiOiIyIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYiLCJraWQiOiI1YkFzWk9lelJRU2gzQUpQTTVKSjZxOFNPUHdQT0ZsQzBpWkVHTHlfQmdNIn0.eyJzdWIiOiJhZG1pbiIsInNjcCI6ImFwcGxpZWQtcGVybWlzc2lvbnNcL2dyb3VwczoqIGFwaToqIiwiYXVkIjoiamZydEAqIiwiaXNzIjoiamZwaXBAMTU5NjYzOTAzNyIsImV4cCI6MTU5NzgyOTMzNSwiaWF0IjoxNTk3ODI5MjE1LCJqdGkiOiI4ZWU5Yzg3Ny1mYzVjLTQ2Y2QtYmVhMi0zMDVjOTI5NGM2NjAifQ.m8TkFDJIwtaIC4cH5fTE0wyUV2WCXhSJhn_254N-u0TgbZMBxPpzYAb5uN14p7WoJG5e-9H3d86oGhJWXArupAS8SHqfanhPDjUOWwMnP3C9yNqHZkEDB92AH573qIL1moaZH-Pmg6Oa8Tkgw5F0nbOzQfZKQVxBgTNikCBGm2SPZyiFQ5VAEcH08Jkv4WIbvGl8PFfIJxmexJlrQmx3Z7viJQbtphq-6KysheY0XkRjy2DJJ7H7nkESeAsjfLTNSDtrjdYapIkaEN1xcWXjn9ccoilzbUBhUbITlPmEwVqAvd_ST8cqRfOLoZv1jyYyBs5fOKIxFbxKWOvCcusTPw'",
    "get": "http://192.168.50.4:8082/artifactory/pipelines_1596627306/projects/1/pipelines/13/runs/174/steps/360/hello",
    "put": "http://192.168.50.4:8082/artifactory/pipelines_1596627306/projects/1/pipelines/13/runs/174/steps/360/hello",
    "putOpts": "-H 'Authorization: Bearer eyJ2ZXIiOiIyIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYiLCJraWQiOiI1YkFzWk9lelJRU2gzQUpQTTVKSjZxOFNPUHdQT0ZsQzBpWkVHTHlfQmdNIn0.eyJzdWIiOiJhZG1pbiIsInNjcCI6ImFwcGxpZWQtcGVybWlzc2lvbnNcL2dyb3VwczoqIGFwaToqIiwiYXVkIjoiamZydEAqIiwiaXNzIjoiamZwaXBAMTU5NjYzOTAzNyIsImV4cCI6MTU5NzgyOTMzNSwiaWF0IjoxNTk3ODI5MjE1LCJqdGkiOiI4ZWU5Yzg3Ny1mYzVjLTQ2Y2QtYmVhMi0zMDVjOTI5NGM2NjAifQ.m8TkFDJIwtaIC4cH5fTE0wyUV2WCXhSJhn_254N-u0TgbZMBxPpzYAb5uN14p7WoJG5e-9H3d86oGhJWXArupAS8SHqfanhPDjUOWwMnP3C9yNqHZkEDB92AH573qIL1moaZH-Pmg6Oa8Tkgw5F0nbOzQfZKQVxBgTNikCBGm2SPZyiFQ5VAEcH08Jkv4WIbvGl8PFfIJxmexJlrQmx3Z7viJQbtphq-6KysheY0XkRjy2DJJ7H7nkESeAsjfLTNSDtrjdYapIkaEN1xcWXjn9ccoilzbUBhUbITlPmEwVqAvd_ST8cqRfOLoZv1jyYyBs5fOKIxFbxKWOvCcusTPw'",
    "delete": "http://192.168.50.4:8082/artifactory/pipelines_1596627306/projects/1/pipelines/13/runs/174/steps/360/hello",
    "deleteOpts": "-H 'Authorization: Bearer eyJ2ZXIiOiIyIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYiLCJraWQiOiI1YkFzWk9lelJRU2gzQUpQTTVKSjZxOFNPUHdQT0ZsQzBpWkVHTHlfQmdNIn0.eyJzdWIiOiJhZG1pbiIsInNjcCI6ImFwcGxpZWQtcGVybWlzc2lvbnNcL2dyb3VwczoqIGFwaToqIiwiYXVkIjoiamZydEAqIiwiaXNzIjoiamZwaXBAMTU5NjYzOTAzNyIsImV4cCI6MTU5NzgyOTMzNSwiaWF0IjoxNTk3ODI5MjE1LCJqdGkiOiI4ZWU5Yzg3Ny1mYzVjLTQ2Y2QtYmVhMi0zMDVjOTI5NGM2NjAifQ.m8TkFDJIwtaIC4cH5fTE0wyUV2WCXhSJhn_254N-u0TgbZMBxPpzYAb5uN14p7WoJG5e-9H3d86oGhJWXArupAS8SHqfanhPDjUOWwMnP3C9yNqHZkEDB92AH573qIL1moaZH-Pmg6Oa8Tkgw5F0nbOzQfZKQVxBgTNikCBGm2SPZyiFQ5VAEcH08Jkv4WIbvGl8PFfIJxmexJlrQmx3Z7viJQbtphq-6KysheY0XkRjy2DJJ7H7nkESeAsjfLTNSDtrjdYapIkaEN1xcWXjn9ccoilzbUBhUbITlPmEwVqAvd_ST8cqRfOLoZv1jyYyBs5fOKIxFbxKWOvCcusTPw'",
    "head": "http://192.168.50.4:8082/artifactory/pipelines_1596627306/projects/1/pipelines/13/runs/174/steps/360/hello",
    "headOpts": "-H 'Authorization: Bearer eyJ2ZXIiOiIyIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYiLCJraWQiOiI1YkFzWk9lelJRU2gzQUpQTTVKSjZxOFNPUHdQT0ZsQzBpWkVHTHlfQmdNIn0.eyJzdWIiOiJhZG1pbiIsInNjcCI6ImFwcGxpZWQtcGVybWlzc2lvbnNcL2dyb3VwczoqIGFwaToqIiwiYXVkIjoiamZydEAqIiwiaXNzIjoiamZwaXBAMTU5NjYzOTAzNyIsImV4cCI6MTU5NzgyOTMzNSwiaWF0IjoxNTk3ODI5MjE1LCJqdGkiOiI4ZWU5Yzg3Ny1mYzVjLTQ2Y2QtYmVhMi0zMDVjOTI5NGM2NjAifQ.m8TkFDJIwtaIC4cH5fTE0wyUV2WCXhSJhn_254N-u0TgbZMBxPpzYAb5uN14p7WoJG5e-9H3d86oGhJWXArupAS8SHqfanhPDjUOWwMnP3C9yNqHZkEDB92AH573qIL1moaZH-Pmg6Oa8Tkgw5F0nbOzQfZKQVxBgTNikCBGm2SPZyiFQ5VAEcH08Jkv4WIbvGl8PFfIJxmexJlrQmx3Z7viJQbtphq-6KysheY0XkRjy2DJJ7H7nkESeAsjfLTNSDtrjdYapIkaEN1xcWXjn9ccoilzbUBhUbITlPmEwVqAvd_ST8cqRfOLoZv1jyYyBs5fOKIxFbxKWOvCcusTPw'",
    "relativePath": "pipelines_1596627306/projects/1/pipelines/13/runs/174/steps/360/foo.tar.gz"
}

Response Codes: 

200: Success

400: If there is no filestore provider configured

404: if there is no root bucket


PIPELINE STEPLETS

Get Pipeline Steplets

Description: Gets a list of pipeline steplets.

Security: Requires a valid user
Usage: GET api/v1/pipelineSteplets
Consumes: application/json

Query Parameters:

Parameter

Data Type

Description

includeDeleted

Boolean

A filter on the list based on the isDeleted property of the pipelineSteplet. Default is false .

deletedBefore

String

A filter on the list that returns if deletedAt  property of the pipelineSteplet is less than deletedBefore .

Format: date-time

pipelineStepletIds

String

A filter on the list based on the id  property of the pipelineSteplet. Expects a comma separated string of pipelineStepletIds.

pipelineStepIdsStringA filter on the list based on the pipelineStepId  property of the pipelineStep. Expects a comma separated string of pipelineStepIds.
projectIdsStringA filter on the list based on the projectId  property of the pipelineSteplet. Expects a comma separated string of projectIds.
namesStringA filter on the list based on the name  property of the pipelineSteplet. Expects a comma separated string of names.
pipelineSourceIdsStringA filter on the list based on the pipelineSourceId  property of the pipelineSteplet. Expects a comma separated string of pipelineSourceIds.
pipelineIdsStringA filter on the list based on the pipelineId  property of the pipelineSteplet. Expects a comma separated string of pipelineIds.

Produces: application/json

Sample Response:

An array of pipeline steps that satisfy all of the supplied query parameters. Returns all pipeline steps if no query parameters are supplied.
[
    {
        "configPropertyBag": {
            "environmentVariables": {
                "key_1": "value1",
                "key_2": "value2"
            },
            "runtime": {
                "type": "image",
                "image": {
                    "auto": {
                        "language": "node",
                        "versions": [
                            "8.17.0"
                        ]
                    }
                }
            },
            "stepletNumber": 4
        },
        "id": 11,
        "name": "steplet_4",
        "pipelineStepId": 6,
        "projectId": 1,
        "pipelineSourceId": 1,
        "pipelineId": 2,
        "isDeleted": false,
        "deletedAt": null,
        "createdBy": "2",
        "updatedBy": "2",
        "createdAt": "2020-06-09T10:50:40.548Z",
        "updatedAt": "2020-06-09T10:50:40.627Z"
    },
    {
        "configPropertyBag": {
            "environmentVariables": {
                "env1": "changed1",
                "env2": "changed2"
            },
            "runtime": {
                "type": "image",
                "image": {
                    "auto": {
                        "language": "java",
                        "versions": [
                            13
                        ]
                    }
                }
            },
            "stepletNumber": 2
        },
        "id": 8,
        "name": "steplet_2",
        "pipelineStepId": 6,
        "projectId": 1,
        "pipelineSourceId": 1,
        "pipelineId": 2,
        "isDeleted": false,
        "deletedAt": null,
        "createdBy": "2",
        "updatedBy": "2",
        "createdAt": "2020-06-09T10:50:40.543Z",
        "updatedAt": "2020-06-09T10:50:40.628Z"
    },
]

Response Codes: 

200: Success


Get a Pipeline Steplet

Description: Gets a pipeline steplet by Id.

Security: Requires a valid user
Usage: GET api/v1/pipelineSteplets/:{pipelineStepletId}
Consumes: application/json

URL Parameter:

Parameter

Data Type

Description

Required/Optional

pipelineStepletId

Integer

Id of the pipeline steplet being requested.

Required

Produces: application/json

Sample Response:

 {
        "configPropertyBag": {
            "environmentVariables": {
                "key_1": "value1",
                "key_2": "value2"
            },
            "runtime": {
                "type": "image",
                "image": {
                    "auto": {
                        "language": "node",
                        "versions": [
                            "8.17.0"
                        ]
                    }
                }
            },
            "stepletNumber": 4
        },
        "id": 11,
        "name": "steplet_4",
        "pipelineStepId": 6,
        "projectId": 1,
        "pipelineSourceId": 1,
        "pipelineId": 2,
        "isDeleted": false,
        "deletedAt": null,
        "createdBy": "2",
        "updatedBy": "2",
        "createdAt": "2020-06-09T10:50:40.548Z",
        "updatedAt": "2020-06-09T10:50:40.627Z"
  }

Response Codes: 

200: Success

404: If no pipeline steplet is found for the supplied id.


STEPLET CONSOLES

Get Steplet Consoles

Description: Gets steplet consoles belonging to a particular steplet.

Security: Requires a valid user
Usage: GET api/v1/steplets/{stepletId}/consoles
Consumes: application/json

URL Parameters:

ParameterData TypeDescriptionRequired/Optional
stepletIdIntegerId of the steplet for which console is being requested.Required

Query Parameters

ParameterData TypeDescriptionRequired/Optional
limitIntegerA limit on the number of consoles returned.Optional
skipIntegerA cursor for use in pagination. This parameter defines the number of consoles skipped.Optional
fetchAllBooleanIf the caller is a super user, ignores if the maximum number of consoles has been exceeded. Does not return a console log object if there are no logs, and does not group logs.Optional
downloadBooleanDownloads the step consoles as a text file, including the step consoles as well as the steplet.Optional
sortByStringThe stepConsole properties by which to sort the results. Expects a comma separated list of sorters. Ignored if download is true.Optional
sortOrderIntegerA sort order based on the sortBy defined. If '1', sorts the list in ascending order. If '-1', sorts the list in descending order. Ignored if download is true.Optional

Produces: application/json

Sample Usage:

{
    "root": [
        {
            "consoleId": "1c8f1272-f6cb-49fe-b0a8-1da200c1ea1a",
            "isSuccess": null,
            "isShown": true,
            "parentConsoleId": "root",
            "stepletId": 1,
            "pipelineId": 3,
            "timestamp": 1612940706379471,
            "timestampEndedAt": null,
            "type": "grp",
            "message": "Queuing step",
            "createdAt": "2021-02-10T07:05:06.407Z",
            "updatedAt": "2021-02-10T07:05:06.407Z"
        },
        {
            "consoleId": "1c8f1272-f6cb-49fe-b0a8-1da200c1ea1a",
            "isSuccess": true,
            "isShown": true,
            "parentConsoleId": "root",
            "stepletId": 1,
            "pipelineId": 3,
            "timestamp": 1612940706381850,
            "timestampEndedAt": 1612940706381853,
            "type": "grp",
            "message": "Queuing step",
            "createdAt": "2021-02-10T07:05:06.414Z",
            "updatedAt": "2021-02-10T07:05:06.414Z"
        },
}

Response Codes: 

200: Success


PIPELINE STEP CONNECTIONS

Establishes connection between steps.

Add Pipeline Step Connections

Description: Adds pipeline step connections.

Security: Requires a valid user
Usage: POST /pipelineStepConnections
Consumes: application/json

URL ParametersNone

Query ParametersIgnored

Request Parameters:

Parameter

Type

Description

Required/Optional
pipelineStepIdIntegerThe ID of the pipelineStep.Required
operationStringIN or OUT. If the resource, integration, or step is an input: IN. If it is an output resource: OUT.Required
projectIdIntegerThe ID of the project to which the pipeline of which this connection belongs to.Required
pipelineSourceIdIntegerThe ID of the pipelineSource to which the pipeline of which this connection belongs to.Required
pipelineIdIntegerThe ID of the pipeline of which this connection is part.Required

operationResourceIdIntegerIf the connection is to a resource, the ID of the resource.Optional
operationResourceNameStringIf the connection is to a resource, the name of the resource.Optional
operationPipelineStepIdIntegerIf the connection is to a pipelineStep, the ID of the pipelineStep.Optional
operationPipelineStepNameStringIf the connection is to a pipelineStep, the name of the pipelineStep.Optional
operationIntegrationIdIntegerIf the connection is to an integration, the ID of the integration.Optional
operationIntegrationNameStringIf the connection if to an integration, the name of the integration.Optional
isTriggerBooleanIf the input is a resource, it updates to the resource that should trigger the step. Default is false.Optional

Produces: application/json

Sample Response:

{
    "id": 2,
    "pipelineStepId": 2,
    "operation": "IN",
    "operationResourceId": null,
    "operationResourceName": null,
    "operationPipelineStepId": null,
    "operationPipelineStepName": null,
    "operationIntegrationId": 2,
    "operationIntegrationName": "i_artifactory",
    "projectId": 1,
    "pipelineSourceId": 2,
    "pipelineId": 2,
    "isTrigger": false,
    "createdBy": "1",
    "updatedBy": "1",
    "createdAt": "2019-11-11T10:28:25.017Z",
    "updatedAt": "2019-11-11T10:28:25.017Z"
}

Response Codes: 

200: Success

404: If required fields are not included in the request body


Update a Pipeline Step Connection

Description: Updates a pipeline step connection based on Id.

Security: Requires a valid user
Usage: PUT /pipelineStepConnections/{id}
Consumes: application/json

URL Parameters:

Parameter

Type

Description

Required/Optional

id

Integer

The numeric id of the pipelineStepConnections.

Required

Query ParametersIgnored

Request Parameters:

Parameter

Type

Description

Required/Optional
pipelineStepIdIntegerThe ID of the pipelineStep.Optional
operationStringIN or OUT. If the resource, integration, or step is an input: IN. If it is an output resource: OUT.Optional
projectIdIntegerThe ID of the project to which the pipeline of which this connection belongs to.Optional
pipelineIdIntegerThe ID of the pipeline of which this connection is part.Optional
operationResourceIdIntegerIf the connection is to a resource, the ID of the resource.Optional
operationResourceNameStringIf the connection is to a resource, the name of the resource.Optional
operationPipelineStepIdIntegerIf the connection is to a pipelineStep, the ID of the pipelineStep.Optional
operationPipelineStepNameStringIf the connection is to a pipelineStep, the name of the pipelineStep.Optional
operationIntegrationIdIntegerIf the connection is to an integration, the ID of the integration.Optional
operationIntegrationNameStringIf the connection if to an integration, the name of the integration.Optional
isTriggerBooleanIf the input is a resource, it updates to the resource that should trigger the step. Default is false.Optional

Produces: application/json

Sample Response:

{
    "id": 2,
    "pipelineStepId": 2,
    "operation": "IN",
    "operationResourceId": null,
    "operationResourceName": null,
    "operationPipelineStepId": null,
    "operationPipelineStepName": null,
    "operationIntegrationId": 2,
    "operationIntegrationName": "i_artifactory",
    "projectId": 1,
    "pipelineSourceId": 2,
    "pipelineId": 2,
    "isTrigger": false,
    "createdBy": "1",
    "updatedBy": "1",
    "createdAt": "2019-11-11T10:28:25.017Z",
    "updatedAt": "2019-11-11T10:28:25.017Z"
}

Response Codes: 

200: Success

404: If required fields are not included in the request body


Delete a Pipeline Step Connection

Description: Deletes a pipeline step connection based on Id.

Security: Requires a valid user
Usage: DELETE /pipelineStepConnections/{id}
Consumes: application/json

URL Parameters:

Parameter

Type

Description

Required/Optional

id

Integer

The numeric id of the pipelineStepConnections.

Required

Query ParametersIgnored

Produces: application/json

Sample Response:

  {
    "id": 2
  }

Response Codes: 

200: Success

404: If the id is not an integer.


Get Pipeline Step Connections

Description: Gets a collection of pipelineStepConnection entities. Filter criteria can be supplied using query string parameters.

Security: Requires a valid user
Usage: GET api/v1/pipelineStepConnections
Consumes: application/json

Query Parameters:

Parameter

Type

Description

Required/Optional

projectIds

String

A filter on the list based on the `projectId` property of the pipelineStepConnection. Expects a comma separated string of projectIds.

Optional

pipelineIds

String

A filter on the list based on the `pipelineId` property of the pipelineStepConnection. Expects a comma separated string of pipelineIds.

Optional

pipelineSourceIds

String

A filter on the list based on the `pipelineSourceId` property of the pipelineStepConnection. Expects a comma separated string of pipelineSourceIds.

Optional

operationIntegrationNames

String

A filter on the list based on the `operationIntegrationName` property of the pipelineStepConnection. Expects a comma separated string of operationIntegrationNames.

Optional

operationIntegrationIds

String

A filter on the list based on the `operationIntegrationId` property of the pipelineStepConnection. Expects a comma separated string of operationIntegrationIds.

Optional

operationPipelineStepNames

String

A filter on the list based on the `operationPipelineStepName` property of the pipelineStepConnection. Expects a comma separated string of operationPipelineStepNames.

Optional

operationPipelineStepIds

String

A filter on the list based on the `operationPipelineStepId` property of the pipelineStepConnection. Expects a comma separated string of operationPipelineStepIds.

Optional
operationResourceNameStringA filter on the list based on the `operationResourceName` property of the pipelineStepConnection. Expects a comma separated string of operationResourceNames.Optional

operationResourceIds

String

A filter on the list based on the `operationResourceId` property of the pipelineStepConnection. Expects a comma separated string of operationResourceIds.

Optional
pipelineStepConnectionStringThe pipelineStepConnection properties to sort the results by. Expects a comma separated list of sorters.Optional

isTrigger

Boolean

A filter on the list based on the `isTrigger` property of the pipelineStepConnection.

Optional

operations

String

A filter on the list based on the `operation` property of the pipelineStepConnection. Expects a comma separated string of operations.

Optional

pipelineStepIds

String

A filter on the list based on the `pipelineStepId` property of the pipelineStepConnection. Expects a comma separated string of pipelineStepIds.

Optional

sortBy

String

The pipelineStepConnection properties to sort the results by. Expects a comma separated list of sorters.

Optional

sortOrder

Integer

A sort order based on the `sortBy` defined. If `1`, sorts the list in ascending order. If `-1`, sorts the list in descending order.

Optional

limit

Integer

A limit on the number of pipelineStepConnections returned.

Optional

skip

Integer

A cursor for use in pagination. `skip` defines the number of pipelineStepConnections skipped.

Optional

Produces: application/json

Sample Response:

[
   {
       "id": 1,
       "pipelineStepId": 1,
       "operation": "IN",
       "operationResourceId": null,
       "operationResourceName": null,
       "operationPipelineStepId": null,
       "operationPipelineStepName": null,
       "operationIntegrationId": 1,
       "operationIntegrationName": "i_bitBucketServer",
       "projectId": 1,
       "pipelineSourceId": 1,
       "pipelineId": 1,
       "isTrigger": false,
       "createdBy": "1",
       "updatedBy": "1",
       "createdAt": "2019-11-11T07:26:19.190Z",
       "updatedAt": "2019-11-11T07:26:19.190Z"
   }
]

Response Codes: 

200: Success


Get a Pipeline Step Connection

Description: Gets a pipelineStepConnection based on Id.

Security: Requires a valid user
Usage: GET api/v1/pipelineStepConnections/{pipelineStepConnectionId}
Consumes: application/json

URL Parameters:

Parameter

Type

Description

Required/Optional

id

Integer

The numeric id of the pipelineStepConnections being requested

Required

Produces: application/json

Sample Response:

 {
    "id": 2,
    "pipelineStepId": 2,
    "operation": "IN",
    "operationResourceId": null,
    "operationResourceName": null,
    "operationPipelineStepId": null,
    "operationPipelineStepName": null,
    "operationIntegrationId": 2,
    "operationIntegrationName": "i_artifactory",
    "projectId": 1,
    "pipelineSourceId": 2,
    "pipelineId": 2,
    "isTrigger": false,
    "createdBy": "1",
    "updatedBy": "1",
    "createdAt": "2019-11-11T10:28:25.017Z",
    "updatedAt": "2019-11-11T10:28:25.017Z"
}

Response Codes: 

200: Success

404: If no pipelineStepConnections is found for the supplied id


RUN STEP CONNECTIONS

Instances of runStepConnections used for running a pipeline.

Add Run Step Connections

Description: Adds run step connections.

Security: Requires a valid user
Usage: POST /runStepConnections
Consumes: application/json

URL ParametersNone

Query ParametersIgnored

Request Parameters:

ParameterTypeDescriptionRequired/Optional
projectIdIntegerThe ID of the project to which the pipeline of which this connection belongs to.Required
operationString

IN or OUT denoting if this connection is an input or output of the step.

Required
stepIdIntegerThe ID of the step of which this connection is part.Required
runIdIntegerThe ID of the run of which this connection is part.Required
pipelineIdIntegerThe ID of the pipeline of which this connection is part.Required
pipelineSourceIdIntegerThe ID of the pipelineSource to which the run of which this connection belongs to.Required

operationRunResourceVersionIdIntegerIf the connection is a resource input or output, the ID of the runResourceVersion.Optional
operationRunResourceVersionNameStringIf the connection is a resource input or output, the name of the resource.Optional
operationStepIdIntegerIf the connection is a step input, the ID of the step.Optional
operationStepNameStringIf the connection is a step input, the name of the step.Optional
operationIntegrationIdIntegerIf the connection is an integration input, the ID of the integration.Optional
operationIntegrationNameStringIf the connection is an integration input, the name of the integration.Optional
isTriggerBooleanIf the pipelineStep connection, of which this is a copy at the time of run creation, is an input that should trigger the step when updated.Optional

Produces: application/json

Sample Response:

  {
        "id": 1,
        "stepId": 1,
        "pipelineId": 1,
        "projectId": 1,
        "runId": 1,
        "operation": "IN",
        "operationRunResourceVersionId": 1,
        "operationRunResourceVersionName": "image_res-deepika",
        "operationStepId": null,
        "operationStepName": null,
        "operationIntegrationId": null,
        "operationIntegrationName": null,
        "isTrigger": false,
        "createdBy": "Service User",
        "updatedBy": "Service User",
        "createdAt": "2019-04-10T05:46:15.989Z",
        "updatedAt": "2019-04-10T05:46:15.989Z"
    }

Response Codes: 

200: Success

404: If required fields are not included in the request body


Update a Run Step Connection

Description: Updates a run step connection.

Security: Requires a valid user
Usage: PUT /runStepConnections/{runStepConnectionId}
Consumes: application/json

URL ParametersNone

Query ParametersIgnored

Request Parameters:

ParameterTypeDescriptionRequired/Optional
projectIdIntegerThe ID of the project to which the pipeline of which this connection belongs to.Required
operationString

IN or OUT denoting if this connection is an input or output of the step.

Required
stepIdIntegerThe ID of the step of which this connection is part.Required
runIdIntegerThe ID of the run of which this connection is part.Required

operationRunResourceVersionIdIntegerIf the connection is a resource input or output, the ID of the runResourceVersion.Optional
operationRunResourceVersionNameStringIf the connection is a resource input or output, the name of the resource.Optional
operationStepIdIntegerIf the connection is a step input, the ID of the step.Optional
operationStepNameStringIf the connection is a step input, the name of the step.Optional
operationIntegrationIdIntegerIf the connection is an integration input, the ID of the integration.Optional
operationIntegrationNameStringIf the connection is an integration input, the name of the integration.Optional
isTriggerBooleanIf the pipelineStep connection, of which this is a copy at the time of run creation, is an input that should trigger the step when updated.Optional

Produces: application/json

Sample Response:

  {
        "id": 1,
        "stepId": 1,
        "pipelineId": 1,
        "projectId": 1,
        "runId": 1,
        "operation": "IN",
        "operationRunResourceVersionId": 1,
        "operationRunResourceVersionName": "image_res-deepika",
        "operationStepId": null,
        "operationStepName": null,
        "operationIntegrationId": null,
        "operationIntegrationName": null,
        "isTrigger": false,
        "createdBy": "Service User",
        "updatedBy": "Service User",
        "createdAt": "2019-04-10T05:46:15.989Z",
        "updatedAt": "2019-04-10T05:46:15.989Z"
    }

Response Codes: 

200: Success

404: If required fields are not included in the request body


Delete a Run Step Connection

Description: Deletes a run step connection.

Security: Requires a valid user
Usage: DELETE /runStepConnections/{runStepConnectionId}
Consumes: application/json

URL ParametersNone

Query Parameters

ParameterTypeDescriptionRequired/Optional
runStepConnectionIdIntegerThe ID of the runStepConnection to be deleted. Required

Produces: application/json

Sample Response:

  {
    "id": 2
  }

Response Codes: 

200: Success

404: If the id is not an integer


Get all Run Step Connection

Description: Gets a list of all run step connections.

Security: Requires a valid user
Usage: GET /runStepConnections
Consumes: application/json

URL ParametersNone

Query Parameters

Parameter

TypeDescription

operations

StringA filter on the list based on the `operation` property of the runStepConnection. Expects a comma separated string of operations.

operationRunResourceVersionIds

StringA filter on the list based on the `operationRunResourceVersionId` property of the runStepConnection. Expects a comma separated string of operationRunResourceVersionIds.

operationRunResourceVersionNames

StringA filter on the list based on the `operationRunResourceVersionName` property of the runStepConnection. Expects a comma separated string of operationRunResourceVersionNames.

stepIds

StringA filter on the list based on the `stepId` property of the runStepConnection. Expects a comma separated string of stepIds.

operationStepIds

StringA filter on the list based on the `operationStepId` property of the runStepConnection. Expects a comma separated string of operationStepIds.

operationStepNames

StringA filter on the list based on the `operationStepName` property of the runStepConnection. Expects a comma separated string of operationStepNames.

operationIntegrationIds

StringA filter on the list based on the `operationIntegrationId` property of the runStepConnection. Expects a comma separated string of operationIntegrationIds.

operationIntegrationNames

StringA filter on the list based on the `operationIntegrationName` property of the runStepConnection. Expects a comma separated string of operationIntegrationNames.

runIds

StringA filter on the list based on the `runId` property of the runStepConnection. Expects a comma separated string of runIds.

pipelineIds

StringA filter on the list based on the `pipelineId` property of the runStepConnection. Expects a comma separated string of pipelineIds.

StringA filter on the list based on the `pipelineSourceId` property of the runStepConnection. Expects a comma separated string of pipelineSourceIds.

projectIds

String A filter on the list based on the `projectId` property of the runStepConnection. Expects a comma separated string of projectIds.

sortBy

StringThe runStepConnection properties to sort the results by. Expects a comma separated list of sorters.

sortOrder

IntegerA sort order based on the `sortBy` defined. If `1`, sorts the list in ascending order. If `-1`, sorts the list in descending order.

limit

Integer A limit on the number of runStepConnections returned.

skip

IntegerA cursor for use in pagination. `skip` defines the number of runStepConnections skipped.

Request Parameters: Ignored

Produces: application/json

Sample Response:

[
    {
        "id": 1,
        "stepId": 1,
        "pipelineId": 3,
        "pipelineSourceId": 1,
        "projectId": 1,
        "runId": 1,
        "operation": "IN",
        "operationRunResourceVersionId": 1,
        "operationRunResourceVersionName": "be_gitRepo",
        "operationStepId": null,
        "operationStepName": null,
        "operationIntegrationId": null,
        "operationIntegrationName": null,
        "isTrigger": true,
        "createdBy": "1",
        "updatedBy": "1",
        "createdAt": "2021-02-10T07:05:05.429Z",
        "updatedAt": "2021-02-10T07:05:05.429Z"
    }
]

Response Codes: 

200: Success

404: If the id is not an integer


Get a Run Step Connection

Description: Gets a run step connection based on Id.

Security: Requires a valid user
Usage: GET /runStepConnections/{runStepConnectionId}
Consumes: application/json

URL ParametersNone

Query Parameters

Parameter

TypeDescriptionRequired/Optional

runStepConnectionId

IntegerThe numeric id of the runStepConnection being requested.

Request Parameters: Ignored

Produces: application/json

Sample Response:

[
    {
        "id": 1,
        "stepId": 1,
        "pipelineId": 3,
        "pipelineSourceId": 1,
        "projectId": 1,
        "runId": 1,
        "operation": "IN",
        "operationRunResourceVersionId": 1,
        "operationRunResourceVersionName": "be_gitRepo",
        "operationStepId": null,
        "operationStepName": null,
        "operationIntegrationId": null,
        "operationIntegrationName": null,
        "isTrigger": true,
        "createdBy": "1",
        "updatedBy": "1",
        "createdAt": "2021-02-10T07:05:05.429Z",
        "updatedAt": "2021-02-10T07:05:05.429Z"
    }
]

Response Codes: 

200: Success

404: If the id is not an integer


STEPLET TEST REPORTS

Create Steplet Test Reports

Description: Creates a steplet test report.

Security: Requires a valid user
Usage: POST /stepletTestReports
Consumes: application/json

Query Parameters:

Parameter

Data Type

Description

Required/Optional
stepletidIntegerComma separated list of numeric steplet Ids.Required

stepId

Integer

Comma separated list of numeric step Ids.

Required

durationSeconds

Integer

Integer representing the duration in seconds.

Optional

errorDetails

Array

Array of objects.

Optional

failureDetails

Array

Array of objects.

Optional

totalTests

Integer

Total number of tests.

Optional

totalErrors

Integer

Total number of tests reported with errors.

Optional

totalFailures

Integer

Total number of tests that failed.

Optional

totalPassing

Integer

Total number of tests that passed.

Optional

totalSkipped

Integer

Total number of tests that were skipped.

Optional

Produces: application/json

Sample Response:

   {
        "branchCoverage": {
            "coveredBranches": 0,
            "validBranches": 0,
            "branchRate": 0.5
        },
        "classes": [
            {
                "lineRate": 0.7273,
                "branchRate": 0.5,
                "name": ".",
                "fileName": "app.py"
            },
            {
                "lineRate": 0.8182,
                "branchRate": 0.5,
                "name": ".",
                "fileName": "test.py"
            }
        ],
        "lineCoverage": {
            "lineRate": 0.7727,
            "validLines": 0,
            "coveredLines": 0
        },
        "id": 5,
        "stepId": 5,
        "projectId": 1,
        "stepletId": 1,
        "createdAt": "2019-04-12T09:33:00.011Z",
        "updatedAt": "2019-04-12T09:33:00.011Z"
    }

Response Codes: 

200: Success

404: If stepId is not included in the request body

400: If errorDetails or failureDetails are not an array, empty string, or null


Get Steplet Test Reports

Description: Gets a collection of stepletTestReport entities. Filter criteria can be supplied using query string parameters.

Security: Requires a valid user
Usage: GET api/v1/stepletTestReports
Consumes: application/json

Query Parameters

Parameter

Data Type

Description

stepletIds

Integer

Comma separated list of numeric steplet ids

stepIds

Integer

Comma separated list of numeric step ids

projectIds

Integer

Comma separated list of numeric project ids

Produces: application/json

Sample Response:

[
  {
    "errorDetails": [],
    "failureDetails": [],
    “durationSeconds”: 2,
    “totalTests”: 10,
    “totalPassing”: 10,
    “totalFailures”: 0,
    “totalErrors”: 0,
    “totalSkipped”: 0,
    "id": 5,
    "projectId": 1,
    "stepId": 59,
    "stepletId": 59,
    "updatedAt": "2019-04-12T09:33:00.011Z",
    "createdAt": "2019-04-12T09:33:00.011Z"
  }
 
]

Response Codes: 

200: Success


MASTER RESOURCES

Create an Master Resource

Description: Creates a master resource/extension.

Security: Requires a valid user
Usage: POST api/v1/masterResources
Consumes: application/json

Request Parameters:

Parameter

Type

Description

Required/Optional

resourceType

String

The type of the extension. Step or resource.

Required

name

String

Name of the resource. 

Required

syntaxVersion

String

The semver version, or "latest," of this masterResource. The semver version will match the Git tag that contains this version of the extension.

Required

namespace

String

The namespace of the extension. This is part of the directory path in which the extension may be found in the extensionSource

Required

description

String

The description of this masterResource/extension.

Optional

isInternall

Boolean


Optional

latestSha

String

The most recently synchronized SHA of the extensionSource for this extension.

Optional
extensionSourceIdIntegerThe ID of the extensionSource that contains this masterResource.Optional

Produces: application/json

Sample Response:

{
  "id": 1,
  "resourceType": "resource",
  "name": "foo",
  "description": "description",
  "name": "sample_node",
  "isInternal": false,
  "syntaxVersion": "latest",
  "retiredAt": null,
  "lastSyncLogs": null,
  "lastSyncEndedAt": null,
  "isSyncing": false,
  "lastSyncStartedAt": null,
  "lastSyncEndedAt": null,
  "latestSha": null,
  "namespace": "foo",
  "createdAt": "2019-04-15T05:39:36.104Z",
  "updatedAt": "2019-04-15T05:39:43.286Z"
}

Response Codes: 

200: Success

404: If required fields are not included in the request body.


Update a Master Resource

Description: Updates a master resource.

Security: Requires a valid user
Usage: PUT api/v1/masterResources/{masterResourceId}
Consumes: application/json

URL Parameters:

Parameter

Type

Description

Required/Optional

masterResourceId

Integer

The numeric id of the masterResource.

Required

Query ParametersIgnored

Request Parameters:

Parameter

Type

Description

Required/Optional

description

String

The extension description.

Optional
extensionSourceIdIntegerThe ID of the extensionSource to which this belongs.Optional

retiredAt

String

The time at which this version of the extension was retired.

Optional

lastSyncStartedAt

String

The time the last sync started.

Optional

lastSyncEndedAt

String

The time the last sync ended.

Optional
lastSyncStatusCodeIntegerThe status of the last extension sync.Optional

lastSyncLogs

String

Logs from the last sync.

Optional

isSyncing

Boolean

The masterResource is currently being synchronized by extensionSync.

Optional

Produces: application/json

Sample Response:

{
  "id": 1,
  "resourceType": "resource",
  "name": "foo",
  "description": "description",
  "name": "sample_node",
  "isInternal": false,
  "syntaxVersion": "latest",
  "retiredAt": null,
  "lastSyncLogs": null,
  "lastSyncEndedAt": null,
  "isSyncing": false,
  "lastSyncStartedAt": null,
  "lastSyncEndedAt": null,
  "latestSha": null,
  "namespace": "foo",
  "createdAt": "2019-04-15T05:39:36.104Z",
  "updatedAt": "2019-04-15T05:39:43.286Z"
}

Response Codes: 

200: Success

404: If required fields are not included in the request body.


Delete a Master Resource

Description: Deletes a master resource.

Security: Requires a valid user
Usage: DELETE api/v1/masterResources/{masterResourceId}
Consumes: application/json

URL Parameters:

Parameter

Type

Description

Required/Optional

masterResourceId

Integer

The numeric id of the masterResource.

Required

Query ParametersIgnored

Request Parameters: Ignored

Produces: application/json

Sample Response:

{
  "id": 1
}

Response Codes: 

200: Success

400: If the id is not an integer

404: If the masterResource is not found for the given masterResourceId


Get all Master Resources

Description: Gets a list of all master resources.

Security: Requires a valid user
Usage: GET api/v1/masterResources
Consumes: application/json

Query Parameters:

Parameter

Type

Description

Required/Optional

masterResourceId

Integer

The numeric id of the masterResource.

Optional

Request Parameters: Ignored

Produces: application/json

Sample Response:

[{
  "id": 1,
  "resourceType": "resource",
  "name": "foo",
  "description": "description",
  "name": "sample_node",
  "isInternal": false,
  "syntaxVersion": "latest",
  "retiredAt": null,
  "lastSyncLogs": null,
  "lastSyncEndedAt": null,
  "isSyncing": false,
  "lastSyncStartedAt": null,
  "lastSyncEndedAt": null,
  "latestSha": null,
  "namespace": "foo",
  "createdAt": "2019-04-15T05:39:36.104Z",
  "updatedAt": "2019-04-15T05:39:43.286Z"
}]

Response Codes: 

200: Success

400: If the id is not an integer

404: If the masterResource is not found for the given masterResourceId


Get a Master Resource

Description: Gets a master resources based on Id.

Security: Requires a valid user
Usage: GET api/v1/masterResources/{masterResourceId}
Consumes: application/json

URL Parameters:

Parameter

Type

Description

Required/Optional

masterResourceId

Integer

The numeric id of the masterResource.

Required

Request Parameters: Ignored

Produces: application/json

Sample Response:

[{
  "id": 1,
  "resourceType": "resource",
  "name": "foo",
  "description": "description",
  "name": "sample_node",
  "isInternal": false,
  "syntaxVersion": "latest",
  "retiredAt": null,
  "lastSyncLogs": null,
  "lastSyncEndedAt": null,
  "isSyncing": false,
  "lastSyncStartedAt": null,
  "lastSyncEndedAt": null,
  "latestSha": null,
  "namespace": "foo",
  "createdAt": "2019-04-15T05:39:36.104Z",
  "updatedAt": "2019-04-15T05:39:43.286Z"
}]

Response Codes: 

200: Success

400: If the id is not an integer

404: If the masterResource is not found for the given masterResourceId


EXTENSION SOURCES

Add an Extension Source

Description: Adds an extension source, which syncs and creates all the resources and steps specified in the pipeline source.

Security: Requires a valid user
Usage: POST api/v1/extensionSources
Consumes: application/json

Request Parameters:

Parameter

Type

Description

Required/Optional

projectIntegrationId

Integer

The project integration Id. For information about obtaining integration Id's, see Get All Integrations.

Required

repositoryFullName

String

Full name of the SCM repository along with organization name.

Required

repositoryBranch

String

Branch name of the repository.

Required


Produces
: application/json

Sample Request:


curl -L -X POST 'https://icarus1a.jfrogdev.org/pipelines/api/v1/extensionsources' \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json' \
--data-raw '{
    "projectIntegrationId": 7,
    "repositoryFullName": "jfrog/extensionSource_test",
    "repositoryBranch": "main"
}'


Sample Response:

{
    "isSyncing": false,
    "id": 5,
    "projectIntegrationId": 7,
    "repositoryFullName": "jfrog/extensionSource_test",
    "repositoryBranch": "main",
    "latestSha": "39821907d472b5a1d42ca8a4af2903c36c40eb15",
    "updatedAt": "2021-05-26T12:48:04.169Z",
    "createdAt": "2021-05-26T12:48:02.948Z",
    "lastSyncStatusCode": null,
    "lastSyncStartedAt": null,
    "lastSyncEndedAt": null,
    "lastSyncLogs": null,
    "resourceId": 9
}

Response Codes: 

200: Success

404: If required fields are not included in the request body.

Update an Extension Source

Description: Update an extension source by Id.

Security: Requires a valid user
Usage: GET api/v1/extensionSources/:extensionSourceId
Consumes: application/json

URL Parameters

Parameter

Data Type

Description

extensionSourceId

Integer

The id of the extension source to be updated.

Request Parameters:

Parameter

Data Type

Description

isSyncing

Boolean

To show if a extensionSource is being synced or not.

lastSyncStatusCode

Integer

Entry of system code.

lastSyncStartedAt

String

Timestamp when the extensionSource started syncing.

lastSyncEndedAt

String

Timestamp when the extensionSource synced.

lastSyncLogs

String

Text, logs of last extensionSource sync.

projectIntegrationId

Integer

The project integration Id. For information about obtaining integration Id's, see Get All Integrations.

Produces: application/json

Sample Response:

{
  "id": 1,
  "projectIntegrationId": 1,
  "repositoryFullName": "bharath92/pipelines",
  "repositoryBranch": "master",
  "fileFilter": "pipelines.config",
  "isSyncing": false,
  "lastSyncStatusCode": 4002,
  "lastSyncStartedAt": "2019-04-15T05:39:29.627Z",
  "lastSyncEndedAt": "2019-04-15T05:39:43.478Z",
  "lastSyncLogs": "Successfully synced pipeline source\n\nSUMMARY:\n\nCreated 1 resources\nCreated 1 pipelines\nCreated 1 steps\n\nDETAILS:\n\npipelines.config: successfully created resource: sample_node\npipelines.config: successfully created pipeline: pipeline_1\npipelines.config: successfully created step: step_A\nSuccessfully created connection between step: step_A and sample_node",
  "resourceId": 1,
  “latestSha”: “5abc3dedcddef1234dc”,
  "createdBy": "Service User",
  "updatedBy": "Service User",
  "createdAt": "2019-04-15T05:39:21.866Z",
  "updatedAt": "2019-04-15T05:39:43.485Z"
}

Response Codes: 

200: Success


Delete an Extension Source

DescriptionDeletes an extension source by id. 

Security: Requires a valid user
Usage: DELETE api/v1/extensionSources/extensionSourceId

Produces: application/json

URL parameters:

Parameter

Type

Description

Required/Optional

extensionSourceId

Integer

The numeric id of the extension source

Required

ParametersIgnored

Request Parameters: Ignored

Sample Response:

  {
    "id": 2
  }

Response Codes: 
200: Success

400: If the id is not an integer

404: If the extension source is not found for the given extensionSourceId


Get all Extension Sources

Description: Gets an array of extension sources.

Security: Requires a valid user
Usage: GET api/v1/extensionSources
Consumes: application/json

Query Parameters

Parameter

Data Type

Description

masterResourceIds

Integer

Comma separated masterResourceIds

Produces: application/json

Sample Response:

[{
  "id": 1,
  "projectIntegrationId": 1,
  "repositoryFullName": "bha92/pipelines",
  "repositoryBranch": "master",
  "isSyncing": false,
  "lastSyncStatusCode": 4002,
  "lastSyncStartedAt": "2019-04-15T05:39:29.627Z",
  "lastSyncEndedAt": "2019-04-15T05:39:43.478Z",
  "lastSyncLogs": "Successfully synced pipeline source\n\nSUMMARY:\n\nCreated 1 resources\nCreated 1 pipelines\nCreated 1 steps\n\nDETAILS:\n\npipelines.config: successfully created resource: sample_node\npipelines.config: successfully created pipeline: pipeline_1\npipelines.config: successfully created step: step_A\nSuccessfully created connection between step: step_A and sample_node",
  "resourceId": 1,
  "createdBy": "Service User",
  "updatedBy": "Service User",
  "createdAt": "2019-04-15T05:39:21.866Z",
  "updatedAt": "2019-04-15T05:39:43.485Z",
  “latestSha”: “5abcdeededggff43da”
}]

Response Codes: 

200: Success

Get Extension Source by Id

Description: Gets a single extension source for the supplied numeric extension source Id.

Security: Requires a valid user
Usage: GET api/v1/extensionSources/:extensionSourceId
Consumes: application/json

URL Parameters:

Parameter

Data Type

Description

extensionSourceId

Integer

The numeric id of the extensionSource being requested

Query Parameters:

Parameter

Data Type

Description

sync

Integer

Set as true to force the templateSource to sync

Produces: application/json

Request ParametersIgnored

Sample Response:

The templateSource entity with the supplied numeric id. 

{
  "id": 1,
  "projectIntegrationId": 1,
  "repositoryFullName": "bha92/pipelines",
  "repositoryBranch": "master",
  "isSyncing": false,
  "lastSyncStatusCode": 4002,
  "lastSyncStartedAt": "2019-04-15T05:39:29.627Z",
  "lastSyncEndedAt": "2019-04-15T05:39:43.478Z",
  "lastSyncLogs": "Successfully synced pipeline source\n\nSUMMARY:\n\nCreated 1 resources\nCreated 1 pipelines\nCreated 1 steps\n\nDETAILS:\n\npipelines.config: successfully created resource: sample_node\npipelines.config: successfully created pipeline: pipeline_1\npipelines.config: successfully created step: step_A\nSuccessfully created connection between step: step_A and sample_node",
  "resourceId": 1,
  "createdBy": "Service User",
  "updatedBy": "Service User",
  "createdAt": "2019-04-15T05:39:21.866Z",
  "updatedAt": "2019-04-15T05:39:43.485Z",
  “latestSha”: “5abcdeededggff43da”
}

Response Codes: 

200: Success

404: If no templateSource is found for the supplied id


TEMPLATES

Add a Template

Description: Adds a template that can be used to create pipelines.

Security: Requires a valid user
Usage: POST api/v1/templates
Consumes: application/json

URL ParametersNone

Request Parameters:

ParameterTypeDescriptionRequired/Optional
nameStringName of the template.Required
namespaceStringThe namespace of the template. This is part of the directory path in which the template is found in the template source.

Required

templateSourceIdIntegerThe ID of the templateSource to which the template belongs.Required
syntaxVersionStringThe semver version of the template, matching the Git tag containing the version, or 'latest'.Required
latestShaStringThe most recently synchronized SHA for this template.Optional

Produces: application/json

Sample Request:

curl -L -X POST 'https://icarus.jfrogdev.org/pipelines/api/v1/templates' \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json' \
--data-raw '{
  "name": "foo",
  "syntaxVersion": "latest",
  "templateSourceId": 4,
  "namespace": "foo"
}'


Sample Response:

{
    "id": 4,
    "name": "foo",
    "syntaxVersion": "latest",
    "templateSourceId": 4,
    "namespace": "foo",
    "isSyncing": false,
    "latestSha": null,
    "updatedAt": "2021-05-26T12:31:18.904Z",
    "createdAt": "2021-05-26T12:31:18.904Z",
    "lastSyncStatusCode": null,
    "lastSyncStartedAt": null,
    "lastSyncEndedAt": null,
    "lastSyncLogs": null,
    "retiredAt": null
}

Response Codes: 

200: Success


Release a Template Version

Description: Releases a template version.

Security: Requires a valid user
Usage: POST api/v1/templates/{templateId}/release
Consumes: application/json

URL Parameters:

Parameter

Type

Description

Required/Optional

templateId

Integer

The numeric id of the template

Required

Query ParametersIgnored

Request Parameters:

ParameterTypeDescriptionRequired/Optional
gitTagString

Entry of gitTag.

A template that has been properly Git tagged with semantic version information can be formally released. For more information, see Releasing Template Versions.

Required

Produces: application/json

Sample Response:

[{
  "id": 1,
  "name": "foo",
  "description": "description",
  "name": "sample_node",
  "syntaxVersion": "1.0.0",
  "templateSourceId": 1,
 
  "retiredAt": null,
  "lastSyncLogs": null,
  "lastSyncEndedAt": null,
  "isSyncing": false,
  "lastSyncStartedAt": null,
  "lastSyncEndedAt": null,
  "latestSha": null,
  "namespace": "foo",
  "createdAt": "2019-04-15T05:39:36.104Z",
  "updatedAt": "2019-04-15T05:39:43.286Z"
}]

Response Codes: 

200: Success

404: If required fields are not included in the request body. Otherwise, the release template object is returned.


Update a Template

Description: Updates an existing template.

Security: Requires a valid user
Usage: PUT api/v1/templates/{templateId}
Consumes: application/json

URL ParametersNone

Query Parameters:

ParameterTypeDescriptionRequired/Optional
TemplateIdIntegerId of the template to be updated.Required

Request Parameters:

ParameterTypeDescriptionRequired/Optional
templateSourceIdIntegerThe ID of the templateSource to which the template belongs.Optional
retiredAtString

Date/time when the template was retired/is set to retire.

Format: date-time

Optional

isSyncing

BooleanTrue when the template is currently being synchronized, false otherwise.Optional

lastSyncStatusCode

IntegerThe status code of the last attempt to sync the template.Optional

lastSyncStartedAt

String

The time that last sync started.

Format: date-time

Optional

lastSyncEndedAt

String

The time the last sync ended.

Format: date-time

Optional

lastSyncLogs

IntegerLogs from the last time the template was synchronized.Optional

Produces: application/json

Sample Response:

[{
  "id": 1,
  "templateSourceId": 1,
  "name": "foo",
  "description": "description",
  "name": "sample_node",
  "isInternal": false,
  "syntaxVersion": "latest",
  "retiredAt": null,
  "lastSyncLogs": null,
  "lastSyncEndedAt": null,
  "isSyncing": false,
  "lastSyncStartedAt": null,
  "lastSyncEndedAt": null,
  "latestSha": null,
  "namespace": "foo",
  "createdAt": "2019-04-15T05:39:36.104Z",
  "updatedAt": "2019-04-15T05:39:43.286Z"
}]

Response Codes: 

200: Success


Delete a Template

Description: Deletes a template based on Id.

Security: Requires a valid user
Usage: DELETE api/v1/templates/{templateId}
Consumes: application/json

URL ParametersNone

Query Parameters:

ParameterTypeDescriptionRequired/Optional
TemplateIdIntegerId of the template to be updated.Required

Produces: application/json

Sample Response:

  {
    "id": 1
  }

Response Codes: 

200: Success

400: If the Id is not an integer

404: If the template is not found for the given templateId


Get all Templates

Description: Gets a list of templates.

Security: Requires a valid user
Usage: GET api/v1/templates
Consumes: application/json

URL ParametersNone

Query Parameters:

Parameter

Type

Description

Required/Optional

templateIds

String

A filter on the list based on the `id` property of the template. Expects a comma separated string of ids.

Optional

names

String

A filter on the list based on the `name` property of the template. Expects a comma separated string of names.

Optional

syntaxVersion

String

A filter on the list based on the `syntaxVersion` property of the template. Expects a comma separated string of syntaxVersions.

Optional

Produces: application/json

Sample Response:

[
    {
        "id": 1,
        "namespace": "jfrog",
        "name": "DockerBuildAndPush",
        "syntaxVersion": "1.0.0",
        "templateSourceId": null,
        "latestSha": null,
        "isSyncing": false,
        "lastSyncStatusCode": null,
        "lastSyncStartedAt": null,
        "lastSyncEndedAt": null,
        "lastSyncLogs": null,
        "retiredAt": null,
        "createdAt": "2020-10-21T00:00:00.000Z",
        "updatedAt": "2020-10-21T00:00:00.000Z"
    }
]

Response Codes: 

200: Success


Get Templates by Id

Description: Gets a template based on Id.

Security: Requires a valid user
Usage: GET api/v1/templates/{templateId}
Consumes: application/json

URL Parameters:

Parameter

Type

Description

Required/Optional

templateId

Integer

Id of the template.

Required

Produces: application/json

Sample Response:

{
  "id": 1,
  "name": "foo",
  "name": "sample_node",
  "syntaxVersion": "latest",
  "retiredAt: null,
  "lastSyncLogs": null,
  "lastSyncEndedAt": null,
  "isSyncing": false,
  "lastSyncStartedAt": null,
  "lastSyncEndedAt": null,
  "latestSha": null,
  "namespace": "foo",
  "createdAt": "2019-04-15T05:39:36.104Z",
  "updatedAt": "2019-04-15T05:39:43.286Z"
}

Response Codes: 

200: Success


TEMPLATE SOURCES

Add a Template Source

Description: Adds a template source, which syncs and creates all the resources, steps specified in the pipeline source.

Security: Requires a valid user
Usage: POST api/v1/templateSources
Consumes: application/json

URL ParametersNone

Query String ParametersIgnored

Request Parameters:

Parameter

Type

Description

Required/Optional

projectIntegrationId

Integer

Id of the Project integration.

Required

repositoryFullName

String

Full name of the SCM repository along with organization name.

Required

repositoryBranch

String

Branch name of the repository.

Required

Produces: application/json

Sample Request:

curl -L -X POST 'https://icarus.jfrogdev.org/pipelines/api/v1/templatesources' \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json' \
--data-raw '{
    "projectIntegrationId": 6,
    "repositoryFullName": "jfrog/sources_test",
    "repositoryBranch": "master"
}'

Sample Response:

{
    "isSyncing": false,
    "id": 4,
    "projectIntegrationId": 6,
    "repositoryFullName": "jfrog/sources_test",
    "repositoryBranch": "master",
    "latestSha": "c3013452dc43bb52d345sdgf17eea471cfcec",
    "updatedAt": "2021-05-26T12:24:44.583Z",
    "createdAt": "2021-05-26T12:24:43.451Z",
    "lastSyncStatusCode": null,
    "lastSyncStartedAt": null,
    "lastSyncEndedAt": null,
    "lastSyncLogs": null,
    "resourceId": 4
}

Response Codes: 

200: Success


Update a Template Source

Description: Updates a template source with properties provided in the request body.

Security: Requires a valid user
Usage: PUT api/v1/templateSources/templateSourceId
Consumes: application/json

URL Parameters:

Parameter

Type

Description

Required/Optional

templateSourceId

Integer

The Id of the template source to be updated.

Required

Query ParametersIgnored

Request Parameters:

Parameter

Type

Description

Required/Optional

projectIntegrationId

Integer

Id of the Project integration.

Required

isSyncing

Boolean

Shows if a templateSource is being synced or not.

Optional

lastSyncStatusCode

Integer

Numeric entry of system code.

Optional

lastSyncStartedAt

String

Timestamp when the template source started syncing.

Format: date-time

Optional

lastSyncEndedAt

String

Timestamp when the template source synced.

Format: date-time

Optional

lastSyncLogs

String

Logs of last template source sync.

Optional

latestSha

String

LatestSha of template source.

Optional

Produces: application/json

Sample Response:

{
  "id": 1,
  "projectIntegrationId": 1,
  "repositoryFullName": "bha92/pipelines",
  "repositoryBranch": "master",
  "isSyncing": false,
  "lastSyncStatusCode": 4002,
  "lastSyncStartedAt": "2019-04-15T05:39:29.627Z",
  "lastSyncEndedAt": "2019-04-15T05:39:43.478Z",
  "lastSyncLogs": "Successfully synced template source\n\nSUMMARY:\n\nCreated 0 templates",
  "resourceId": 1,
  “latestSha”: “5abc3dedcddef1234dc”,
  "createdBy": "Service User",
  "updatedBy": "Service User",
  "createdAt": "2019-04-15T05:39:21.866Z",
  "updatedAt": "2019-04-15T05:39:43.485Z"
}

Response Codes: 

200: Success

400: If templateSourceId is not an integer

404: If there is no templateSource found with that id


Delete a Template Source

DescriptionDeletes a template source by id. 

Security: Requires a valid user
Usage: DELETE api/v1/templateSources/templateSourceId

Produces: application/json

URL parameters:

Parameter

Type

Description

Required/Optional

templateSourceId

Integer

The numeric id of the templateSource

Required

ParametersIgnored

Request Parameters: Ignored

Sample Response:

  {
    "id": 2
  }

Response Codes: 
200: Success

400: If the id is not an integer

404: If the template source is not found for the given templateSourceId

Get all Template Sources

Description: Gets an array of template sources.

Security: Requires a valid user
Usage: GET api/v1/templateSources
Consumes: application/json

Query Parameters

Parameter

Data Type

Description

masterResourceIds

Integer

Comma separated masterResourceIds

Produces: application/json

Sample Response:

[{
  "id": 1,
  "projectIntegrationId": 1,
  "repositoryFullName": "bha92/pipelines",
  "repositoryBranch": "master",
  "isSyncing": false,
  "lastSyncStatusCode": 4002,
  "lastSyncStartedAt": "2019-04-15T05:39:29.627Z",
  "lastSyncEndedAt": "2019-04-15T05:39:43.478Z",
  "lastSyncLogs": "Successfully synced template source\n\nSUMMARY:\n\nCreated 0 templates",
  "resourceId": 1,
  "createdBy": "Service User",
  "updatedBy": "Service User",
  "createdAt": "2019-04-15T05:39:21.866Z",
  "updatedAt": "2019-04-15T05:39:43.485Z",
  “latestSha”: “5abcdeededggff43da”
}]

Response Codes: 

200: Success

Get Template Source by Id

Description: Gets a single template source for the supplied numeric template source Id.

Security: Requires a valid user
Usage: GET api/v1/templateSources/:templateSourceId
Consumes: application/json

URL Parameters:

Parameter

Data Type

Description

templateSourceId

Integer

The numeric id of the templateSource being requested

Query Parameters:

Parameter

Data Type

Description

sync

Integer

Set as true to force the templateSource to sync

Produces: application/json

Request ParametersIgnored

Sample Response:

The templateSource entity with the supplied numeric id. 
{
  "id": 1,
  "projectIntegrationId": 1,
  "repositoryFullName": "bharath92/pipelines",
  "repositoryBranch": "master",
  "isSyncing": false,
  "lastSyncStatusCode": 4002,
  "lastSyncStartedAt": "2019-04-15T05:39:29.627Z",
  "lastSyncEndedAt": "2019-04-15T05:39:43.478Z",
  "lastSyncLogs": "Successfully synced template source\n\nSUMMARY:\n\nCreated 0 templates",
  "resourceId": 1,
  "createdBy": "Service User",
  "updatedBy": "Service User",
  "createdAt": "2019-04-15T05:39:21.866Z",
  "updatedAt": "2019-04-15T05:39:43.485Z",
  “latestSha”: “5abcdeededggff43da”
}

Response Codes: 

200: Success

404: If no templateSource is found for the supplied id