Cloud customer?
Start for Free >
Upgrade in MyJFrog >
What's New in Cloud >

Search





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.

Using and Configuring cURL

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

Using cURL with the REST API
$ curl -H 'Authorization : Bearer <token>' 'http://localhost:8082/pipelines/api/v1/pipelines' -X GET -H 'Content-Type: application/json' 
Page Contents


SYSTEM

Get Status Codes

Description: Gets all status codes for Pipelines:

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

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"
    }
]

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"
}

Node Pools

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


INTEGRATIONS

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",
}' 

Response:

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

Response Codes: 

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



PIPELINE SOURCES

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.

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 Body: 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


Add a Pipeline Source

Description: Adds a pipeline source.

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

Produces: application/json

Required Parameters:

ParameterData TypeDescription
projectIdintegerRequired. For future use. Set to 1 always  
projectIntegrationIdintegerRequired. Id of the Git integration to use to create the pipeline source
repositoryFullNamestringRequired. Full name of the Git repository that has the pipeline definition
branchstringRequired for a single branch pipeline. Name of branch that has the pipeline definition
fileFilterstringRequired. Pattern for the pipeline source definition file
isMultiBranchbooleanOptional. Set to true if creating a multibranch pipeline
branchExcludePatternstringOptional. For multibranch pipeline source, specifies the pattern to exclude branches
branchIncludePatternstringRequired for multibranch pipeline source, specifies the pattern to include branches

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


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 Body: 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


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.


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


STEP TEST REPORTS

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

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 BodyIgnored

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 BodyIgnored

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 Body

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 Parameters:

Ignored

Request Body:

Ignored

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 Body:

Ignored

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


STEPLET TEST REPORTS

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


EXTENSION SOURCES

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 template sources

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 Body:

Ignored

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


TEMPLATE SOURCES

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 template sources

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 Body:

Ignored

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


SYSTEM CONFIG STATUS

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

  • No labels
Copyright © 2021 JFrog Ltd.