{
  "lexicon": 1,
  "id": "sh.tangled.ci.triggerPipeline",
  "defs": {
    "main": {
      "type": "procedure",
      "description": "Trigger a pipeline at an explicit commit. Runs the named workflows, or every workflow defined in the repo when none are named.",
      "input": {
        "encoding": "application/json",
        "schema": {
          "type": "object",
          "required": ["repo", "trigger"],
          "properties": {
            "repo": {
              "type": "string",
              "format": "did",
              "description": "Target repository DID. Auth is checked against this repo."
            },
            "trigger": {
              "type": "union",
              "refs": [
                "sh.tangled.ci.trigger#manual",
                "sh.tangled.ci.trigger#pullRequest"
              ],
              "description": "Trigger metadata for this dispatch."
            },
            "workflows": {
              "type": "array",
              "items": {
                "type": "string",
                "description": "workflow name"
              },
              "description": "Workflow names to run. When not provided, every dispatchable workflow is run."
            }
          }
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "type": "object",
          "required": ["pipeline"],
          "properties": {
            "pipeline": {
              "type": "string",
              "format": "at-uri",
              "description": "AT-URI of the created pipeline"
            }
          }
        }
      },
      "errors": [
        {
          "name": "InvalidRequest",
          "description": "Invalid request parameters"
        }
      ]
    }
  }
}
