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 | 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.
Only admins can see detailed status of the services. Non-admin users can only see the general status of Pipelines services.
Security: Requires a valid user
Usage: GET api/v1/system/health
Consumes: application/json
Query Parameters: None
Produces: application/json
Sample Response (Admins):
{ "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" } ] }
Sample Response (Non-Admins):
{"status":"OK"}
Response Codes:
200: Success
SYSTEM LOG LEVEL
Update System Log Level
Description: Change Pipelines services log level in runtime. This overrides the value set for Logging Configuration in the Pipelines System YAML.
Security: Requires admin credentials
Usage: PUT api/v1/systemConfigs/loggers
Produces: application/json
Request Parameters:
Parameter | Type | Description | Required/Optional |
---|---|---|---|
service | String | The service for which you want to change the log level. Valid values are:
| Required |
level | String | The logging level you want for the service. Valid values are:
| Required |
Sample Request:
{ "configValue": { "service": "api", "level": "info" } }
Sample Response:
{ "configName": "loggers" "configValue": { "api": { "configuredLevel": "info", "defaultLevel": "trace" } } }
Delete System Log Level
Description: Deletes current Pipelines system log level and reverts it to the value set for Logging Configuration in the Pipelines System YAML.
Security: Requires admin credentials
Usage: DELETE api/v1/systemConfigs/loggers?serviceName=api
Produces: application/json
URL parameters:
Parameter | Type | Description | Required/Optional |
---|---|---|---|
serviceName | String | The service for which you want to delete the log level. Valid values are:
| Required |
Parameters: Ignored
Request Parameters: Ignored
Sample Response:
{ "configName": "loggers" "configValue": { "api": { "configuredLevel": "null", "defaultLevel": "trace" } } }
Get System Log Level Information
Description: Gets Pipelines system log level information.
Security: Requires admin credentials
Usage: GET api/v1/systemConfigs/loggers
Produces: application/json
Sample Response:
200 OK { "configName": "loggers" "configValue": { "api": { "configuredLevel": "info", "defaultLevel": "trace" }, "pipelinesync": { "configuredLevel": "info", "defaultLevel": "trace" }, } }
METRICS
Get Pipelines Metrics Data
Description: Gets metrics data for Pipelines, such as CPU, memory, number of pipelines per project, and more.
Security: Requires a valid user
Usage: GET api/v1/metrics
Produces: text/plain
Sample Response:
app_self_metrics_calc_seconds 1.008 1643351320592 app_self_metrics_count_total 3 1643351320592 sys_cpu_user_seconds 491.934057 1643351320592 sys_cpu_system_seconds 117.606662 1643351320592 sys_cpu_total_seconds 609.540719 1643351320592 nodejs_heap_read_only_space_total 151552 1643351320592 nodejs_heap_read_only_space_used_total 150392 1643351320592 nodejs_heap_new_space_total 4194304 1643351320592 nodejs_heap_new_space_used_total 778568 1643351320592 nodejs_heap_old_space_total 59654144 1643351320592 nodejs_heap_old_space_used_total 56207712 1643351320592 nodejs_heap_code_space_total 2981888 1643351320592 nodejs_heap_code_space_used_total 2350944 1643351320592 nodejs_heap_map_space_total 3149824 1643351320592 nodejs_heap_map_space_used_total 2070072 1643351320592 nodejs_heap_large_object_space_total 10653696 1643351320592 nodejs_heap_large_object_space_used_total 10589528 1643351320592 nodejs_heap_code_large_object_space_total 49152 1643351320592 nodejs_heap_code_large_object_space_used_total 2880 1643351320592 nodejs_heap_new_large_object_space_total 0 1643351320592 nodejs_heap_new_large_object_space_used_total 0 1643351320592 sys_memory_free_bytes 144891904 1643351320592 sys_memory_total_bytes 4135915520 1643351320592 app_self_metrics_calc_seconds 0.008 1643351377499 app_self_metrics_count_total 1 1643351377499 jfpip_pipelines_per_project_count_count{project="default"} 1 1643351377499 jfpip_pipelines_count_count 1 1643351377499
PROJECTS
Get Projects
Description: Gets a list of those projects that have an associated Pipelines object, such as an integration, pipeline source or node pool.
To get the list of all the Projects available in Artifactory, see Get Projects List
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 | Optional |
names | String | A filter on the list based on the | Optional |
sourceIds | String | A filter on the list based on the | Optional |
providerIds | String | A filter on the list based on the | Optional |
Response:
[ { "systemPropertyBag": { "sshPublicKey": "ssh-rsa {snipped for brevity}\n" }, "configPropertyBag": { "defaultNodePoolId": 1 }, "id": 1, "name": "default", "sourceId": "default_source_id", "providerId": 1, "isOrphaned": false, "createdAt": "2019-05-01T00:00:00.000Z", "updatedAt": "2019-05-01T00:00:00.000Z" }, { "systemPropertyBag": { "sshPublicKey": "ssh-rsa {snipped for brevity}\n"" }, "configPropertyBag": { "defaultNodePoolId": 2 }, "id": 2, "name": "newProj1", "sourceId": "new1", "providerId": 1, "isOrphaned": false, "createdAt": "2022-03-30T10:20:22.140Z", "updatedAt": "2022-03-30T10:20:22.419Z" }, { "systemPropertyBag": { "sshPublicKey": "ssh-rsa {snipped for brevity}\n"" }, "configPropertyBag": null, "id": 3, "name": "newProj3", "sourceId": "new3", "providerId": 1, "isOrphaned": false, "createdAt": "2022-03-30T10:30:05.329Z", "updatedAt": "2022-03-30T10:30:05.329Z" } ]
Response Codes:
200: Success
400: If required fields are not included in the request body or if there are invalid parameters.
BUILD PLANE IMAGES
Add Custom AMI Image
Description: Add a custom AMI Image.
Security: Requires admin credentials
Usage: POST api/v1/buildPlaneImages
Produces: application/json
Request Parameters:
Parameter | Data Type | Description |
---|---|---|
name | String | Name of the build plane image. |
masterIntegrationId | String | The Id of the master integration. For AWS type, masterIntegrationId is 46. |
imageId | String | The Id of the custom AMI you created. |
region | String | The AWS region. |
isAvailable | Boolean | Set as |
architecture | String | x86_64, which is the architecture Pipelines supports. |
operatingSystem | String | The operating systems supported for the selected architecture. For a list of supported OS and architecture combinations, refer to Runtime Images. |
metadataPropertyBag | Object | Object containing configuration for AWS. |
Sample Response:
{ "metadataPropertyBag": { "projectName": "pipelines-cloud-stg", "imageName": "us-west1-image-for-x86-64-ubuntu18-1619591031886" }, "id": 10, "name": "us-west1 image for x86_64 Ubuntu_18.04", "masterIntegrationId": 76, "imageId": "6019675003889729941", "region": "us-west1", "isAvailable": true, "architecture": "x86_64", "operatingSystem": "Ubuntu_18.04", "isInternal": false, "createdAt": "2021-04-28T00:00:00.000Z", "updatedAt": "2021-04-28T00:00:00.000Z" }
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 | Required |
masterIntegrationIds | String | A filter on the list based on the | Required |
isAvailable | Boolean | A filter on the list based on the | 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 | Required |
isAutoInitialized | Boolean | Determine auto or manual initialization. | Required |
IPAddress | String | Node address for auto-initialization. | Required if isAutoInitialized is set as true . |
isSwapEnabled | Boolean | 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 |
sshPort | String | Port to use for SSH for auto-initialization. This is usually port 22, but is configurable. For Auto initialization type only. | Optional |
instanceId | String | Optional | |
nodePoolId | Integer | Id of the node pool. | Required |
providerMetadataPropertyBag | Object containing configuration for the cloud provider of on-demand node. You can set the following properties:
| 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
Description: Deletes 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. |
Parameters: Ignored
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
Description: Gets 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 |
skip | Integer | A cursor for use in pagination. `skip` defines the number of nodes skipped. | Optional |
isOnDemand | Boolean | Set to true for dynamic node pool. Set to false for static node pool. | Optional |
provisionedAt | String | A filter on the list based on the provisionedAt property of the node. | Optional |
statusLastUpdatedAt | String | A filter on the list based on the `statusLastUpdatedAt` property of the node. | Optional |
isAutoInitialized | Boolean | A filter on the list based on the `isAutoInitialized` property of the node. | Optional |
lastInitializedAt | Boolean | A filter on the list based on the `lastInitializedAt` property of the node. Exact matches only. | Optional |
nodeIds | String | A filter on the list based on the `id` property of the node. Expects a comma separated string of nodeIds. | Optional |
nodePoolIds | String | A filter on the list based on the `nodePoolId` property of the node. Expects a comma separated string of nodePoolIds. | Optional |
projectIds | String | A filter on the list based on the `projectId` property of the node. Expects a comma separated string of projectIds. | Optional |
statusCodes | String | A filter on the list based on the `statusCode` property of the node. Expects a comma separated string of statusCodes. | Optional |
status | String | A filter on the list based on the 'status' of the node. Expects a comma separated value of statuses, which have corresponding systemCodes. | Optional |
sortBy | String | The node 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:
[ { "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
Description: Gets 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
Description: Gets 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 Format: date-time | Optional |
reportedAfter | String | A filter on the list that returns stats that have Format: date-time | Optional |
sortBy | String | The nodeStat 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:
[]
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 | 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 | Integer | Number 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:
| Required for dynamic node pools |
project | String | An object containing a project name as an alternative to projectId. You can set the following properties:
| 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:
| Optional |
isNatEnabled | Boolean | When set to | Optional |
isCacheEnabled | Boolean | When set to true , enables node caching. | Optional |
cacheSettingsPropertyBag | Integer | Object containing cache settings if isCacheEnabled is set to
Example
| Optional |
permissions | Object | Set permissions to restrict node pool use. You can set the following properties:
| Optional |
allowAllPipelineSources | Boolean | When set as true , pipelines loaded from any pipeline source can use this node pool.Set as | 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: PUT 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:
| Optional |
nodeIdleIntervalInMins | Integer | Number 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 | Optional |
isCacheEnabled | Boolean | When set to true , enables node caching. | Optional |
cacheSettingsPropertyBag | Integer | Object containing cache settings if isCacheEnabled is set to
Example
| 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:
| Optional |
permissions | Object | Set permissions to restrict node pool use. You can set the following properties:
| Optional |
allowAllPipelineSources | Boolean | When set to true , pipelines loaded from any pipeline source can use this node pool.Set to | 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
Description: Deletes 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. |
Parameters: Ignored
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
Description: Gets 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
Description: Gets 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
Description: Gets 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
Description: Adds 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 |
project | Object | An object containing a project name as an alternative to projectId. The following properties can be set:
| Optional |
propertyBag | Object | Object consisting of integration properties. | Optional |
permissions | Object | An object containing allowAllPipelineSources property. Set Example "permissions": { "pipelineSources": { "allowAllPipelineSources": true } | Optional |
environments | Array | An array of the environments to which the integration is to be available. | Optional |
isInternal | Boolean |
| 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
Description: Updates a project integration.
Security: Requires a valid user
Usage: PUT 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
Description: Deletes 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 |
projectIds | String | A 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 |
environments | String | A 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
Share a Project Integration
Description: Shares a project integration with one or more projects.
Security: Requires a valid user
Usage: PUT api/v1/projectIntegrations/{projectIntegrationId}/share
Produces: application/json
URL Parameters:
Parameter | Type | Description | Required/Optional |
---|---|---|---|
projectIntegrationId | Integer | Id of the project integration to be shared. Use the Get Project Integrations API to get the list of all Project integrations. | Required |
Request Parameters:
Parameter | Type | Description | Required/Optional |
---|---|---|---|
Array | Comma-separated list of project IDs that this integration will be shared with. | Mandatory | |
Boolean | Set | Mandatory | |
Boolean | Set | Mandatory |
Sample Request:
{ "sharedWithProjects": [1, 2], "sharedWithAllProjects": false, "shareReadOnly": false }
Sample Response:
{ "resourceName": "testproj1_projGit", "environmentsList": [ "DEV" ], "sharedWithProjectsList": [], "sharedWithAllProjects": false, "sharedReadOnly": false }
Response Codes:
200: Success
400: Invalid parameters
404: If no project integration is found for the supplied id
Get Project Integrations Share Information
Description: Gets the sharing options for an integration you can use.
Security: Requires a valid user
Usage: GET api/v1/projectIntegrations/{projectIntegrationId}/share
Produces: application/json
URL Parameters:
Parameter | Type | Description | Required/Optional |
---|---|---|---|
projectIntegrationId | Integer | Id of the project integration. Use the Get Project Integrations API to get the list of all Project integrations. | Required |
Sample Response:
{ "resourceName": "testproj1_projGit", "environmentsList": [ "DEV" ], "sharedWithProjectsList": [], "sharedWithAllProjects": false, "sharedReadOnly": false }
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:
Parameter | Data Type | Description |
---|---|---|
buildName | string | Name of of the build for BuildInfo |
buildNumber | string | Number of the build for BuildInfo |
buildInfoResourceName | boolean | Name 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:
Parameter | Type | Description | Required/Optional |
---|---|---|---|
projectId | Integer | Id of the Project. | Required |
project | String | An object containing a project name as an alternative to projectId. You can set the following properties:
| Optional |
projectIntegrationId | integer | Id of the Git integration to use to create the pipeline source. For more information, see Get Project Integrations. | Required |
repositoryFullName | String | 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 |
branch | String | For single branch pipeline sources. Name of branch that has the pipeline definition. | Required for a single branch pipeline |
fileFilter | String | If 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 |
isMultiBranch | Boolean | True if the pipeline source is to be a multi-branch pipeline source. Otherwise, it will be a single-branch pipeline source. | Optional |
branchExcludePattern | String | For multi-branch pipeline sources, a regular expression of the branches to exclude. | Optional |
branchIncludePattern | String | For multi-branch pipeline sources, a regular expression of the branches to include. | Optional |
environments | Array | In a project, an array of environment names in which this pipeline source will be. | Optional |
templateId | Integer | The id of a template to use for this pipeline source, in which case the fileFilter will only specify the values.yml. | Optional |
valuesYmlPropertyBag | Object | An 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 |
---|---|---|---|
projectIntegrationId | Integer | Id of the Git integration to use to create the pipeline source. For more information, see Get Project Integrations. | Required |
environments | Array | In a project, an array of environment names in which this pipeline source will be. | Optional |
templateId | Integer | The id of a template to use for this pipeline source, in which case the fileFilter will only specify the values.yml. | Optional |
valuesYmlPropertyBag | Object | An object containing values for the template as an alternative to the repository. | Optional |
branchExcludePattern | String | For multi-branch pipeline sources, a regular expression of the branches to exclude. | Optional |
branchIncludePattern | String | For multi-branch pipeline sources, a regular expression of the branches to include. | Optional |
fileFilter | String | If 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 | Boolean | True when the pipeline source is currently being synchronized, otherwise false. | Optional |
lastSyncStatusCode | Integer | The status code of the last attempt to sync the pipeline source. | 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 | String | Logs 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
Description: Gets 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:
Parameter | Data Type | Description |
---|---|---|
limit | integer | Optional. A limit on the number of pipelineSources returned. |
skip | integer | Optional. A cursor for use in pagination. skip defines the number of pipelineSources skipped. |
pipelineSourceIds | string | Optional. A filter on the list based on the is that the pipelineSource belongs to. Expects a comma separated list of ids. |
projectIds | string | Optional. A filter on the list based on the projectId that the pipelineSource belongs to. Expects a comma separated list of projectIds. |
projectIntegrationIds | string | Optional. A filter on the list based on the projectIntegrationId that the pipelineSource belongs to. Expects a comma separated list of projectIntegrationIds. |
includeNamesPattern | string | Optional. Only pipielineSources with repositoryFullName/branch matching one of the comma-separated patterns will be returned. |
excludeNamesPattern | string | Optional. 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
Description: Gets 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:
Parameter | Data Type | Description |
---|---|---|
sync | Boolean | ‘True’ to force the pipelineSource to sync. |
branch | integer | 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
Description: Gets 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:
Parameter | Data Type | Description |
---|---|---|
projectIds | string | Optional. A filter on the list based on the projectId property of the pipeline. Expects a comma separated string of projectIds. |
pipelineSourceBranches | string | Optional. A filter on the list based on the pipelineSourceBranch property of the pipeline. Expects a comma separated string of pipelineSourceBranches. |
pipelineIds | string | Optional. A filter on the list based on the id property of the pipeline. Expects a comma separated string of ids. |
names | string | Optional. A filter on the list based on the name property of the pipeline. Expects a comma separated string of names. |
pipelineSourceIds | string | Optional. A filter on the list based on the pipelineSourceId property of the pipeline. Expects a comma separated string of pipelineSourceIds. |
includeDeleted | boolean | Optional. A filter on the list based on the isDeleted property of the pipeline. Default false. |
isDeleted | boolean | Optional. 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 . |
light | boolean | Optional. Default is false. If set to true only part of the data is returned |
sortBy | string | Optional. Comma separated list of sort attributes |
sortOrder | integer | Optional. 1 for ascending and -1 for descending based on sortBy |
limit | integer | Optional. A limit on the number of pipelines returned. |
skip | integer | Optional. 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
Description: Gets 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
Description: Download 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:
Parameter | Data Type | Description |
---|---|---|
artifactName | string | Required. 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
Description: Gets 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
Description: Gets 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
Trigger Pipeline
Description: Triggers a pipeline. If a runId is supplied in the request body, environment variables from the specified run will be reused. Environment variables can be overridden and extended. Resource versions can be overridden. Any integrations will use the most recent version of the integration.
Security: Requires a valid user
Usage: POST api/v1/pipelines/trigger
Produces: application/json
Parameter | Type | Description | Required/Optional |
---|---|---|---|
runId | Integer | The ID of a previous run that should be rerun. If this parameter is supplied, pipelineName, pipielineBranch and projectKey will be ignored. | Optional (required if pipelineName is not supplied) |
pipelineName | string | The name of the pipeline to trigger. | Optional |
branchName | string | The branch of the pipeline to trigger. If runId is not supplied, this field is required for multibranch pipelines. | Optional |
projectKey | Object | The project key of the pipeline to trigger. If runId is not supplied, this field is required for installations with more than one project. | Optional |
steps | Array of Objects | The steps to run in the pipeline. Any downstream steps will run automatically, but can also be specified. If this field is blank and a runId is supplied, all steps that ran in the specified run will run. If this field is blank and a pipelineName is supplied, all steps defined in the pipeline will run.
| Optional |
injectedPipeEnvs | Array of Objects | Pipeline-level environment variables. These are used in all steps in the pipeline. | Optional |
Sample request bodies:
// trigger a pipeline { pipelineName: 123, projectKey: foo, branchName: dev, injectedPipeEnvs: [ # these apply to all steps in the run { key: password, value: password } ], steps: [ { name: step1, injectedEnvs: [ # these apply only to the single step { key: hello, value: world } ], resourceOverrides: [ { resourceVersionId: 42, resourceId: 43 } ] }, { name: step2, injectedEnvs: [ { key: abc, value: 123 } ] } ] } // retrigger a run { runId: 42 injectedPipeEnvs: [ { key: password, value: password } ], steps: [ { name: step1, injectedEnvs: [ { key: hello, value: world } ], resourceOverrides: [ { resourceVersionId: 42, resourceId: 43 } ] }, { name: step2, injectedEnvs: [ { key: abc, value: 123 } ] } ] }
Sample Response:
{ triggerId: 123 }
Response Codes:
200: Success
400: Bad Request
Set Next Run Number
Description: Admin users can set the next run number so that the next run will start from the given run number. The run number provided must be greater than the current run number.
Security: Requires a valid user
Usage: PUT api/v1/pipelines/:pipelineId
Produces: application/json
Request Parameters:
Parameter | Type | Description | Required/Optional |
---|---|---|---|
pipelineId | Integer | The numeric Id of the pipeline for which the next run number is to be set. | Required |
Sample request bodies:
{ nextRunNumber: 123 }
Response Codes:
200: Success
404: No pipeline found for the supplied ID
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 Parameters: None
Query Parameters: Ignored
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 |
lastSyncStatusCode | Integer | The status code of the last attempt to sync the pipeline. | Optional |
lastSyncEndedAt | String | The time the last sync ended. Format: date-time | Optional |
lastSyncLogs | String | Logs from the last time the pipeline was synchronized. | Optional |
triggeredByResourceVersionId | Integer | The 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 Parameters: Ignored
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 |
lastSyncStatusCode | Integer | The status code of the last attempt to sync the pipeline. | Optional |
lastSyncEndedAt | String | The time the last sync ended. Format: date-time | Optional |
lastSyncLogs | String | Logs from the last time the pipeline was synchronized. | Optional |
triggeredByResourceVersionId | Integer | The 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 Parameters: Ignored
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. |
light | Boolean | If set as |
Request Parameters: Ignored
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 Parameters: Ignored
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:
Parameter | Data Type | Description |
---|---|---|
limit | integer | Optional. A limit on the number of runs returned. |
skip | integer | Optional. A cursor for use in pagination. skip defines the number of runs skipped. |
light | boolean | Optional. Default is false. If set to true only part of the data is returned |
runIds | string | Optional. A filter on the list based on the id property of the run. Expects a comma separated string of runIds. |
projectIds | string | Optional. A filter on the list based on the projectId property of the run. Expects a comma separated string of projectIds. |
pipelineIds | string | Optional. Comma separated list of pipeline ids for which runs are being retrieved |
pipelineSourceIds | string | Optional. Comma separated list of pipeline source ids for which runs are being retrieved |
runIds | string | Optional. Comma separated list of run ids |
projectIds | string | Optional. A filter on the list based on the projectId property of the run. Expects a comma separated string of projectIds. |
runNumbers | string | Optional. Comma separated list of run numbers |
createdAfter | string | Optional. Runs created before the date |
createdBefore | string | Optional. Runs created after the date |
statusCodes | string | Optional. Comma separated string of status codes |
sortBy | string | Optional. Comma separated list of sort attributes |
sortOrder | integer | Optional. 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
Cancel Run by ID
Description: Cancels a run.
Security: Requires a valid user
Usage: POST api/v1/runs/:runId/cancel
Produces: application/json
Sample Response:
{ "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:
Parameter | Data Type | Description |
---|---|---|
limit | integer | Optional. A limit on the number of runResourceVersions returned. |
skip | integer | Optional. A cursor for use in pagination. skip defines the number of runResourceVersions skipped. |
runResourceVersionIds | string | Optional. A filter on the list based on the id property of the runResourceVersion. Expects a comma separated string of runResourceVersionIds. |
pipelineIds | string | Optional. Comma separated list of pipeline ids for which runs are being retrieved |
projectIds | string | Optional. Comma separated list of project ids for which runs are being retrieved |
pipelineSourceIds | string | Optional. Comma separated list of pipeline source ids for which runs are being retrieved |
runIds | string | Optional. Comma separated list of run ids |
stepIds | string | Optional. Comma separated list of step ids |
resourceNames | string | Optional. Comma separated list of resource names |
resourceVersionIds | string | Optional. Comma separated list of resource version IDs |
sortBy | string | Optional. Comma separated list of sort attributes |
sortOrder | integer | Optional. 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:
Parameter | Data Type | Description |
---|---|---|
pipelineSourceIds | string | Optional. Comma separated list of pipelineSource ids |
resourceIds | string | Optional. Comma separated list of resource ids |
projectIds | string | Optional. Comma separated list of project ids |
names | string | Optional. Comma separated list of resource names |
typeCodes | string | Optional. Comma separated list of resource type codes |
pipelineSourceBranches | string | Optional. Comma separated list of pipeline source branches |
isDeleted | boolean | Optional. Default is false. Filters based on the isDeleted property of the resource |
deletedBefore | string($date-time) | Optional. Filters for resources where deletedAt property is less than deletedBefore |
isConsistent | boolean | Optional. Default is false. Filter based on the isConsistent property of the resource |
isInternal | boolean | Optional. Default is false. Filter based on the isInternal property of the resource |
projectIntegrationIds | string | Optional. 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 |
sortBy | string | Optional. Comma separated list of sort attributes |
sortOrder | integer | Optional. 1 for ascending and -1 for descending based on sortBy |
limit | integer | Optional. A limit on the number of resources returned. |
skip | integer | Optional. 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.
RESOURCE VERSIONS
Add a Resource Version
Description: Adds a resource version.
Security: Requires admin credentials
Usage: POST api/v1/resourceVersions
Produces: application/json
URL Parameters: None
Query String Parameters: Ignored
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 |
createdByStepId | Integer | Id 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 Parameters: Ignored
Request Parameters: Ignored
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 Parameters: Ignored
Request Parameters: Ignored
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. |
createdByStepIds | String | A 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. |
pipelineSourceIds | String | A 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 Parameters: Ignored
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
Trigger Pipelines Steps
Description: Trigger a pipeline step based on step Id.
Security: Requires a valid user
Usage: POST api/v1/pipelineSteps/:pipelineStepId/trigger
Produces: application/json
URL Parameters:
Parameter | Type | Description | Required/Optional |
---|---|---|---|
pipelineStepId | Integer | Numeric pipeline step Id. | Required |
Request Parameters:
Parameter | Type | Description | Required/Optional |
---|---|---|---|
reset | Boolean | Trigger a step without any cache. | Optional |
overrideVersions | String | The resource version you want to use for the run. It takes two values:
| Optional |
injectedPipeEnvs | String | The environment variables declared here are available for all the steps in the pipeline. | Optional |
injectedEnvs | String | The environment variables declared here apply only to the step that is being directly triggered. | Optional |
Sample Request:
{ "reset": true, "overrideVersions": [ { "resourceId": 123, "resourceVersionId": 999 } ], "injectedPipeEnvs": [ { "key": "foo", "value": "bar" } ], "injectedEnvs": [ { "key": "string1", "value": "string1" }, { "key": "string2", "value": "string2" } ] }
Sample Response:
{ "ymlConfigPropertyBag": {}, "ymlExecPropertyBag": {}, "yml": {}, "id": 190, "name": "promote", "masterResourceId": null, "typeCode": 2007, "latestStepId": 1098, "projectId": 1, "pipelineSourceId": 47, "pipelineId": 73, "isDeleted": false, "deletedAt": null, "isConsistent": true, "isStale": false, "staleAt": null, "isPaused": false, "createdBy": "1", "updatedBy": "1", "createdAt": "2022-02-01T18:47:49.133Z", "updatedAt": "2022-02-10T00:17:53.697Z" }
Response Codes:
400: If pipelineStepId is not an integer or reset is in the request body and not a Boolean.
404: If no pipelineStep is found for the pipelineStepId.
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:
Parameter | Data Type | Description |
---|---|---|
limit | integer | Optional. A limit on the number of steps returned. |
skip | integer | Optional. A cursor for use in pagination. skip defines the number of steps skipped |
pipelineIds | string | Optional. Comma separated list of pipeline ids for which runs are being retrieved |
stepIds | string | Optional. Comma separated list of step ids for filtering |
projectIds | string | Optional. Comma separated list of project ids for filtering |
runIds | string | Optional. Comma separated list of run ids for filtering |
pipelineSourceIds | string | Optional. Comma separated list of pipeline source ids for filtering |
pipelineStepIds | string | Optional. Comma separated list of pipeline step ids for filtering |
names | string | Optional. Comma separated list of name properties for filtering |
statusCodes | string | Optional. Comma separated list of step status codes for filtering |
affinityGroups | string | Optional. Comma separated list of step affinity groups for filtering |
groupInProgress | boolean | Optional. Default is false. Filter based on the groupInProgress property of the resource |
timeoutBefore | string | Optional. Selects steps with timeoutAt before the given date-time. |
startedBefore | string | Optional. Selects steps with startedAt before the given date-time. |
startedAfter | string | Optional. Selects steps with startedAt after the given date-time. |
endedBefore | string | Optional. Selects steps with endedAt before the given date-time. |
endedAfter | string | Optional. 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 | 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/steps/{stepId}/consoles
Consumes: application/json
URL Parameters:
Parameter | Data Type | Description | Required/Optional |
---|---|---|---|
stepId | Integer | Id of the step. | Required |
Query Parameters:
Parameter | Data Type | Description | Required/Optional |
---|---|---|---|
limit | Integer | A limit on the number of consoles returned. | Optional |
skip | Integer | A cursor for use in pagination. This parameter defines the number of consoles skipped. | Optional |
fetchAll | Boolean | If 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 |
download | Boolean | Downloads the step consoles as a text file. | Optional |
sortBy | String | The stepConsole properties by which to sort the results. Expects a comma separated list of sorters. Ignored if download is true . | 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. 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: DELETE 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 Parameters: Ignored
Request Parameters: Ignored
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: DELETE 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 Parameters: Ignored
Request Parameters: Ignored
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: DELETE 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 Parameters: Ignored
Request Parameters: Ignored
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. |
pipelineSourceIds | Integer | Comma 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 |
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 |
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 Parameters: Ignored
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 Parameters: Ignored
Request Parameters: Ignored
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 Parameters: Ignored
Request Parameters: 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 Parameters: 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
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 |
deletedBefore | String | A filter on the list that returns if Format: date-time |
pipelineStepletIds | String | A filter on the list based on the |
pipelineStepIds | String | A filter on the list based on the pipelineStepId property of the pipelineStep. Expects a comma separated string of pipelineStepIds. |
projectIds | String | A filter on the list based on the projectId property of the pipelineSteplet. Expects a comma separated string of projectIds. |
names | String | A filter on the list based on the name property of the pipelineSteplet. Expects a comma separated string of names. |
pipelineSourceIds | String | A filter on the list based on the pipelineSourceId property of the pipelineSteplet. Expects a comma separated string of pipelineSourceIds. |
pipelineIds | String | A 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:
Parameter | Data Type | Description | Required/Optional |
---|---|---|---|
stepletId | Integer | Id of the steplet for which console is being requested. | Required |
Query Parameters:
Parameter | Data Type | Description | Required/Optional |
---|---|---|---|
limit | Integer | A limit on the number of consoles returned. | Optional |
skip | Integer | A cursor for use in pagination. This parameter defines the number of consoles skipped. | Optional |
fetchAll | Boolean | If 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 |
download | Boolean | Downloads the step consoles as a text file, including the step consoles as well as the steplet. | Optional |
sortBy | String | The stepConsole properties by which to sort the results. Expects a comma separated list of sorters. Ignored if download is true . | 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. 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 Parameters: None
Query Parameters: Ignored
Request Parameters:
Parameter | Type | Description | Required/Optional |
---|---|---|---|
pipelineStepId | Integer | The ID of the pipelineStep. | Required |
operation | String | IN or OUT. If the resource, integration, or step is an input: IN. If it is an output resource: OUT. | Required |
projectId | Integer | The ID of the project to which the pipeline of which this connection belongs to. | Required |
pipelineSourceId | Integer | The ID of the pipelineSource to which the pipeline of which this connection belongs to. | Required |
pipelineId | Integer | The ID of the pipeline of which this connection is part. | Required |
operationResourceId | Integer | If the connection is to a resource, the ID of the resource. | Optional |
operationResourceName | String | If the connection is to a resource, the name of the resource. | Optional |
operationPipelineStepId | Integer | If the connection is to a pipelineStep, the ID of the pipelineStep. | Optional |
operationPipelineStepName | String | If the connection is to a pipelineStep, the name of the pipelineStep. | Optional |
operationIntegrationId | Integer | If the connection is to an integration, the ID of the integration. | Optional |
operationIntegrationName | String | If the connection if to an integration, the name of the integration. | Optional |
isTrigger | Boolean | If the input is a resource, it updates to the resource that should trigger the step. Default is false . | Optional |
isPipelineConnection | Boolean | If the connection is for an integration or resource in the Pipeline configuration section. | 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, "isPipelineConnection": 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 Parameters: Ignored
Request Parameters:
Parameter | Type | Description | Required/Optional |
---|---|---|---|
pipelineStepId | Integer | The ID of the pipelineStep. | Optional |
operation | String | IN or OUT. If the resource, integration, or step is an input: IN. If it is an output resource: OUT. | Optional |
projectId | Integer | The ID of the project to which the pipeline of which this connection belongs to. | Optional |
pipelineId | Integer | The ID of the pipeline of which this connection is part. | Optional |
operationResourceId | Integer | If the connection is to a resource, the ID of the resource. | Optional |
operationResourceName | String | If the connection is to a resource, the name of the resource. | Optional |
operationPipelineStepId | Integer | If the connection is to a pipelineStep, the ID of the pipelineStep. | Optional |
operationPipelineStepName | String | If the connection is to a pipelineStep, the name of the pipelineStep. | Optional |
operationIntegrationId | Integer | If the connection is to an integration, the ID of the integration. | Optional |
operationIntegrationName | String | If the connection if to an integration, the name of the integration. | Optional |
isTrigger | Boolean | If the input is a resource, it updates to the resource that should trigger the step. Default is false . | Optional |
isPipelineConnection | Boolean | If the connection is to an integration or resource in the Pipeline configuration. | 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, "isPipelineConnection": 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 Parameters: Ignored
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 |
operationResourceName | String | A 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 |
pipelineStepConnection | String | The 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 |
isPipelineConnection | Boolean | If "true," return only connections with isPipelineConnection true. If "false," false. | 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, "isPipelineConnection": 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, "isPipelineConnection": 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 Parameters: None
Query Parameters: Ignored
Request Parameters:
Parameter | Type | Description | Required/Optional |
---|---|---|---|
projectId | Integer | The ID of the project to which the pipeline of which this connection belongs to. | Required |
operation | String | IN or OUT denoting if this connection is an input or output of the step. | Required |
stepId | Integer | The ID of the step of which this connection is part. | Required |
runId | Integer | The ID of the run of which this connection is part. | Required |
pipelineId | Integer | The ID of the pipeline of which this connection is part. | Required |
pipelineSourceId | Integer | The ID of the pipelineSource to which the run of which this connection belongs to. | Required |
operationRunResourceVersionId | Integer | If the connection is a resource input or output, the ID of the runResourceVersion. | Optional |
operationRunResourceVersionName | String | If the connection is a resource input or output, the name of the resource. | Optional |
operationStepId | Integer | If the connection is a step input, the ID of the step. | Optional |
operationStepName | String | If the connection is a step input, the name of the step. | Optional |
operationIntegrationId | Integer | If the connection is an integration input, the ID of the integration. | Optional |
operationIntegrationName | String | If the connection is an integration input, the name of the integration. | Optional |
isTrigger | Boolean | If 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 |
isPipelineConnection | Boolean | If the connection is to an integration or resource listed in the Pipeline configuration section. | 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, "isPipelineConnection": 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 Parameters: None
Query Parameters: Ignored
Request Parameters:
Parameter | Type | Description | Required/Optional |
---|---|---|---|
projectId | Integer | The ID of the project to which the pipeline of which this connection belongs to. | Required |
operation | String | IN or OUT denoting if this connection is an input or output of the step. | Required |
stepId | Integer | The ID of the step of which this connection is part. | Required |
runId | Integer | The ID of the run of which this connection is part. | Required |
operationRunResourceVersionId | Integer | If the connection is a resource input or output, the ID of the runResourceVersion. | Optional |
operationRunResourceVersionName | String | If the connection is a resource input or output, the name of the resource. | Optional |
operationStepId | Integer | If the connection is a step input, the ID of the step. | Optional |
operationStepName | String | If the connection is a step input, the name of the step. | Optional |
operationIntegrationId | Integer | If the connection is an integration input, the ID of the integration. | Optional |
operationIntegrationName | String | If the connection is an integration input, the name of the integration. | Optional |
isTrigger | Boolean | If 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 |
isPipelineConnection | Boolean | If the connection is for an integration or resource listed in the Pipeline configuration. | 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, "isPipelineConnection": 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 Parameters: None
Query Parameters:
Parameter | Type | Description | Required/Optional |
---|---|---|---|
runStepConnectionId | Integer | The 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 Parameters: None
Query Parameters:
Parameter | Type | Description |
---|---|---|
operations | String | A filter on the list based on the `operation` property of the runStepConnection. Expects a comma separated string of operations. |
operationRunResourceVersionIds | String | A filter on the list based on the `operationRunResourceVersionId` property of the runStepConnection. Expects a comma separated string of operationRunResourceVersionIds. |
operationRunResourceVersionNames | String | A filter on the list based on the `operationRunResourceVersionName` property of the runStepConnection. Expects a comma separated string of operationRunResourceVersionNames. |
stepIds | String | A filter on the list based on the `stepId` property of the runStepConnection. Expects a comma separated string of stepIds. |
operationStepIds | String | A filter on the list based on the `operationStepId` property of the runStepConnection. Expects a comma separated string of operationStepIds. |
operationStepNames | String | A filter on the list based on the `operationStepName` property of the runStepConnection. Expects a comma separated string of operationStepNames. |
operationIntegrationIds | String | A filter on the list based on the `operationIntegrationId` property of the runStepConnection. Expects a comma separated string of operationIntegrationIds. |
operationIntegrationNames | String | A filter on the list based on the `operationIntegrationName` property of the runStepConnection. Expects a comma separated string of operationIntegrationNames. |
isPipelineConnection | Boolean | If "true," only return connections with isPipelineConnection true. If provided and not "true," only connections with isPipelineConnection false will be returned. |
runIds | String | A filter on the list based on the `runId` property of the runStepConnection. Expects a comma separated string of runIds. |
pipelineIds | String | A filter on the list based on the `pipelineId` property of the runStepConnection. Expects a comma separated string of pipelineIds. |
String | A 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 | String | The runStepConnection 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 runStepConnections returned. |
skip | Integer | A 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, "isPipelineConnection": false, "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 Parameters: None
Query Parameters:
Parameter | Type | Description | Required/Optional |
---|---|---|---|
runStepConnectionId | Integer | The 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, "isPipelineConnection": false, "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 |
---|---|---|---|
stepletid | Integer | Comma 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 |
extensionSourceId | Integer | The 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 Parameters: Ignored
Request Parameters:
Parameter | Type | Description | Required/Optional |
---|---|---|---|
description | String | The extension description. | Optional |
extensionSourceId | Integer | The 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 |
lastSyncStatusCode | Integer | The 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 Parameters: Ignored
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: PUT 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
Description: Deletes 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 |
Parameters: Ignored
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 |
Produces: application/json
Request Parameters: 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
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 Parameters: None
Request Parameters:
Parameter | Type | Description | Required/Optional |
---|---|---|---|
name | String | Name of the template. | Required |
namespace | String | The namespace of the template. This is part of the directory path in which the template is found in the template source. | Required |
templateSourceId | Integer | The ID of the templateSource to which the template belongs. | Required |
syntaxVersion | String | The semver version of the template, matching the Git tag containing the version, or 'latest'. | Required |
latestSha | String | The 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 Parameters: Ignored
Request Parameters:
Parameter | Type | Description | Required/Optional |
---|---|---|---|
gitTag | String | 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 Parameters: None
Query Parameters:
Parameter | Type | Description | Required/Optional |
---|---|---|---|
TemplateId | Integer | Id of the template to be updated. | Required |
Request Parameters:
Parameter | Type | Description | Required/Optional |
---|---|---|---|
templateSourceId | Integer | The ID of the templateSource to which the template belongs. | Optional |
retiredAt | String | Date/time when the template was retired/is set to retire. Format: date-time | Optional |
isSyncing | Boolean | True when the template is currently being synchronized, false otherwise. | Optional |
lastSyncStatusCode | Integer | The 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 | Integer | Logs 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 Parameters: None
Query Parameters:
Parameter | Type | Description | Required/Optional |
---|---|---|---|
TemplateId | Integer | Id 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 Parameters: None
Query Parameters:
Parameter | Type | Description | Required/Optional |
---|---|---|---|
| String | A filter on the list based on the `id` property of the template. Expects a comma separated string of ids. | Optional |
| String | A filter on the list based on the `name` property of the template. Expects a comma separated string of names. | Optional |
| 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 |
---|---|---|---|
| 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 Parameters: None
Query String Parameters: Ignored
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 Parameters: Ignored
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
Description: Deletes 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 |
Parameters: Ignored
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 |
Produces: application/json
Request Parameters: 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
ENVIRONMENT VARIABLES
Create an Environment Variable
Description: Create an environment variable for use at either global or project level.
Security: Requires a valid user
Usage: POST api/v1/environmentVariables
Consumes: application/json
URL Parameters: None
Query String Parameters: Ignored
Request Parameters:
Parameter | Type | Description | Required/Optional |
---|---|---|---|
key | String | Environment variable key. | Required |
value | String | Environment variable value. | Required |
scope | String | Scope of the environment variable. It can be either 'global' or 'project'. Default value is | Optional |
projectId | Integer | Id of the Project. | Required if scope is set as 'project'. |
isReadOnly | Boolean | Sets the precedence for the environment variable. When set as Default value is | Optional |
Produces: application/json
Sample Request:
curl -L -X POST 'https://icarus.jfrogdev.org/pipelines/api/v1/environmentVariables' \ -H 'Authorization: Bearer <token>' \ -H 'Content-Type: application/json' \ --data-raw '{ key: hello, value: world, scope: global, projectId: 2 isReadOnly: true }
Sample Response:
{ Id: 4, key: hello, value: world, scope: global, projectId: 2 isReadOnly: true }
Response Codes:
200: Success
Update an Environment Variable
Description: Update an environment variable using Id.
Security: Requires a valid user
Usage: PUT api/v1/environmentVariables/:id
Consumes: application/json
URL Parameters:
Parameter | Type | Description | Required/Optional |
---|---|---|---|
Id | Integer | Environment variable id. | Required |
Query String Parameters: Ignored
Request Parameters:
Parameter | Type | Description | Required/Optional |
---|---|---|---|
key | String | Environment variable key. | Required |
value | String | Environment variable value. | Required |
scope | String | Scope of the environment variable. It can be either 'global' or 'project'. Default value is | Optional |
projectId | Integer | Id of the Project. | Required if scope is set as 'project'. |
isReadOnly | Boolean | Sets the precedence for the environment variable. When set as Default value is | Optional |
Produces: application/json
Sample Request:
curl -L -X POST 'https://icarus.jfrogdev.org/pipelines/api/v1/environmentVariables/4' \ -H 'Authorization: Bearer <token>' \ -H 'Content-Type: application/json' \ --data-raw '{ key: hello, value: world, scope: global, projectId: 2 isReadOnly: true }'
Sample Response:
{ Id: 4, key: hello, value: world, scope: global, projectId: 2 isReadOnly: true }
Response Codes:
200: Success
Get an Environment Variable using Id
Description: Get information about an environment variable using Id.
Security: Requires a valid user
Usage: GET api/v1/environmentVariables/:id
Consumes: application/json
URL Parameters: None
Query String Parameters: Ignored
Request Parameters: None
Produces: application/json
Sample Response:
{ Id: 4, key: hello, value: world, scope: global, projectId: 2 isReadOnly: true }
Response Codes:
200: Success
Get an Environment Variable using Query
Description: Get information about an environment variable using query.
Security: Requires a valid user
Usage: GET api/v1/environmentVariableIds=[ids]&scopes=[global or project]&keys=[]&values=[]&isReadOnly=boolean
Consumes: application/json
URL Parameters: None
Query String Parameters: Ignored
Request Parameters: None
Produces: application/json
Sample Response:
{ Id: 4, key: hello, value: world, scope: global, projectId: 2 isReadOnly: true }
Response Codes:
200: Success
Delete an Environment Variable
Description: Delete an environment variable.
Security: Requires a valid user
Usage: DELETE api/v1/environmentVariableIds/:id
Consumes: application/json
URL Parameters: None
Query String Parameters: Ignored
Request Parameters: None
Produces: application/json
Sample Response:
{ Id: 4 }
Response Codes:
200: Success