GitLab CI/CD · Capability

GitLab API — pipeline_schedules

GitLab API — pipeline_schedules. 12 operations. Lead operation: Play a scheduled pipeline immediately. Self-contained Naftiko capability covering one Gitlab Ci business surface.

Run with Naftiko Gitlab Cipipeline_schedules

What You Can Do

GET
Getapiv4projectsidpipelineschedules — Get all pipeline schedules
/v1/api/v4/projects/{id}/pipeline-schedules
POST
Postapiv4projectsidpipelineschedules — Create a new pipeline schedule
/v1/api/v4/projects/{id}/pipeline-schedules
GET
Getapiv4projectsidpipelineschedulespipelinescheduleid — Get a single pipeline schedule
/v1/api/v4/projects/{id}/pipeline-schedules/{pipeline-schedule-id}
PUT
Putapiv4projectsidpipelineschedulespipelinescheduleid — Edit a pipeline schedule
/v1/api/v4/projects/{id}/pipeline-schedules/{pipeline-schedule-id}
DELETE
Deleteapiv4projectsidpipelineschedulespipelinescheduleid — Delete a pipeline schedule
/v1/api/v4/projects/{id}/pipeline-schedules/{pipeline-schedule-id}
GET
Getapiv4projectsidpipelineschedulespipelinescheduleidpipelines — Get all pipelines triggered from a pipeline schedule
/v1/api/v4/projects/{id}/pipeline-schedules/{pipeline-schedule-id}/pipelines
POST
Postapiv4projectsidpipelineschedulespipelinescheduleidplay — Play a scheduled pipeline immediately
/v1/api/v4/projects/{id}/pipeline-schedules/{pipeline-schedule-id}/play
POST
Postapiv4projectsidpipelineschedulespipelinescheduleidtakeownership — Take ownership of a pipeline schedule
/v1/api/v4/projects/{id}/pipeline-schedules/{pipeline-schedule-id}/take-ownership
POST
Postapiv4projectsidpipelineschedulespipelinescheduleidvariables — Create a new pipeline schedule variable
/v1/api/v4/projects/{id}/pipeline-schedules/{pipeline-schedule-id}/variables
GET
Getapiv4projectsidpipelineschedulespipelinescheduleidvariableskey — Get a single pipeline schedule variable
/v1/api/v4/projects/{id}/pipeline-schedules/{pipeline-schedule-id}/variables/{key}
PUT
Putapiv4projectsidpipelineschedulespipelinescheduleidvariableskey — Edit a pipeline schedule variable
/v1/api/v4/projects/{id}/pipeline-schedules/{pipeline-schedule-id}/variables/{key}
DELETE
Deleteapiv4projectsidpipelineschedulespipelinescheduleidvariableskey — Delete a pipeline schedule variable
/v1/api/v4/projects/{id}/pipeline-schedules/{pipeline-schedule-id}/variables/{key}

MCP Tools

get-all-pipeline-schedules

Get all pipeline schedules

read-only idempotent
create-new-pipeline-schedule

Create a new pipeline schedule

get-single-pipeline-schedule

Get a single pipeline schedule

read-only idempotent
edit-pipeline-schedule

Edit a pipeline schedule

idempotent
delete-pipeline-schedule

Delete a pipeline schedule

idempotent
get-all-pipelines-triggered-pipeline

Get all pipelines triggered from a pipeline schedule

read-only idempotent
play-scheduled-pipeline-immediately

Play a scheduled pipeline immediately

take-ownership-pipeline-schedule

Take ownership of a pipeline schedule

create-new-pipeline-schedule-variable

Create a new pipeline schedule variable

get-single-pipeline-schedule-variable

Get a single pipeline schedule variable

read-only idempotent
edit-pipeline-schedule-variable

Edit a pipeline schedule variable

idempotent
delete-pipeline-schedule-variable

Delete a pipeline schedule variable

idempotent

Capability Spec

gitlab-ci-pipeline-schedules.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: GitLab API — pipeline_schedules
  description: 'GitLab API — pipeline_schedules. 12 operations. Lead operation: Play a scheduled pipeline immediately. Self-contained
    Naftiko capability covering one Gitlab Ci business surface.'
  tags:
  - Gitlab Ci
  - pipeline_schedules
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    GITLAB_CI_API_KEY: GITLAB_CI_API_KEY
capability:
  consumes:
  - type: http
    namespace: gitlab-ci-pipeline-schedules
    baseUri: https://gitlab.com
    description: GitLab API — pipeline_schedules business capability. Self-contained, no shared references.
    resources:
    - name: api-v4-projects-id-pipeline_schedules
      path: /api/v4/projects/{id}/pipeline_schedules
      operations:
      - name: getapiv4projectsidpipelineschedules
        method: GET
        description: Get all pipeline schedules
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The ID or URL-encoded path of the project
          required: true
        - name: page
          in: query
          type: integer
          description: Current page number
        - name: per_page
          in: query
          type: integer
          description: Number of items per page
        - name: scope
          in: query
          type: string
          description: The scope of pipeline schedules
      - name: postapiv4projectsidpipelineschedules
        method: POST
        description: Create a new pipeline schedule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The ID or URL-encoded path of the project
          required: true
        - name: postApiV4ProjectsIdPipelineSchedules
          in: body
          type: string
          required: true
    - name: api-v4-projects-id-pipeline_schedules-pipeline_schedule_id
      path: /api/v4/projects/{id}/pipeline_schedules/{pipeline_schedule_id}
      operations:
      - name: getapiv4projectsidpipelineschedulespipelinescheduleid
        method: GET
        description: Get a single pipeline schedule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The ID or URL-encoded path of the project
          required: true
        - name: pipeline_schedule_id
          in: path
          type: integer
          description: The pipeline schedule id
          required: true
      - name: putapiv4projectsidpipelineschedulespipelinescheduleid
        method: PUT
        description: Edit a pipeline schedule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The ID or URL-encoded path of the project
          required: true
        - name: pipeline_schedule_id
          in: path
          type: integer
          description: The pipeline schedule id
          required: true
        - name: putApiV4ProjectsIdPipelineSchedulesPipelineScheduleId
          in: body
          type: string
          required: true
      - name: deleteapiv4projectsidpipelineschedulespipelinescheduleid
        method: DELETE
        description: Delete a pipeline schedule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The ID or URL-encoded path of the project
          required: true
        - name: pipeline_schedule_id
          in: path
          type: integer
          description: The pipeline schedule id
          required: true
    - name: api-v4-projects-id-pipeline_schedules-pipeline_schedule_id-pipelines
      path: /api/v4/projects/{id}/pipeline_schedules/{pipeline_schedule_id}/pipelines
      operations:
      - name: getapiv4projectsidpipelineschedulespipelinescheduleidpipelines
        method: GET
        description: Get all pipelines triggered from a pipeline schedule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The ID or URL-encoded path of the project
          required: true
        - name: page
          in: query
          type: integer
          description: Current page number
        - name: per_page
          in: query
          type: integer
          description: Number of items per page
        - name: pipeline_schedule_id
          in: path
          type: integer
          description: The pipeline schedule ID
          required: true
        - name: scope
          in: query
          type: string
          description: The scope of pipelines
        - name: status
          in: query
          type: string
          description: The status of pipelines
        - name: updated_before
          in: query
          type: string
          description: 'Return pipelines updated before the specified datetime. Format: ISO 8601 YYYY-MM-DDTHH:MM:SSZ'
        - name: updated_after
          in: query
          type: string
          description: 'Return pipelines updated after the specified datetime. Format: ISO 8601 YYYY-MM-DDTHH:MM:SSZ'
        - name: created_before
          in: query
          type: string
          description: 'Return pipelines created before the specified datetime. Format: ISO 8601 YYYY-MM-DDTHH:MM:SSZ'
        - name: created_after
          in: query
          type: string
          description: 'Return pipelines created after the specified datetime. Format: ISO 8601 YYYY-MM-DDTHH:MM:SSZ'
        - name: sort
          in: query
          type: string
          description: Sort pipelines
    - name: api-v4-projects-id-pipeline_schedules-pipeline_schedule_id-play
      path: /api/v4/projects/{id}/pipeline_schedules/{pipeline_schedule_id}/play
      operations:
      - name: postapiv4projectsidpipelineschedulespipelinescheduleidplay
        method: POST
        description: Play a scheduled pipeline immediately
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The ID or URL-encoded path of the project
          required: true
        - name: pipeline_schedule_id
          in: path
          type: integer
          description: The pipeline schedule id
          required: true
    - name: api-v4-projects-id-pipeline_schedules-pipeline_schedule_id-take_ownership
      path: /api/v4/projects/{id}/pipeline_schedules/{pipeline_schedule_id}/take_ownership
      operations:
      - name: postapiv4projectsidpipelineschedulespipelinescheduleidtakeownership
        method: POST
        description: Take ownership of a pipeline schedule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The ID or URL-encoded path of the project
          required: true
        - name: pipeline_schedule_id
          in: path
          type: integer
          description: The pipeline schedule id
          required: true
    - name: api-v4-projects-id-pipeline_schedules-pipeline_schedule_id-variables
      path: /api/v4/projects/{id}/pipeline_schedules/{pipeline_schedule_id}/variables
      operations:
      - name: postapiv4projectsidpipelineschedulespipelinescheduleidvariables
        method: POST
        description: Create a new pipeline schedule variable
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The ID or URL-encoded path of the project
          required: true
        - name: pipeline_schedule_id
          in: path
          type: integer
          description: The pipeline schedule id
          required: true
        - name: postApiV4ProjectsIdPipelineSchedulesPipelineScheduleIdVariables
          in: body
          type: string
          required: true
    - name: api-v4-projects-id-pipeline_schedules-pipeline_schedule_id-variables-key
      path: /api/v4/projects/{id}/pipeline_schedules/{pipeline_schedule_id}/variables/{key}
      operations:
      - name: getapiv4projectsidpipelineschedulespipelinescheduleidvariableskey
        method: GET
        description: Get a single pipeline schedule variable
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The ID or URL-encoded path of the project
          required: true
        - name: pipeline_schedule_id
          in: path
          type: integer
          description: The pipeline schedule id
          required: true
        - name: key
          in: path
          type: string
          description: The key of the variable
          required: true
      - name: putapiv4projectsidpipelineschedulespipelinescheduleidvariableskey
        method: PUT
        description: Edit a pipeline schedule variable
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The ID or URL-encoded path of the project
          required: true
        - name: pipeline_schedule_id
          in: path
          type: integer
          description: The pipeline schedule id
          required: true
        - name: key
          in: path
          type: string
          description: The key of the variable
          required: true
        - name: putApiV4ProjectsIdPipelineSchedulesPipelineScheduleIdVariablesKey
          in: body
          type: string
          required: true
      - name: deleteapiv4projectsidpipelineschedulespipelinescheduleidvariableskey
        method: DELETE
        description: Delete a pipeline schedule variable
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The ID or URL-encoded path of the project
          required: true
        - name: pipeline_schedule_id
          in: path
          type: integer
          description: The pipeline schedule id
          required: true
        - name: key
          in: path
          type: string
          description: The key of the variable
          required: true
  exposes:
  - type: rest
    namespace: gitlab-ci-pipeline-schedules-rest
    port: 8080
    description: REST adapter for GitLab API — pipeline_schedules. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/api/v4/projects/{id}/pipeline-schedules
      name: api-v4-projects-id-pipeline-schedules
      description: REST surface for api-v4-projects-id-pipeline_schedules.
      operations:
      - method: GET
        name: getapiv4projectsidpipelineschedules
        description: Get all pipeline schedules
        call: gitlab-ci-pipeline-schedules.getapiv4projectsidpipelineschedules
        with:
          id: rest.id
          page: rest.page
          per_page: rest.per_page
          scope: rest.scope
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: postapiv4projectsidpipelineschedules
        description: Create a new pipeline schedule
        call: gitlab-ci-pipeline-schedules.postapiv4projectsidpipelineschedules
        with:
          id: rest.id
          postApiV4ProjectsIdPipelineSchedules: rest.postApiV4ProjectsIdPipelineSchedules
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/projects/{id}/pipeline-schedules/{pipeline-schedule-id}
      name: api-v4-projects-id-pipeline-schedules-pipeline-schedule-id
      description: REST surface for api-v4-projects-id-pipeline_schedules-pipeline_schedule_id.
      operations:
      - method: GET
        name: getapiv4projectsidpipelineschedulespipelinescheduleid
        description: Get a single pipeline schedule
        call: gitlab-ci-pipeline-schedules.getapiv4projectsidpipelineschedulespipelinescheduleid
        with:
          id: rest.id
          pipeline_schedule_id: rest.pipeline_schedule_id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: putapiv4projectsidpipelineschedulespipelinescheduleid
        description: Edit a pipeline schedule
        call: gitlab-ci-pipeline-schedules.putapiv4projectsidpipelineschedulespipelinescheduleid
        with:
          id: rest.id
          pipeline_schedule_id: rest.pipeline_schedule_id
          putApiV4ProjectsIdPipelineSchedulesPipelineScheduleId: rest.putApiV4ProjectsIdPipelineSchedulesPipelineScheduleId
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteapiv4projectsidpipelineschedulespipelinescheduleid
        description: Delete a pipeline schedule
        call: gitlab-ci-pipeline-schedules.deleteapiv4projectsidpipelineschedulespipelinescheduleid
        with:
          id: rest.id
          pipeline_schedule_id: rest.pipeline_schedule_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/projects/{id}/pipeline-schedules/{pipeline-schedule-id}/pipelines
      name: api-v4-projects-id-pipeline-schedules-pipeline-schedule-id-pipelines
      description: REST surface for api-v4-projects-id-pipeline_schedules-pipeline_schedule_id-pipelines.
      operations:
      - method: GET
        name: getapiv4projectsidpipelineschedulespipelinescheduleidpipelines
        description: Get all pipelines triggered from a pipeline schedule
        call: gitlab-ci-pipeline-schedules.getapiv4projectsidpipelineschedulespipelinescheduleidpipelines
        with:
          id: rest.id
          page: rest.page
          per_page: rest.per_page
          pipeline_schedule_id: rest.pipeline_schedule_id
          scope: rest.scope
          status: rest.status
          updated_before: rest.updated_before
          updated_after: rest.updated_after
          created_before: rest.created_before
          created_after: rest.created_after
          sort: rest.sort
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/projects/{id}/pipeline-schedules/{pipeline-schedule-id}/play
      name: api-v4-projects-id-pipeline-schedules-pipeline-schedule-id-play
      description: REST surface for api-v4-projects-id-pipeline_schedules-pipeline_schedule_id-play.
      operations:
      - method: POST
        name: postapiv4projectsidpipelineschedulespipelinescheduleidplay
        description: Play a scheduled pipeline immediately
        call: gitlab-ci-pipeline-schedules.postapiv4projectsidpipelineschedulespipelinescheduleidplay
        with:
          id: rest.id
          pipeline_schedule_id: rest.pipeline_schedule_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/projects/{id}/pipeline-schedules/{pipeline-schedule-id}/take-ownership
      name: api-v4-projects-id-pipeline-schedules-pipeline-schedule-id-take-ownership
      description: REST surface for api-v4-projects-id-pipeline_schedules-pipeline_schedule_id-take_ownership.
      operations:
      - method: POST
        name: postapiv4projectsidpipelineschedulespipelinescheduleidtakeownership
        description: Take ownership of a pipeline schedule
        call: gitlab-ci-pipeline-schedules.postapiv4projectsidpipelineschedulespipelinescheduleidtakeownership
        with:
          id: rest.id
          pipeline_schedule_id: rest.pipeline_schedule_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/projects/{id}/pipeline-schedules/{pipeline-schedule-id}/variables
      name: api-v4-projects-id-pipeline-schedules-pipeline-schedule-id-variables
      description: REST surface for api-v4-projects-id-pipeline_schedules-pipeline_schedule_id-variables.
      operations:
      - method: POST
        name: postapiv4projectsidpipelineschedulespipelinescheduleidvariables
        description: Create a new pipeline schedule variable
        call: gitlab-ci-pipeline-schedules.postapiv4projectsidpipelineschedulespipelinescheduleidvariables
        with:
          id: rest.id
          pipeline_schedule_id: rest.pipeline_schedule_id
          postApiV4ProjectsIdPipelineSchedulesPipelineScheduleIdVariables: rest.postApiV4ProjectsIdPipelineSchedulesPipelineScheduleIdVariables
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/projects/{id}/pipeline-schedules/{pipeline-schedule-id}/variables/{key}
      name: api-v4-projects-id-pipeline-schedules-pipeline-schedule-id-variables-key
      description: REST surface for api-v4-projects-id-pipeline_schedules-pipeline_schedule_id-variables-key.
      operations:
      - method: GET
        name: getapiv4projectsidpipelineschedulespipelinescheduleidvariableskey
        description: Get a single pipeline schedule variable
        call: gitlab-ci-pipeline-schedules.getapiv4projectsidpipelineschedulespipelinescheduleidvariableskey
        with:
          id: rest.id
          pipeline_schedule_id: rest.pipeline_schedule_id
          key: rest.key
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: putapiv4projectsidpipelineschedulespipelinescheduleidvariableskey
        description: Edit a pipeline schedule variable
        call: gitlab-ci-pipeline-schedules.putapiv4projectsidpipelineschedulespipelinescheduleidvariableskey
        with:
          id: rest.id
          pipeline_schedule_id: rest.pipeline_schedule_id
          key: rest.key
          putApiV4ProjectsIdPipelineSchedulesPipelineScheduleIdVariablesKey: rest.putApiV4ProjectsIdPipelineSchedulesPipelineScheduleIdVariablesKey
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteapiv4projectsidpipelineschedulespipelinescheduleidvariableskey
        description: Delete a pipeline schedule variable
        call: gitlab-ci-pipeline-schedules.deleteapiv4projectsidpipelineschedulespipelinescheduleidvariableskey
        with:
          id: rest.id
          pipeline_schedule_id: rest.pipeline_schedule_id
          key: rest.key
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: gitlab-ci-pipeline-schedules-mcp
    port: 9090
    transport: http
    description: MCP adapter for GitLab API — pipeline_schedules. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: get-all-pipeline-schedules
      description: Get all pipeline schedules
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gitlab-ci-pipeline-schedules.getapiv4projectsidpipelineschedules
      with:
        id: tools.id
        page: tools.page
        per_page: tools.per_page
        scope: tools.scope
      outputParameters:
      - type: object
        mapping: $.
    - name: create-new-pipeline-schedule
      description: Create a new pipeline schedule
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: gitlab-ci-pipeline-schedules.postapiv4projectsidpipelineschedules
      with:
        id: tools.id
        postApiV4ProjectsIdPipelineSchedules: tools.postApiV4ProjectsIdPipelineSchedules
      outputParameters:
      - type: object
        mapping: $.
    - name: get-single-pipeline-schedule
      description: Get a single pipeline schedule
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gitlab-ci-pipeline-schedules.getapiv4projectsidpipelineschedulespipelinescheduleid
      with:
        id: tools.id
        pipeline_schedule_id: tools.pipeline_schedule_id
      outputParameters:
      - type: object
        mapping: $.
    - name: edit-pipeline-schedule
      description: Edit a pipeline schedule
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: gitlab-ci-pipeline-schedules.putapiv4projectsidpipelineschedulespipelinescheduleid
      with:
        id: tools.id
        pipeline_schedule_id: tools.pipeline_schedule_id
        putApiV4ProjectsIdPipelineSchedulesPipelineScheduleId: tools.putApiV4ProjectsIdPipelineSchedulesPipelineScheduleId
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-pipeline-schedule
      description: Delete a pipeline schedule
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: gitlab-ci-pipeline-schedules.deleteapiv4projectsidpipelineschedulespipelinescheduleid
      with:
        id: tools.id
        pipeline_schedule_id: tools.pipeline_schedule_id
      outputParameters:
      - type: object
        mapping: $.
    - name: get-all-pipelines-triggered-pipeline
      description: Get all pipelines triggered from a pipeline schedule
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gitlab-ci-pipeline-schedules.getapiv4projectsidpipelineschedulespipelinescheduleidpipelines
      with:
        id: tools.id
        page: tools.page
        per_page: tools.per_page
        pipeline_schedule_id: tools.pipeline_schedule_id
        scope: tools.scope
        status: tools.status
        updated_before: tools.updated_before
        updated_after: tools.updated_after
        created_before: tools.created_before
        created_after: tools.created_after
        sort: tools.sort
      outputParameters:
      - type: object
        mapping: $.
    - name: play-scheduled-pipeline-immediately
      description: Play a scheduled pipeline immediately
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: gitlab-ci-pipeline-schedules.postapiv4projectsidpipelineschedulespipelinescheduleidplay
      with:
        id: tools.id
        pipeline_schedule_id: tools.pipeline_schedule_id
      outputParameters:
      - type: object
        mapping: $.
    - name: take-ownership-pipeline-schedule
      description: Take ownership of a pipeline schedule
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: gitlab-ci-pipeline-schedules.postapiv4projectsidpipelineschedulespipelinescheduleidtakeownership
      with:
        id: tools.id
        pipeline_schedule_id: tools.pipeline_schedule_id
      outputParameters:
      - type: object
        mapping: $.
    - name: create-new-pipeline-schedule-variable
      description: Create a new pipeline schedule variable
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: gitlab-ci-pipeline-schedules.postapiv4projectsidpipelineschedulespipelinescheduleidvariables
      with:
        id: tools.id
        pipeline_schedule_id: tools.pipeline_schedule_id
        postApiV4ProjectsIdPipelineSchedulesPipelineScheduleIdVariables: tools.postApiV4ProjectsIdPipelineSchedulesPipelineScheduleIdVariables
      outputParameters:
      - type: object
        mapping: $.
    - name: get-single-pipeline-schedule-variable
      description: Get a single pipeline schedule variable
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gitlab-ci-pipeline-schedules.getapiv4projectsidpipelineschedulespipelinescheduleidvariableskey
      with:
        id: tools.id
        pipeline_schedule_id: tools.pipeline_schedule_id
        key: tools.key
      outputParameters:
      - type: object
        mapping: $.
    - name: edit-pipeline-schedule-variable
      description: Edit a pipeline schedule variable
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: gitlab-ci-pipeline-schedules.putapiv4projectsidpipelineschedulespipelinescheduleidvariableskey
      with:
        id: tools.id
        pipeline_schedule_id: tools.pipeline_schedule_id
        key: tools.key
        putApiV4ProjectsIdPipelineSchedulesPipelineScheduleIdVariablesKey: tools.putApiV4ProjectsIdPipelineSchedulesPipelineScheduleIdVariablesKey
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-pipeline-schedule-variable
      description: Delete a pipeline schedule variable
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: gitlab-ci-pipeline-schedules.deleteapiv4projectsidpipelineschedulespipelinescheduleidvariableskey
      with:
        id: tools.id
        pipeline_schedule_id: tools.pipeline_schedule_id
        key: tools.key
      outputParameters:
      - type: object
        mapping: $.