github.labels.create
Create a GitHub repository label; idempotent — an already-existing label is treated as success.
Overview
| Property | Value |
|---|---|
| Workflow type | Atomic |
| Library | App-github |
| Version | 1.0 |
Input Schema
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
organization_uuid | uuid | Yes | — | Organization UUID |
actor | string | No | — | Actor initiating the workflow |
workflow_run_uuid | uuid | No | — | Parent workflow run UUID |
dry_run | boolean | No | — | Validate and plan without mutating GitHub |
github_connection_uuid | uuid | No | — | GitHub installation connection UUID |
owner | string | Yes | — | Repository owner login |
repo | string | Yes | — | Repository name |
name | string | Yes | — | Label name |
color | string | Yes | — | 6-hex-digit label color, no leading # |
description | string | No | — | Label description |
Output Schema
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
status | string | No | — | planned, created, or already_exists |
owner | string | No | — | — |
repo | string | No | — | — |
name | string | No | — | — |
color | string | No | — | — |
applied | boolean | No | — | — |
already_existed | boolean | No | — | — |
dry_run | boolean | No | — | — |
warnings | list | No | — | — |
failure_reason | string | No | — | — |
failed_step | string | No | — | — |
failed_layer | string | No | — | — |
failed_at_state | string | No | — | — |
error | string | No | — | — |
error_type | string | No | — | — |
failed_at | string | No | — | — |
States
| State | Initial | Terminal | Success | Auto-advance | Description |
|---|---|---|---|---|---|
pending | Yes | No | — | execute | — |
completed | No | Yes | Yes | — | — |
failed | No | Yes | No | — | — |
State Diagram
Transitions
| From | Action | To | Description |
|---|---|---|---|
pending | execute | completed | — |
* (any state) | fail | failed | — |
API Usage
bash
POST /api/workflows/start
Content-Type: application/json
{
"workflow_type": "github.labels.create",
"initial_data": {
"organization_uuid": "value",
"owner": "value",
"repo": "value",
"name": "value"
}
}