Deployment Processes

List all the deployment processes

GET /api/{spaceId}/deploymentprocesses

Also reachable at /api/deploymentprocesses, /api/spaces/{spaceIdentifier}/deploymentprocesses.

Lists all the deployment processes in the supplied Octopus Deploy Space, sorted by Id.

Path Parameters

  • spaceId string (required)
    The ID of the space containing the resource(s).

Query Parameters

  • ids array of string
    A list of DeploymentProcess IDs, to limit the matching of DeploymentProcesses to those with a particular ID. Example: [“deploymentprocess-Projects-1”, “deploymentprocess-Projects-2”].
  • skip integer
    Number of items to skip. Defaults to zero. Minimum 0.
  • take integer
    Number of items to take. Defaults to 30. Minimum 0.

Response

200 — The requested list of Deployment Processes

  • Id string
    Gets or sets a unique identifier for this resource.
  • ItemType string
  • Items array of object
    • Id string
      Gets or sets a unique identifier for this resource.
    • LastModifiedBy string
      Gets or sets the username of the user who last modified this resource.
    • LastModifiedOn string
      Gets or sets the date/time that this resource was last modified. Format date-time.
    • LastSnapshotId string
    • Links object
      Gets or sets a dictionary of links to other related resources. These links can be used to navigate the resources on the server.
    • ProjectId string
    • SpaceId string
    • Steps array of object
    • Version integer
  • ItemsPerPage integer
  • LastModifiedBy string
    Gets or sets the username of the user who last modified this resource.
  • LastModifiedOn string
    Gets or sets the date/time that this resource was last modified. Format date-time.
  • LastPageNumber integer
  • Links object
    Gets or sets a dictionary of links to other related resources. These links can be used to navigate the resources on the server.
  • NumberOfPages integer
  • TotalResults integer

Example Response

JSON
{
  "Id": "string",
  "ItemType": "string",
  "Items": [
    {
      "Id": "string",
      "LastModifiedBy": "string",
      "LastModifiedOn": "2020-01-01T00:00:00.000Z",
      "LastSnapshotId": "string",
      "Links": {
        "additionalProp1": "string",
        "additionalProp2": "string",
        "additionalProp3": "string"
      },
      "ProjectId": "string",
      "SpaceId": "string",
      "Steps": [
        {}
      ],
      "Version": 0
    }
  ],
  "ItemsPerPage": 0,
  "LastModifiedBy": "string",
  "LastModifiedOn": "2020-01-01T00:00:00.000Z",
  "LastPageNumber": 0,
  "Links": {
    "additionalProp1": "string",
    "additionalProp2": "string",
    "additionalProp3": "string"
  },
  "NumberOfPages": 0,
  "TotalResults": 0
}

Get a Release Snapshot Template

GET /api/{spaceId}/deploymentprocesses/{deploymentProcessId}/template

Also reachable at /api/deploymentprocesses/{deploymentProcessId}/template, /api/spaces/{spaceIdentifier}/deploymentprocesses/{deploymentProcessId}/template.

Path Parameters

  • deploymentProcessId string (required)
    The ID of the Deployment Process to use.
  • spaceId string (required)
    The ID of the space containing the resource(s).

Query Parameters

  • channel string
    The channel ID to get the channel from.
  • releaseId string
    The ID of the release to get variables from.

Response

200 — The requested Release Template.

  • DeploymentProcessId string
  • GitResources array of object
    • ActionName string
      Minimum length 1.
    • DefaultBranch string
      Minimum length 1.
    • FilePathFilters array of string
    • GitCredentialId string
    • GitHubConnectionId string
    • GitResourceSelectedLastRelease object
    • IsResolvable boolean
    • Name string
    • RepositoryUri string
      Minimum length 1.
  • Id string
    Gets or sets a unique identifier for this resource.
  • LastModifiedBy string
    Gets or sets the username of the user who last modified this resource.
  • LastModifiedOn string
    Gets or sets the date/time that this resource was last modified. Format date-time.
  • LastReleaseVersion string
  • Links object
    Gets or sets a dictionary of links to other related resources. These links can be used to navigate the resources on the server.
  • NextVersionIncrement string
  • Packages array of object
    • ActionName string
    • FeedId string
    • FeedName string
    • FixedVersion string
    • IsResolvable boolean
      Gets or sets a value indicating whether the PackageId or FeedId contain no references to other variables. Variables can be used to select different NuGet feeds or packages at deployment time, however, this means that it’s not possible to resolve which feed/package to search when creating a release.
    • NuGetFeedId string
    • NuGetFeedName string
    • NuGetPackageId string
    • PackageId string
    • PackageReferenceName string
    • ProjectName string
    • StepName string
    • VersionSelectedLastRelease string
  • VersioningPackageReferenceName string
  • VersioningPackageStepName string

Example Response

JSON
{
  "DeploymentProcessId": "string",
  "GitResources": [
    {
      "ActionName": "string",
      "DefaultBranch": "string",
      "FilePathFilters": [
        "string"
      ],
      "GitCredentialId": "string",
      "GitHubConnectionId": "string",
      "GitResourceSelectedLastRelease": {
        "GitCommit": "string",
        "GitRef": "string"
      },
      "IsResolvable": true,
      "Name": "string",
      "RepositoryUri": "string"
    }
  ],
  "Id": "string",
  "LastModifiedBy": "string",
  "LastModifiedOn": "2020-01-01T00:00:00.000Z",
  "LastReleaseVersion": "string",
  "Links": {
    "additionalProp1": "string",
    "additionalProp2": "string",
    "additionalProp3": "string"
  },
  "NextVersionIncrement": "string",
  "Packages": [
    {
      "ActionName": "string",
      "FeedId": "string",
      "FeedName": "string",
      "FixedVersion": "string",
      "IsResolvable": true,
      "NuGetFeedId": "string",
      "NuGetFeedName": "string",
      "NuGetPackageId": "string",
      "PackageId": "string",
      "PackageReferenceName": "string",
      "ProjectName": "string",
      "StepName": "string",
      "VersionSelectedLastRelease": "string"
    }
  ],
  "VersioningPackageReferenceName": "string",
  "VersioningPackageStepName": "string"
}

Get a specific snapshotted version of a deployment process

GET /api/{spaceId}/deploymentprocesses/{id}

Also reachable at /api/deploymentprocesses/{id}, /api/spaces/{spaceIdentifier}/deploymentprocesses/{id}.

Path Parameters

  • id string (required)
    ID of the snapshotted deployment process, for example “deploymentprocess-Projects-1-s-4-ABCDE”.
  • spaceId string (required)

Response

200 — Get a specific snapshotted version of a deployment process

  • Id string
    Gets or sets a unique identifier for this resource.
  • LastModifiedBy string
    Gets or sets the username of the user who last modified this resource.
  • LastModifiedOn string
    Gets or sets the date/time that this resource was last modified. Format date-time.
  • LastSnapshotId string
  • Links object
    Gets or sets a dictionary of links to other related resources. These links can be used to navigate the resources on the server.
  • ProjectId string
  • SpaceId string
  • Steps array of object
    • Actions array of object
    • Condition enum
      Allowed values: Success, Failure, Always, Variable.
    • Id string
    • Name string
      Minimum length 1.
    • PackageRequirement enum
      Allowed values: LetOctopusDecide, BeforePackageAcquisition, AfterPackageAcquisition.
    • Properties object
    • Slug string
    • StartTrigger enum
      Allowed values: StartAfterPrevious, StartWithPrevious.
    • Type string
      Either “Step” or “ProcessTemplateUsage”. Defaults to “Step” if no type is provided.
  • Version integer

Example Response

JSON
{
  "Id": "string",
  "LastModifiedBy": "string",
  "LastModifiedOn": "2020-01-01T00:00:00.000Z",
  "LastSnapshotId": "string",
  "Links": {
    "additionalProp1": "string",
    "additionalProp2": "string",
    "additionalProp3": "string"
  },
  "ProjectId": "string",
  "SpaceId": "string",
  "Steps": [
    {
      "Actions": [
        {}
      ],
      "Condition": "Success",
      "Id": "string",
      "Name": "string",
      "PackageRequirement": "LetOctopusDecide",
      "Properties": {
        "additionalProp1": {},
        "additionalProp2": {},
        "additionalProp3": {}
      },
      "Slug": "string",
      "StartTrigger": "StartAfterPrevious",
      "Type": "string"
    }
  ],
  "Version": 0
}

Get the deployment process for a project

GET /api/{spaceId}/projects/{projectId}/deploymentprocesses

Also reachable at /api/projects/{projectId}/deploymentprocesses, /api/spaces/{spaceIdentifier}/projects/{projectId}/deploymentprocesses.

Path Parameters

  • projectId string (required)
  • spaceId string (required)

Response

200 — Contains the deployment process for a project

  • Id string
    Gets or sets a unique identifier for this resource.
  • LastModifiedBy string
    Gets or sets the username of the user who last modified this resource.
  • LastModifiedOn string
    Gets or sets the date/time that this resource was last modified. Format date-time.
  • LastSnapshotId string
  • Links object
    Gets or sets a dictionary of links to other related resources. These links can be used to navigate the resources on the server.
  • ProjectId string
  • SpaceId string
  • Steps array of object
    • Actions array of object
    • Condition enum
      Allowed values: Success, Failure, Always, Variable.
    • Id string
    • Name string
      Minimum length 1.
    • PackageRequirement enum
      Allowed values: LetOctopusDecide, BeforePackageAcquisition, AfterPackageAcquisition.
    • Properties object
    • Slug string
    • StartTrigger enum
      Allowed values: StartAfterPrevious, StartWithPrevious.
    • Type string
      Either “Step” or “ProcessTemplateUsage”. Defaults to “Step” if no type is provided.
  • Version integer

Example Response

JSON
{
  "Id": "string",
  "LastModifiedBy": "string",
  "LastModifiedOn": "2020-01-01T00:00:00.000Z",
  "LastSnapshotId": "string",
  "Links": {
    "additionalProp1": "string",
    "additionalProp2": "string",
    "additionalProp3": "string"
  },
  "ProjectId": "string",
  "SpaceId": "string",
  "Steps": [
    {
      "Actions": [
        {}
      ],
      "Condition": "Success",
      "Id": "string",
      "Name": "string",
      "PackageRequirement": "LetOctopusDecide",
      "Properties": {
        "additionalProp1": {},
        "additionalProp2": {},
        "additionalProp3": {}
      },
      "Slug": "string",
      "StartTrigger": "StartAfterPrevious",
      "Type": "string"
    }
  ],
  "Version": 0
}

Modify a deployment process

PUT /api/{spaceId}/projects/{projectId}/deploymentprocesses

Also reachable at /api/projects/{projectId}/deploymentprocesses, /api/spaces/{spaceIdentifier}/projects/{projectId}/deploymentprocesses.

Modifies a deployment process. Only allowed for deployment processes owned by a project (cannot be used to change the deployment process owned by a release).

Path Parameters

  • projectId string (required)
  • spaceId string (required)

Request Body

  • ChangeDescription string
  • LastSnapshotId string
  • ProjectId string (required)
  • SpaceId string (required)
  • Steps array of object (required)
    • Actions array of object
    • Condition enum
      Allowed values: Success, Failure, Always, Variable.
    • Id string
    • Name string (required)
      Minimum length 1.
    • PackageRequirement enum
      Allowed values: LetOctopusDecide, BeforePackageAcquisition, AfterPackageAcquisition.
    • Properties object
    • Slug string
    • StartTrigger enum
      Allowed values: StartAfterPrevious, StartWithPrevious.
    • Type string
      Either “Step” or “ProcessTemplateUsage”. Defaults to “Step” if no type is provided.
  • Version integer (required)

Response

200 — Confirmation that the Deployment Process has been modified, containing the new Process

  • Id string
    Gets or sets a unique identifier for this resource.
  • LastModifiedBy string
    Gets or sets the username of the user who last modified this resource.
  • LastModifiedOn string
    Gets or sets the date/time that this resource was last modified. Format date-time.
  • LastSnapshotId string
  • Links object
    Gets or sets a dictionary of links to other related resources. These links can be used to navigate the resources on the server.
  • ProjectId string
  • SpaceId string
  • Steps array of object
    • Actions array of object
    • Condition enum
      Allowed values: Success, Failure, Always, Variable.
    • Id string
    • Name string
      Minimum length 1.
    • PackageRequirement enum
      Allowed values: LetOctopusDecide, BeforePackageAcquisition, AfterPackageAcquisition.
    • Properties object
    • Slug string
    • StartTrigger enum
      Allowed values: StartAfterPrevious, StartWithPrevious.
    • Type string
      Either “Step” or “ProcessTemplateUsage”. Defaults to “Step” if no type is provided.
  • Version integer

Example Request

JSON
{
  "ChangeDescription": "string",
  "LastSnapshotId": "string",
  "ProjectId": "string",
  "SpaceId": "string",
  "Steps": [
    {
      "Actions": [
        {}
      ],
      "Condition": "Success",
      "Id": "string",
      "Name": "string",
      "PackageRequirement": "LetOctopusDecide",
      "Properties": {
        "additionalProp1": {},
        "additionalProp2": {},
        "additionalProp3": {}
      },
      "Slug": "string",
      "StartTrigger": "StartAfterPrevious",
      "Type": "string"
    }
  ],
  "Version": 0
}

Example Response

JSON
{
  "Id": "string",
  "LastModifiedBy": "string",
  "LastModifiedOn": "2020-01-01T00:00:00.000Z",
  "LastSnapshotId": "string",
  "Links": {
    "additionalProp1": "string",
    "additionalProp2": "string",
    "additionalProp3": "string"
  },
  "ProjectId": "string",
  "SpaceId": "string",
  "Steps": [
    {
      "Actions": [
        {}
      ],
      "Condition": "Success",
      "Id": "string",
      "Name": "string",
      "PackageRequirement": "LetOctopusDecide",
      "Properties": {
        "additionalProp1": {},
        "additionalProp2": {},
        "additionalProp3": {}
      },
      "Slug": "string",
      "StartTrigger": "StartAfterPrevious",
      "Type": "string"
    }
  ],
  "Version": 0
}

Get the resolved deployment process for a project

GET /api/{spaceId}/projects/{projectId}/deploymentprocesses/resolved

Also reachable at /api/spaces/{spaceIdentifier}/projects/{projectId}/deploymentprocesses/resolved.

This request returns the deployment process with all process template usages resolved out to the deployment steps that are executed. If a process template usage cannot be resolved (e.g. if the process template is no longer shared with the space), the usage will be excluded from the response.

Path Parameters

  • projectId string (required)
  • spaceId string (required)

Response

200 — The deployment process for a project

  • Id string
    Gets or sets a unique identifier for this resource.
  • LastModifiedBy string
    Gets or sets the username of the user who last modified this resource.
  • LastModifiedOn string
    Gets or sets the date/time that this resource was last modified. Format date-time.
  • LastSnapshotId string
  • Links object
    Gets or sets a dictionary of links to other related resources. These links can be used to navigate the resources on the server.
  • ProjectId string
  • SpaceId string
  • Steps array of object
    • Actions array of object
    • Condition enum
      Allowed values: Success, Failure, Always, Variable.
    • Id string
    • Name string
      Minimum length 1.
    • PackageRequirement enum
      Allowed values: LetOctopusDecide, BeforePackageAcquisition, AfterPackageAcquisition.
    • Properties object
    • Slug string
    • StartTrigger enum
      Allowed values: StartAfterPrevious, StartWithPrevious.
    • Type string
      Either “Step” or “ProcessTemplateUsage”. Defaults to “Step” if no type is provided.
  • Version integer

Example Response

JSON
{
  "Id": "string",
  "LastModifiedBy": "string",
  "LastModifiedOn": "2020-01-01T00:00:00.000Z",
  "LastSnapshotId": "string",
  "Links": {
    "additionalProp1": "string",
    "additionalProp2": "string",
    "additionalProp3": "string"
  },
  "ProjectId": "string",
  "SpaceId": "string",
  "Steps": [
    {
      "Actions": [
        {}
      ],
      "Condition": "Success",
      "Id": "string",
      "Name": "string",
      "PackageRequirement": "LetOctopusDecide",
      "Properties": {
        "additionalProp1": {},
        "additionalProp2": {},
        "additionalProp3": {}
      },
      "Slug": "string",
      "StartTrigger": "StartAfterPrevious",
      "Type": "string"
    }
  ],
  "Version": 0
}

Get all of the information necessary for creating or editing a release using this deployment process

GET /api/{spaceId}/projects/{projectId}/deploymentprocesses/template

Also reachable at /api/projects/{projectId}/deploymentprocesses/template, /api/spaces/{spaceIdentifier}/projects/{projectId}/deploymentprocesses/template.

Path Parameters

  • projectId string (required)
    The ID of the Project to use.
  • spaceId string (required)
    The ID of the space containing the resource(s).

Query Parameters

  • channel string
    The channel ID to get the channel from.
  • releaseId string
    The ID of the release to get variables from.

Response

200 — The requested Release Template

  • DeploymentProcessId string
  • GitResources array of object
    • ActionName string
      Minimum length 1.
    • DefaultBranch string
      Minimum length 1.
    • FilePathFilters array of string
    • GitCredentialId string
    • GitHubConnectionId string
    • GitResourceSelectedLastRelease object
    • IsResolvable boolean
    • Name string
    • RepositoryUri string
      Minimum length 1.
  • Id string
    Gets or sets a unique identifier for this resource.
  • LastModifiedBy string
    Gets or sets the username of the user who last modified this resource.
  • LastModifiedOn string
    Gets or sets the date/time that this resource was last modified. Format date-time.
  • LastReleaseVersion string
  • Links object
    Gets or sets a dictionary of links to other related resources. These links can be used to navigate the resources on the server.
  • NextVersionIncrement string
  • Packages array of object
    • ActionName string
    • FeedId string
    • FeedName string
    • FixedVersion string
    • IsResolvable boolean
      Gets or sets a value indicating whether the PackageId or FeedId contain no references to other variables. Variables can be used to select different NuGet feeds or packages at deployment time, however, this means that it’s not possible to resolve which feed/package to search when creating a release.
    • NuGetFeedId string
    • NuGetFeedName string
    • NuGetPackageId string
    • PackageId string
    • PackageReferenceName string
    • ProjectName string
    • StepName string
    • VersionSelectedLastRelease string
  • VersioningPackageReferenceName string
  • VersioningPackageStepName string

Example Response

JSON
{
  "DeploymentProcessId": "string",
  "GitResources": [
    {
      "ActionName": "string",
      "DefaultBranch": "string",
      "FilePathFilters": [
        "string"
      ],
      "GitCredentialId": "string",
      "GitHubConnectionId": "string",
      "GitResourceSelectedLastRelease": {
        "GitCommit": "string",
        "GitRef": "string"
      },
      "IsResolvable": true,
      "Name": "string",
      "RepositoryUri": "string"
    }
  ],
  "Id": "string",
  "LastModifiedBy": "string",
  "LastModifiedOn": "2020-01-01T00:00:00.000Z",
  "LastReleaseVersion": "string",
  "Links": {
    "additionalProp1": "string",
    "additionalProp2": "string",
    "additionalProp3": "string"
  },
  "NextVersionIncrement": "string",
  "Packages": [
    {
      "ActionName": "string",
      "FeedId": "string",
      "FeedName": "string",
      "FixedVersion": "string",
      "IsResolvable": true,
      "NuGetFeedId": "string",
      "NuGetFeedName": "string",
      "NuGetPackageId": "string",
      "PackageId": "string",
      "PackageReferenceName": "string",
      "ProjectName": "string",
      "StepName": "string",
      "VersionSelectedLastRelease": "string"
    }
  ],
  "VersioningPackageReferenceName": "string",
  "VersioningPackageStepName": "string"
}

Validate the deployment process for common non-blocking issues, such as missing deployment targets for tags used within the process steps

POST /api/{spaceId}/projects/{projectId}/deploymentprocesses/validate

Also reachable at /api/projects/{projectId}/deploymentprocesses/validate, /api/spaces/{spaceIdentifier}/projects/{projectId}/deploymentprocesses/validate.

Path Parameters

  • projectId string (required)
  • spaceId string (required)

Response

200 — Contains the result of validation, such as warnings for the deployment process

  • Details object
  • HasWarnings boolean
  • TagsWithoutTargetsByStepId object

Example Response

JSON
{
  "Details": {
    "additionalProp1": "string",
    "additionalProp2": "string",
    "additionalProp3": "string"
  },
  "HasWarnings": true,
  "TagsWithoutTargetsByStepId": {
    "additionalProp1": [
      "string"
    ],
    "additionalProp2": [
      "string"
    ],
    "additionalProp3": [
      "string"
    ]
  }
}

Get the deployment process for a version-controlled project

GET /api/{spaceId}/projects/{projectId}/{gitRef}/deploymentprocesses

Also reachable at /api/projects/{projectId}/{gitRef}/deploymentprocesses, /api/spaces/{spaceIdentifier}/projects/{projectId}/{gitRef}/deploymentprocesses.

Path Parameters

  • gitRef string (required)
  • projectId string (required)
  • spaceId string (required)

Response

200 — Contains the deployment process for a project

  • Id string
    Gets or sets a unique identifier for this resource.
  • LastModifiedBy string
    Gets or sets the username of the user who last modified this resource.
  • LastModifiedOn string
    Gets or sets the date/time that this resource was last modified. Format date-time.
  • LastSnapshotId string
  • Links object
    Gets or sets a dictionary of links to other related resources. These links can be used to navigate the resources on the server.
  • ProjectId string
  • SpaceId string
  • Steps array of object
    • Actions array of object
    • Condition enum
      Allowed values: Success, Failure, Always, Variable.
    • Id string
    • Name string
      Minimum length 1.
    • PackageRequirement enum
      Allowed values: LetOctopusDecide, BeforePackageAcquisition, AfterPackageAcquisition.
    • Properties object
    • Slug string
    • StartTrigger enum
      Allowed values: StartAfterPrevious, StartWithPrevious.
    • Type string
      Either “Step” or “ProcessTemplateUsage”. Defaults to “Step” if no type is provided.
  • Version integer

Example Response

JSON
{
  "Id": "string",
  "LastModifiedBy": "string",
  "LastModifiedOn": "2020-01-01T00:00:00.000Z",
  "LastSnapshotId": "string",
  "Links": {
    "additionalProp1": "string",
    "additionalProp2": "string",
    "additionalProp3": "string"
  },
  "ProjectId": "string",
  "SpaceId": "string",
  "Steps": [
    {
      "Actions": [
        {}
      ],
      "Condition": "Success",
      "Id": "string",
      "Name": "string",
      "PackageRequirement": "LetOctopusDecide",
      "Properties": {
        "additionalProp1": {},
        "additionalProp2": {},
        "additionalProp3": {}
      },
      "Slug": "string",
      "StartTrigger": "StartAfterPrevious",
      "Type": "string"
    }
  ],
  "Version": 0
}

Modify a deployment process

PUT /api/{spaceId}/projects/{projectId}/{gitRef}/deploymentprocesses

Also reachable at /api/projects/{projectId}/{gitRef}/deploymentprocesses, /api/spaces/{spaceIdentifier}/projects/{projectId}/{gitRef}/deploymentprocesses.

Modifies a deployment process. Only allowed for deployment processes owned by a project (cannot be used to change the deployment process owned by a release).

Path Parameters

  • gitRef string (required)
  • projectId string (required)
  • spaceId string (required)

Request Body

  • ChangeDescription string
  • GitRef string (required)
  • LastSnapshotId string
  • ProjectId string (required)
  • SpaceId string (required)
  • Steps array of object (required)
    • Actions array of object
    • Condition enum
      Allowed values: Success, Failure, Always, Variable.
    • Id string
    • Name string (required)
      Minimum length 1.
    • PackageRequirement enum
      Allowed values: LetOctopusDecide, BeforePackageAcquisition, AfterPackageAcquisition.
    • Properties object
    • Slug string
    • StartTrigger enum
      Allowed values: StartAfterPrevious, StartWithPrevious.
    • Type string
      Either “Step” or “ProcessTemplateUsage”. Defaults to “Step” if no type is provided.
  • Version integer (required)

Response

200 — Confirmation that the Deployment Process has been modified, containing the new Process

  • Id string
    Gets or sets a unique identifier for this resource.
  • LastModifiedBy string
    Gets or sets the username of the user who last modified this resource.
  • LastModifiedOn string
    Gets or sets the date/time that this resource was last modified. Format date-time.
  • LastSnapshotId string
  • Links object
    Gets or sets a dictionary of links to other related resources. These links can be used to navigate the resources on the server.
  • ProjectId string
  • SpaceId string
  • Steps array of object
    • Actions array of object
    • Condition enum
      Allowed values: Success, Failure, Always, Variable.
    • Id string
    • Name string
      Minimum length 1.
    • PackageRequirement enum
      Allowed values: LetOctopusDecide, BeforePackageAcquisition, AfterPackageAcquisition.
    • Properties object
    • Slug string
    • StartTrigger enum
      Allowed values: StartAfterPrevious, StartWithPrevious.
    • Type string
      Either “Step” or “ProcessTemplateUsage”. Defaults to “Step” if no type is provided.
  • Version integer

Example Request

JSON
{
  "ChangeDescription": "string",
  "GitRef": "string",
  "LastSnapshotId": "string",
  "ProjectId": "string",
  "SpaceId": "string",
  "Steps": [
    {
      "Actions": [
        {}
      ],
      "Condition": "Success",
      "Id": "string",
      "Name": "string",
      "PackageRequirement": "LetOctopusDecide",
      "Properties": {
        "additionalProp1": {},
        "additionalProp2": {},
        "additionalProp3": {}
      },
      "Slug": "string",
      "StartTrigger": "StartAfterPrevious",
      "Type": "string"
    }
  ],
  "Version": 0
}

Example Response

JSON
{
  "Id": "string",
  "LastModifiedBy": "string",
  "LastModifiedOn": "2020-01-01T00:00:00.000Z",
  "LastSnapshotId": "string",
  "Links": {
    "additionalProp1": "string",
    "additionalProp2": "string",
    "additionalProp3": "string"
  },
  "ProjectId": "string",
  "SpaceId": "string",
  "Steps": [
    {
      "Actions": [
        {}
      ],
      "Condition": "Success",
      "Id": "string",
      "Name": "string",
      "PackageRequirement": "LetOctopusDecide",
      "Properties": {
        "additionalProp1": {},
        "additionalProp2": {},
        "additionalProp3": {}
      },
      "Slug": "string",
      "StartTrigger": "StartAfterPrevious",
      "Type": "string"
    }
  ],
  "Version": 0
}

Get the resolved deployment process for a version-controlled project

GET /api/{spaceId}/projects/{projectId}/{gitRef}/deploymentprocesses/resolved

Also reachable at /api/spaces/{spaceIdentifier}/projects/{projectId}/{gitRef}/deploymentprocesses/resolved.

This request returns the deployment process with all process template usages resolved out to the deployment steps that are executed. If a process template usage cannot be resolved (e.g. if the process template is no longer shared with the space), the usage will be excluded from the response.

Path Parameters

  • gitRef string (required)
  • projectId string (required)
  • spaceId string (required)

Response

200 — The deployment process for a project

  • Id string
    Gets or sets a unique identifier for this resource.
  • LastModifiedBy string
    Gets or sets the username of the user who last modified this resource.
  • LastModifiedOn string
    Gets or sets the date/time that this resource was last modified. Format date-time.
  • LastSnapshotId string
  • Links object
    Gets or sets a dictionary of links to other related resources. These links can be used to navigate the resources on the server.
  • ProjectId string
  • SpaceId string
  • Steps array of object
    • Actions array of object
    • Condition enum
      Allowed values: Success, Failure, Always, Variable.
    • Id string
    • Name string
      Minimum length 1.
    • PackageRequirement enum
      Allowed values: LetOctopusDecide, BeforePackageAcquisition, AfterPackageAcquisition.
    • Properties object
    • Slug string
    • StartTrigger enum
      Allowed values: StartAfterPrevious, StartWithPrevious.
    • Type string
      Either “Step” or “ProcessTemplateUsage”. Defaults to “Step” if no type is provided.
  • Version integer

Example Response

JSON
{
  "Id": "string",
  "LastModifiedBy": "string",
  "LastModifiedOn": "2020-01-01T00:00:00.000Z",
  "LastSnapshotId": "string",
  "Links": {
    "additionalProp1": "string",
    "additionalProp2": "string",
    "additionalProp3": "string"
  },
  "ProjectId": "string",
  "SpaceId": "string",
  "Steps": [
    {
      "Actions": [
        {}
      ],
      "Condition": "Success",
      "Id": "string",
      "Name": "string",
      "PackageRequirement": "LetOctopusDecide",
      "Properties": {
        "additionalProp1": {},
        "additionalProp2": {},
        "additionalProp3": {}
      },
      "Slug": "string",
      "StartTrigger": "StartAfterPrevious",
      "Type": "string"
    }
  ],
  "Version": 0
}

Get all of the information necessary for creating or editing a release using this deployment process

GET /api/{spaceId}/projects/{projectId}/{gitRef}/deploymentprocesses/template

Also reachable at /api/projects/{projectId}/{gitRef}/deploymentprocesses/template, /api/spaces/{spaceIdentifier}/projects/{projectId}/{gitRef}/deploymentprocesses/template.

Path Parameters

  • gitRef string (required)
    GitRef for the project variables.
  • projectId string (required)
    The ID of the Project to use.
  • spaceId string (required)
    The ID of the space containing the resource(s).

Query Parameters

  • channel string
    The channel ID to get the channel from.
  • releaseId string
    The ID of the release to get variables from.

Response

200 — The requested Release Template

  • DeploymentProcessId string
  • GitResources array of object
    • ActionName string
      Minimum length 1.
    • DefaultBranch string
      Minimum length 1.
    • FilePathFilters array of string
    • GitCredentialId string
    • GitHubConnectionId string
    • GitResourceSelectedLastRelease object
    • IsResolvable boolean
    • Name string
    • RepositoryUri string
      Minimum length 1.
  • Id string
    Gets or sets a unique identifier for this resource.
  • LastModifiedBy string
    Gets or sets the username of the user who last modified this resource.
  • LastModifiedOn string
    Gets or sets the date/time that this resource was last modified. Format date-time.
  • LastReleaseVersion string
  • Links object
    Gets or sets a dictionary of links to other related resources. These links can be used to navigate the resources on the server.
  • NextVersionIncrement string
  • Packages array of object
    • ActionName string
    • FeedId string
    • FeedName string
    • FixedVersion string
    • IsResolvable boolean
      Gets or sets a value indicating whether the PackageId or FeedId contain no references to other variables. Variables can be used to select different NuGet feeds or packages at deployment time, however, this means that it’s not possible to resolve which feed/package to search when creating a release.
    • NuGetFeedId string
    • NuGetFeedName string
    • NuGetPackageId string
    • PackageId string
    • PackageReferenceName string
    • ProjectName string
    • StepName string
    • VersionSelectedLastRelease string
  • VersioningPackageReferenceName string
  • VersioningPackageStepName string

Example Response

JSON
{
  "DeploymentProcessId": "string",
  "GitResources": [
    {
      "ActionName": "string",
      "DefaultBranch": "string",
      "FilePathFilters": [
        "string"
      ],
      "GitCredentialId": "string",
      "GitHubConnectionId": "string",
      "GitResourceSelectedLastRelease": {
        "GitCommit": "string",
        "GitRef": "string"
      },
      "IsResolvable": true,
      "Name": "string",
      "RepositoryUri": "string"
    }
  ],
  "Id": "string",
  "LastModifiedBy": "string",
  "LastModifiedOn": "2020-01-01T00:00:00.000Z",
  "LastReleaseVersion": "string",
  "Links": {
    "additionalProp1": "string",
    "additionalProp2": "string",
    "additionalProp3": "string"
  },
  "NextVersionIncrement": "string",
  "Packages": [
    {
      "ActionName": "string",
      "FeedId": "string",
      "FeedName": "string",
      "FixedVersion": "string",
      "IsResolvable": true,
      "NuGetFeedId": "string",
      "NuGetFeedName": "string",
      "NuGetPackageId": "string",
      "PackageId": "string",
      "PackageReferenceName": "string",
      "ProjectName": "string",
      "StepName": "string",
      "VersionSelectedLastRelease": "string"
    }
  ],
  "VersioningPackageReferenceName": "string",
  "VersioningPackageStepName": "string"
}

Validate the deployment process for common non-blocking issues, such as missing deployment targets for tags used within the process steps

POST /api/{spaceId}/projects/{projectId}/{gitRef}/deploymentprocesses/validate

Also reachable at /api/projects/{projectId}/{gitRef}/deploymentprocesses/validate, /api/spaces/{spaceIdentifier}/projects/{projectId}/{gitRef}/deploymentprocesses/validate.

Path Parameters

  • gitRef string (required)
  • projectId string (required)
  • spaceId string (required)

Response

200 — Contains the result of validation, such as warnings for the deployment process

  • Details object
  • HasWarnings boolean
  • TagsWithoutTargetsByStepId object

Example Response

JSON
{
  "Details": {
    "additionalProp1": "string",
    "additionalProp2": "string",
    "additionalProp3": "string"
  },
  "HasWarnings": true,
  "TagsWithoutTargetsByStepId": {
    "additionalProp1": [
      "string"
    ],
    "additionalProp2": [
      "string"
    ],
    "additionalProp3": [
      "string"
    ]
  }
}

Modify a deployment process

PUT /api/{spaceId}/deploymentprocesses/{id}

Also reachable at /api/deploymentprocesses/{id}, /api/spaces/{spaceIdentifier}/deploymentprocesses/{id}.

Deprecated. This endpoint may be removed in a future release.

Modifies a deployment process. Only allowed for deployment processes owned by a project (cannot be used to change the deployment process owned by a release).

Path Parameters

  • id string (required)
    The ID of the deployment process to update. Example deploymentprocess-Projects-1.
  • spaceId string (required)

Request Body

  • Id string
    Gets or sets a unique identifier for this resource.
  • LastModifiedBy string
    Gets or sets the username of the user who last modified this resource.
  • LastModifiedOn string
    Gets or sets the date/time that this resource was last modified. Format date-time.
  • LastSnapshotId string
  • Links object
    Gets or sets a dictionary of links to other related resources. These links can be used to navigate the resources on the server.
  • ProjectId string
  • SpaceId string
  • Steps array of object (required)
    • Actions array of object
    • Condition enum
      Allowed values: Success, Failure, Always, Variable.
    • Id string
    • Name string (required)
      Minimum length 1.
    • PackageRequirement enum
      Allowed values: LetOctopusDecide, BeforePackageAcquisition, AfterPackageAcquisition.
    • Properties object
    • Slug string
    • StartTrigger enum
      Allowed values: StartAfterPrevious, StartWithPrevious.
    • Type string
      Either “Step” or “ProcessTemplateUsage”. Defaults to “Step” if no type is provided.
  • Version integer (required)

Response

200 — Success

  • Id string
    Gets or sets a unique identifier for this resource.
  • LastModifiedBy string
    Gets or sets the username of the user who last modified this resource.
  • LastModifiedOn string
    Gets or sets the date/time that this resource was last modified. Format date-time.
  • LastSnapshotId string
  • Links object
    Gets or sets a dictionary of links to other related resources. These links can be used to navigate the resources on the server.
  • ProjectId string
  • SpaceId string
  • Steps array of object
    • Actions array of object
    • Condition enum
      Allowed values: Success, Failure, Always, Variable.
    • Id string
    • Name string
      Minimum length 1.
    • PackageRequirement enum
      Allowed values: LetOctopusDecide, BeforePackageAcquisition, AfterPackageAcquisition.
    • Properties object
    • Slug string
    • StartTrigger enum
      Allowed values: StartAfterPrevious, StartWithPrevious.
    • Type string
      Either “Step” or “ProcessTemplateUsage”. Defaults to “Step” if no type is provided.
  • Version integer

Example Request

JSON
{
  "Id": "string",
  "LastModifiedBy": "string",
  "LastModifiedOn": "2020-01-01T00:00:00.000Z",
  "LastSnapshotId": "string",
  "Links": {
    "additionalProp1": "string",
    "additionalProp2": "string",
    "additionalProp3": "string"
  },
  "ProjectId": "string",
  "SpaceId": "string",
  "Steps": [
    {
      "Actions": [
        {}
      ],
      "Condition": "Success",
      "Id": "string",
      "Name": "string",
      "PackageRequirement": "LetOctopusDecide",
      "Properties": {
        "additionalProp1": {},
        "additionalProp2": {},
        "additionalProp3": {}
      },
      "Slug": "string",
      "StartTrigger": "StartAfterPrevious",
      "Type": "string"
    }
  ],
  "Version": 0
}

Example Response

JSON
{
  "Id": "string",
  "LastModifiedBy": "string",
  "LastModifiedOn": "2020-01-01T00:00:00.000Z",
  "LastSnapshotId": "string",
  "Links": {
    "additionalProp1": "string",
    "additionalProp2": "string",
    "additionalProp3": "string"
  },
  "ProjectId": "string",
  "SpaceId": "string",
  "Steps": [
    {
      "Actions": [
        {}
      ],
      "Condition": "Success",
      "Id": "string",
      "Name": "string",
      "PackageRequirement": "LetOctopusDecide",
      "Properties": {
        "additionalProp1": {},
        "additionalProp2": {},
        "additionalProp3": {}
      },
      "Slug": "string",
      "StartTrigger": "StartAfterPrevious",
      "Type": "string"
    }
  ],
  "Version": 0
}