CloudBees · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for CloudBees CI REST API (Jenkins-compatible) Job API

9 actions 9 updates phrasing extends openapi/cloudbees-job-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for CloudBees's API. It is a proposal applied on top of the contract, not a document CloudBees publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 9

$.info
$.paths['/job/{name}/api/json'].get
$.paths['/job/{name}/build'].post
$.paths['/job/{name}/buildWithParameters'].post
$.paths['/job/{name}/{number}/api/json'].get
$.paths['/job/{name}/lastSuccessfulBuild/api/json'].get
$.paths['/job/{name}/config.xml'].get
$.paths['/job/{name}/config.xml'].post
$.paths['/job/{name}/doDelete'].post

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for CloudBees CI REST API (Jenkins-compatible) Job API
  version: 1.0.0
extends: openapi/cloudbees-job-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-10-01'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 8
- target: $.paths['/job/{name}/api/json'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a job's metadata and build history
      effect: read
      questions:
      - How do I see a job's status and recent builds in CloudBees CI?
      - Is my job currently healthy, and what was its last build result?
      instructions:
      - text: Show the metadata for job {name}.
        slots:
          name: path.name
      - text: Get job {name}'s details, returning only {tree}.
        slots:
          name: path.name
          tree: query.tree
      - text: Fetch job {name}'s metadata at depth {depth}.
        slots:
          name: path.name
          depth: query.depth
      method: generated
      generated: '2026-10-01'
- target: $.paths['/job/{name}/build'].post
  update:
    x-apievangelist-phrasing:
      intent: Start a build of a job with no parameters
      effect: write
      questions:
      - How do I kick off a job that takes no build parameters?
      - Can I trigger a plain build remotely using a job's trigger token?
      instructions:
      - text: Start a build of job {name} with no parameters.
        slots:
          name: path.name
      - text: Trigger a plain build of {name} using the remote token {token}.
        slots:
          name: path.name
          token: query.token
      method: generated
      generated: '2026-10-01'
- target: $.paths['/job/{name}/buildWithParameters'].post
  update:
    x-apievangelist-phrasing:
      intent: Start a parameterized build of a job
      effect: write
      questions:
      - How do I run a job and pass it build parameters?
      - Can I launch a parameterized build remotely with a trigger token?
      instructions:
      - text: Run job {name} with the build parameters I give you.
        slots:
          name: path.name
      - text: Launch a parameterized build of {name} authorized by token {token}.
        slots:
          name: path.name
          token: query.token
      method: generated
      generated: '2026-10-01'
- target: $.paths['/job/{name}/{number}/api/json'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a specific build of a job by number
      effect: read
      questions:
      - What was the result of a particular numbered build of my job?
      - 'Can I look up how long build #42 took and who started it?'
      instructions:
      - text: Show build {number} of job {name}.
        slots:
          name: path.name
          number: path.number
      - text: Get build number {number} of {name}, returning only {tree}.
        slots:
          name: path.name
          number: path.number
          tree: query.tree
      method: generated
      generated: '2026-10-01'
- target: $.paths['/job/{name}/lastSuccessfulBuild/api/json'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the last successful build of a job
      effect: read
      questions:
      - When did my job last pass, and which build was it?
      - Which build of this job was the most recent green one?
      instructions:
      - text: Show the last successful build of job {name}.
        slots:
          name: path.name
      - text: Get {name}'s most recent passing build, limited to {tree}.
        slots:
          name: path.name
          tree: query.tree
      method: generated
      generated: '2026-10-01'
- target: $.paths['/job/{name}/config.xml'].get
  update:
    x-apievangelist-phrasing:
      intent: Download a job's configuration XML
      effect: read
      questions:
      - How do I export a job's config.xml so I can back it up?
      - Where can I read the raw XML definition of an existing job?
      instructions:
      - text: Download the config.xml of job {name}.
        slots:
          name: path.name
      - text: Show me the current XML configuration for {name}.
        slots:
          name: path.name
      method: generated
      generated: '2026-10-01'
- target: $.paths['/job/{name}/config.xml'].post
  update:
    x-apievangelist-phrasing:
      intent: Replace a job's configuration XML
      effect: write
      questions:
      - How do I change an existing job's settings by uploading new config XML?
      - Can I push an edited config.xml back to a job?
      instructions:
      - text: Overwrite job {name}'s configuration with the XML I provide.
        slots:
          name: path.name
      - text: Upload this edited config.xml to job {name}.
        slots:
          name: path.name
      method: generated
      generated: '2026-10-01'
- target: $.paths['/job/{name}/doDelete'].post
  update:
    x-apievangelist-phrasing:
      intent: Delete a job
      effect: destructive
      questions:
      - How do I permanently remove a job from the controller?
      - Can I delete an obsolete job through the API?
      instructions:
      - text: Delete job {name} from the controller.
        slots:
          name: path.name
      - text: Permanently remove the obsolete {name} job.
        slots:
          name: path.name
      method: generated
      generated: '2026-10-01'