# CodePipelineProcessAdditionalSteps

Steps to add to one of the pipeline's phases for a single run, so one definition can do different work each run.

**Kind:** an object, used in requests and responses. In a request it is called `CodePipelineProcessAdditionalStepsInput`.

## In a request

| Field | Type | Required | Description |
|---|---|---|---|
| `phaseName` | `string` |  | The phase to add the steps to. It must be one of the pipeline's phases. |
| `steps` | [`CodePipelineStepDefinitionInput`](https://docs.maitento.com/reference/types/code-pipeline-step-definition.md#in-a-request)`[]` |  | The steps, added after the phase's own. |

```json
{
  "phaseName": "...",
  "steps": [
    {
      "name": "...",
      "agentName": "...",
      "targetRole": "Architect",
      "targetTags": [],
      "prompt": "...",
      "dependsOn": [],
      "isCommitable": false,
      "commitRepoName": "...",
      "isStructuredOutput": false,
      "outputJsonSchema": "...",
      "isOutputSchemaRequired": false,
      "outputVariableName": "...",
      "outputFileName": "...",
      "preHook": "...",
      "postHook": "...",
      "onFailHook": "...",
      "isNewSession": false,
      "runChallengeLoop": false,
      "durationWarning": "00:05:00",
      "durationAutoTermination": "00:05:00",
      "durationActivityTimeout": "00:05:00"
    }
  ]
}
```

## In a response

Every field is present in a response; empty ones are `null`.

| Field | Type | Description |
|---|---|---|
| `phaseName` | `string` | The phase to add the steps to. It must be one of the pipeline's phases. |
| `steps` | [`CodePipelineStepDefinition`](https://docs.maitento.com/reference/types/code-pipeline-step-definition.md)`[]` | The steps, added after the phase's own. |

```json
{
  "phaseName": "...",
  "steps": [
    {
      "name": "...",
      "agentName": "...",
      "targetRole": "Architect",
      "targetTags": [],
      "prompt": "...",
      "dependsOn": [],
      "isCommitable": false,
      "commitRepoName": "...",
      "isStructuredOutput": false,
      "outputJsonSchema": "...",
      "isOutputSchemaRequired": false,
      "outputVariableName": "...",
      "outputFileName": "...",
      "preHook": "...",
      "postHook": "...",
      "onFailHook": "...",
      "isNewSession": false,
      "runChallengeLoop": false,
      "durationWarning": "00:05:00",
      "durationAutoTermination": "00:05:00",
      "durationActivityTimeout": "00:05:00"
    }
  ]
}
```

## Where it's used

- Inside [`CodePipelineProcess`](https://docs.maitento.com/reference/types/code-pipeline-process.md)
- Inside [`CodePipelineProcessStartRequest`](https://docs.maitento.com/reference/types/code-pipeline-process-start-request.md)
