# org.tangled.ci.subscribePipelineLogs

> Published by [tangled.org](https://lexicon.garden/identity/did:plc:wshs7t2adsemcrrd4snkeqli)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:wshs7t2adsemcrrd4snkeqli/org.tangled.ci.subscribePipelineLogs)
- [Documentation](https://lexicon.garden/lexicon/did:plc:wshs7t2adsemcrrd4snkeqli/org.tangled.ci.subscribePipelineLogs/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:wshs7t2adsemcrrd4snkeqli/org.tangled.ci.subscribePipelineLogs/examples)

## Definitions

### `org.tangled.ci.subscribePipelineLogs#control`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `command` | `string` | No | Step command |
| `content` | `string` | Yes |  |
| `kind` | `string` | No | Step kind |
| `outcome` | `string` | No | How the step ended, only set on end frames for steps that can fail |
| `status` | `string` | No | Step status |
| `step` | `integer` | Yes | Step ID |
| `time` | `string` (datetime) | Yes |  |
| `workflow` | `string` | Yes | workflow name |

### `org.tangled.ci.subscribePipelineLogs#data`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `content` | `string` | Yes |  |
| `step` | `integer` | Yes | Step ID |
| `stream` | `string` | Yes |  |
| `time` | `string` (datetime) | Yes |  |
| `workflow` | `string` | Yes | workflow name |

### `org.tangled.ci.subscribePipelineLogs`

**Type**: `subscription`

Pipeline logs stream

```json
{
  "description": "Pipeline logs stream",
  "errors": [
    {
      "description": "Pipeline not found",
      "name": "PipelineNotFound"
    },
    {
      "description": "Workflow not found",
      "name": "WorkflowNotFound"
    },
    {
      "description": "Invalid request parameters",
      "name": "InvalidRequest"
    }
  ],
  "message": {
    "schema": {
      "refs": [
        "#control",
        "#data"
      ],
      "type": "union"
    }
  },
  "parameters": {
    "properties": {
      "pipeline": {
        "description": "Pipeline ID",
        "type": "string"
      },
      "repo": {
        "description": "Repository DID",
        "format": "did",
        "type": "string"
      },
      "workflows": {
        "description": "filter logs by specific workflows",
        "items": {
          "description": "Workflow name",
          "type": "string"
        },
        "type": "array"
      }
    },
    "required": [
      "repo",
      "pipeline"
    ],
    "type": "params"
  },
  "type": "subscription"
}
```

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "control": {
      "properties": {
        "command": {
          "description": "Step command",
          "type": "string"
        },
        "content": {
          "type": "string"
        },
        "kind": {
          "description": "Step kind",
          "enum": [
            "system",
            "user"
          ],
          "type": "string"
        },
        "outcome": {
          "description": "How the step ended, only set on end frames for steps that can fail",
          "enum": [
            "success",
            "failed"
          ],
          "type": "string"
        },
        "status": {
          "description": "Step status",
          "enum": [
            "start",
            "end"
          ],
          "type": "string"
        },
        "step": {
          "description": "Step ID",
          "type": "integer"
        },
        "time": {
          "format": "datetime",
          "type": "string"
        },
        "workflow": {
          "description": "workflow name",
          "type": "string"
        }
      },
      "required": [
        "time",
        "workflow",
        "step",
        "content"
      ],
      "type": "object"
    },
    "data": {
      "properties": {
        "content": {
          "type": "string"
        },
        "step": {
          "description": "Step ID",
          "type": "integer"
        },
        "stream": {
          "enum": [
            "stdout",
            "stderr"
          ],
          "type": "string"
        },
        "time": {
          "format": "datetime",
          "type": "string"
        },
        "workflow": {
          "description": "workflow name",
          "type": "string"
        }
      },
      "required": [
        "time",
        "workflow",
        "step",
        "content",
        "stream"
      ],
      "type": "object"
    },
    "main": {
      "description": "Pipeline logs stream",
      "errors": [
        {
          "description": "Pipeline not found",
          "name": "PipelineNotFound"
        },
        {
          "description": "Workflow not found",
          "name": "WorkflowNotFound"
        },
        {
          "description": "Invalid request parameters",
          "name": "InvalidRequest"
        }
      ],
      "message": {
        "schema": {
          "refs": [
            "#control",
            "#data"
          ],
          "type": "union"
        }
      },
      "parameters": {
        "properties": {
          "pipeline": {
            "description": "Pipeline ID",
            "type": "string"
          },
          "repo": {
            "description": "Repository DID",
            "format": "did",
            "type": "string"
          },
          "workflows": {
            "description": "filter logs by specific workflows",
            "items": {
              "description": "Workflow name",
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "repo",
          "pipeline"
        ],
        "type": "params"
      },
      "type": "subscription"
    }
  },
  "id": "org.tangled.ci.subscribePipelineLogs",
  "lexicon": 1
}
```
