Project Pipeline Runtime API v0.3.1

License: Apache License 2.0

# Authentication

  • HTTP Authentication, scheme: Bearer

ProjectPipelineRuntime

# ListProjectPipelineRuntimes

GET /api/v1/products/{product_name}/projectpipelineruntimes

Parameters

Name In Type Required Description
product_name path string true To list the product name of the repository.
field_selector query string false Filter the list by field. eg: field_selector=project=project1,pipeline_source=pipeline_repository,destination=env1 Field Support: project: fuzzy match pipeline_source: fuzzy match destination: fuzzy match

Example responses

200 Response

{
  "items": [
    {
      "name": "string",
      "project": "string",
      "pipeline_source": "string",
      "event_sources": [
        {
          "name": "string",
          "gitlab": {
            "repo_name": "string",
            "revision": "string",
            "events": [
              "string"
            ]
          },
          "calendar": {
            "schedule": "string",
            "interval": "string",
            "exclusion_dates": [
              "string"
            ],
            "timezone": "string"
          }
        }
      ],
      "pipelines": [
        {
          "name": "string",
          "label": "string",
          "path": "string"
        }
      ],
      "pipeline_triggers": [
        {
          "event_source": "string",
          "pipeline": "string",
          "revision": "string"
        }
      ],
      "destination": "string",
      "isolation": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK (opens new window) OK api.projectpipelineruntime.v1.ListsReply

# GetProjectPipelineRuntime

GET /api/v1/products/{product_name}/projectpipelineruntimes/{project_pipeline_runtime_name}

Parameters

Name In Type Required Description
product_name path string true Name of the product associated with the pipeline.
project_pipeline_runtime_name path string true Name of the pipeline runtime environment.

Example responses

200 Response

{
  "name": "string",
  "project": "string",
  "pipeline_source": "string",
  "event_sources": [
    {
      "name": "string",
      "gitlab": {
        "repo_name": "string",
        "revision": "string",
        "events": [
          "string"
        ]
      },
      "calendar": {
        "schedule": "string",
        "interval": "string",
        "exclusion_dates": [
          "string"
        ],
        "timezone": "string"
      }
    }
  ],
  "pipelines": [
    {
      "name": "string",
      "label": "string",
      "path": "string"
    }
  ],
  "pipeline_triggers": [
    {
      "event_source": "string",
      "pipeline": "string",
      "revision": "string"
    }
  ],
  "destination": "string",
  "isolation": "string"
}

Responses

Status Meaning Description Schema
200 OK (opens new window) OK api.projectpipelineruntime.v1.GetReply

# SaveProjectPipelineRuntime

POST /api/v1/products/{product_name}/projectpipelineruntimes/{project_pipeline_runtime_name}

Body parameter

{
  "project": "string",
  "pipeline_source": "string",
  "pipelines": [
    {
      "name": "string",
      "label": "string",
      "path": "string"
    }
  ],
  "event_sources": [
    {
      "name": "string",
      "gitlab": {
        "repo_name": "string",
        "revision": "string",
        "events": [
          "string"
        ]
      },
      "calendar": {
        "schedule": "string",
        "interval": "string",
        "exclusion_dates": [
          "string"
        ],
        "timezone": "string"
      }
    }
  ],
  "pipeline_triggers": [
    {
      "event_source": "string",
      "pipeline": "string",
      "revision": "string"
    }
  ],
  "destination": "string",
  "isolation": "string"
}

Parameters

Name In Type Required Description
product_name path string true Name of the product associated with the pipeline.
project_pipeline_runtime_name path string true Name of the pipeline runtime associated with the project.
insecure_skip_check query boolean false Whether to skip checking global resource detection when making requests.
body body api.projectpipelineruntime.v1.SaveRequest_Body true none

Example responses

200 Response

{
  "message": "string"
}

Responses

Status Meaning Description Schema
200 OK (opens new window) OK api.projectpipelineruntime.v1.SaveReply

# DeleteProjectPipelineRuntime

DELETE /api/v1/products/{product_name}/projectpipelineruntimes/{project_pipeline_runtime_name}

Parameters

Name In Type Required Description
product_name path string true Name of the product associated with the pipeline.
project_pipeline_runtime_name path string true Name of the pipeline runtime associated with the project.
insecure_skip_check query boolean false Whether to skip checking global resource detection when making requests.

Example responses

200 Response

{
  "message": "string"
}

Responses

Status Meaning Description Schema
200 OK (opens new window) OK api.projectpipelineruntime.v1.DeleteReply

# Schemas

api.projectpipelineruntime.v1.Calendar

{
  "schedule": "string",
  "interval": "string",
  "exclusion_dates": [
    "string"
  ],
  "timezone": "string"
}

Defines the event source for triggering a pipeline.

# Properties

Name Type Required Restrictions Description
schedule string false none Schedule is a cron-like expression. For reference, see: https://en.wikipedia.org/wiki/Cron
interval string false none Interval is a string that describes an interval duration, e.g. 1s, 30m, 2h...
exclusion_dates [string] false none ExclusionDates defines the list of DATE-TIME exceptions for recurring events.
timezone string false none Timezone in which to run the schedule

api.projectpipelineruntime.v1.DeleteReply

{
  "message": "string"
}

Proto message for the response to a delete pipeline configuration request.

# Properties

Name Type Required Restrictions Description
message string false none A message describing the status of the delete request.

api.projectpipelineruntime.v1.EventSource

{
  "name": "string",
  "gitlab": {
    "repo_name": "string",
    "revision": "string",
    "events": [
      "string"
    ]
  },
  "calendar": {
    "schedule": "string",
    "interval": "string",
    "exclusion_dates": [
      "string"
    ],
    "timezone": "string"
  }
}

Defines the types of event sources that can trigger a pipeline.

# Properties

Name Type Required Restrictions Description
name string false none Name of the event source.
gitlab api.projectpipelineruntime.v1.Gitlab false none none
calendar api.projectpipelineruntime.v1.Calendar false none Defines the event source for triggering a pipeline.

api.projectpipelineruntime.v1.GetReply

{
  "name": "string",
  "project": "string",
  "pipeline_source": "string",
  "event_sources": [
    {
      "name": "string",
      "gitlab": {
        "repo_name": "string",
        "revision": "string",
        "events": [
          "string"
        ]
      },
      "calendar": {
        "schedule": "string",
        "interval": "string",
        "exclusion_dates": [
          "string"
        ],
        "timezone": "string"
      }
    }
  ],
  "pipelines": [
    {
      "name": "string",
      "label": "string",
      "path": "string"
    }
  ],
  "pipeline_triggers": [
    {
      "event_source": "string",
      "pipeline": "string",
      "revision": "string"
    }
  ],
  "destination": "string",
  "isolation": "string"
}

Response message format for getting pipeline information.

# Properties

Name Type Required Restrictions Description
name string false none Name of the pipeline.
project string false none Name of the project associated with the pipeline.
pipeline_source string false none Configuration repository of the pipeline.
event_sources [api.projectpipelineruntime.v1.EventSource] false none Other repositories outside the pipeline (optional).
pipelines [api.projectpipelineruntime.v1.Pipeline] false none Pipelines associated with the product.
pipeline_triggers [api.projectpipelineruntime.v1.PipelineTriggers] false none Pipeline event triggers.
destination string false none Target deployment environment.
isolation string false none Isolation definition of pipeline runtime related resources: shared(default) or exclusive.

api.projectpipelineruntime.v1.Gitlab

{
  "repo_name": "string",
  "revision": "string",
  "events": [
    "string"
  ]
}

# Properties

Name Type Required Restrictions Description
repo_name string false none Gitlab project name.
revision string false none Supports regular expressions.
events [string] false none Gitlab webhook events: push_events, tag_push_events, etc.

api.projectpipelineruntime.v1.ListsReply

{
  "items": [
    {
      "name": "string",
      "project": "string",
      "pipeline_source": "string",
      "event_sources": [
        {
          "name": "string",
          "gitlab": {
            "repo_name": "string",
            "revision": "string",
            "events": [
              "string"
            ]
          },
          "calendar": {
            "schedule": "string",
            "interval": "string",
            "exclusion_dates": [
              "string"
            ],
            "timezone": "string"
          }
        }
      ],
      "pipelines": [
        {
          "name": "string",
          "label": "string",
          "path": "string"
        }
      ],
      "pipeline_triggers": [
        {
          "event_source": "string",
          "pipeline": "string",
          "revision": "string"
        }
      ],
      "destination": "string",
      "isolation": "string"
    }
  ]
}

Response message format for listing pipelines.

# Properties

Name Type Required Restrictions Description
items [api.projectpipelineruntime.v1.GetReply] false none List of pipelines.

api.projectpipelineruntime.v1.Pipeline

{
  "name": "string",
  "label": "string",
  "path": "string"
}

Defines a pipeline and its associated event sources.

# Properties

Name Type Required Restrictions Description
name string false none Name of the pipeline.
label string false none Default is 'default'.
path string false none Pipeline manifest path, wildcard support.

api.projectpipelineruntime.v1.PipelineTriggers

{
  "event_source": "string",
  "pipeline": "string",
  "revision": "string"
}

# Properties

Name Type Required Restrictions Description
event_source string false none Key of the event source.
pipeline string false none Key of the pipeline.
revision string false none Regular expressions are not supported, If it is empty, the trigger will determine the revision of the pipeline based on the revision of the event source

api.projectpipelineruntime.v1.SaveReply

{
  "message": "string"
}

Proto message for the response to a save pipeline configuration request.

# Properties

Name Type Required Restrictions Description
message string false none A message describing the status of the save request.

api.projectpipelineruntime.v1.SaveRequest_Body

{
  "project": "string",
  "pipeline_source": "string",
  "pipelines": [
    {
      "name": "string",
      "label": "string",
      "path": "string"
    }
  ],
  "event_sources": [
    {
      "name": "string",
      "gitlab": {
        "repo_name": "string",
        "revision": "string",
        "events": [
          "string"
        ]
      },
      "calendar": {
        "schedule": "string",
        "interval": "string",
        "exclusion_dates": [
          "string"
        ],
        "timezone": "string"
      }
    }
  ],
  "pipeline_triggers": [
    {
      "event_source": "string",
      "pipeline": "string",
      "revision": "string"
    }
  ],
  "destination": "string",
  "isolation": "string"
}

Message containing the body of the request.

# Properties

Name Type Required Restrictions Description
project string false none Name of the project associated with the pipeline.
pipeline_source string false none The code repo for pipeline manifests.
pipelines [api.projectpipelineruntime.v1.Pipeline] false none The definition of pipeline.
event_sources [api.projectpipelineruntime.v1.EventSource] false none Events source that may trigger the pipeline.
pipeline_triggers [api.projectpipelineruntime.v1.PipelineTriggers] false none Pipeline event triggers.
destination string false none The definition of pipeline.
isolation string false none Isolation definition of pipeline runtime related resources: shared(default) or exclusive