text: /**
   * Swaggy Jenkins
   * Jenkins API clients generated from Swagger / Open API specification
   *
   * The version of the OpenAPI document: 1.1.2-pre.0
   * Contact: blah@cliffano.com
   *
   * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
   * https://openapi-generator.tech
   * Do not edit the class manually.
   *
   */
  
  
  
  import ApiClient from "../ApiClient";
  import BranchImpl from '../model/BranchImpl';
  import FavoriteImpl from '../model/FavoriteImpl';
  import GithubOrganization from '../model/GithubOrganization';
  import GithubScm from '../model/GithubScm';
  import MultibranchPipeline from '../model/MultibranchPipeline';
  import Organisation from '../model/Organisation';
  import Pipeline from '../model/Pipeline';
  import PipelineActivity from '../model/PipelineActivity';
  import PipelineFolderImpl from '../model/PipelineFolderImpl';
  import PipelineImpl from '../model/PipelineImpl';
  import PipelineRun from '../model/PipelineRun';
  import PipelineRunNode from '../model/PipelineRunNode';
  import PipelineStepImpl from '../model/PipelineStepImpl';
  import QueueItemImpl from '../model/QueueItemImpl';
  import User from '../model/User';
  
  /**
  * BlueOcean service.
  * @module api/BlueOceanApi
  * @version 1.1.2-pre.0
  */
  export default class BlueOceanApi extends ApiClient {
  
      /**
      * Constructs a new BlueOceanApi. 
      * @alias module:api/BlueOceanApi
      * @class
      */
      constructor() {
        super();
        this.baseURL = null;
      }
  
  
      /**
       * Delete queue item from an organization pipeline queue
       * @param {String} organization Name of the organization
       * @param {String} pipeline Name of the pipeline
       * @param {String} queue Name of the queue item
       * @return {Promise}
       */
      async deletePipelineQueueItem(organization, pipeline, queue) {
        let postBody = null;
        // verify the required parameter 'organization' is set
        if (organization === undefined || organization === null) {
          throw new Error("Missing the required parameter 'organization' when calling deletePipelineQueueItem");
        }
        // verify the required parameter 'pipeline' is set
        if (pipeline === undefined || pipeline === null) {
          throw new Error("Missing the required parameter 'pipeline' when calling deletePipelineQueueItem");
        }
        // verify the required parameter 'queue' is set
        if (queue === undefined || queue === null) {
          throw new Error("Missing the required parameter 'queue' when calling deletePipelineQueueItem");
        }
  
        let pathParams = {
          'organization': organization,
          'pipeline': pipeline,
          'queue': queue
        };
        let queryParams = {
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = ['jenkins_auth'];
        let contentTypes = [];
        let accepts = [];
        let returnType = null;
  
        return this.callApi(
          '/blue/rest/organizations/{organization}/pipelines/{pipeline}/queue/{queue}', 'DELETE',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Retrieve authenticated user details for an organization
       * @param {String} organization Name of the organization
       * @return {Promise<User>}
       */
      async getAuthenticatedUser(organization) {
        let postBody = null;
        // verify the required parameter 'organization' is set
        if (organization === undefined || organization === null) {
          throw new Error("Missing the required parameter 'organization' when calling getAuthenticatedUser");
        }
  
        let pathParams = {
          'organization': organization
        };
        let queryParams = {
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = ['jenkins_auth'];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = User;
  
        return this.callApi(
          '/blue/rest/organizations/{organization}/user/', 'GET',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Get a list of class names supported by a given class
       * @param {String} _class Name of the class
       * @return {Promise<String>}
       */
      async getClasses(_class) {
        let postBody = null;
        // verify the required parameter '_class' is set
        if (_class === undefined || _class === null) {
          throw new Error("Missing the required parameter '_class' when calling getClasses");
        }
  
        let pathParams = {
          'class': _class
        };
        let queryParams = {
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = ['jenkins_auth'];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = 'String';
  
        return this.callApi(
          '/blue/rest/classes/{class}', 'GET',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Retrieve JSON Web Key
       * @param {Number} key Key ID received as part of JWT header field kid
       * @return {Promise<String>}
       */
      async getJsonWebKey(key) {
        let postBody = null;
        // verify the required parameter 'key' is set
        if (key === undefined || key === null) {
          throw new Error("Missing the required parameter 'key' when calling getJsonWebKey");
        }
  
        let pathParams = {
          'key': key
        };
        let queryParams = {
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = [];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = 'String';
  
        return this.callApi(
          '/jwt-auth/jwks/{key}', 'GET',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Retrieve JSON Web Token
       * @param {Object} opts Optional parameters
       * @param {Number} opts.expiryTimeInMins Token expiry time in minutes, default: 30 minutes
       * @param {Number} opts.maxExpiryTimeInMins Maximum token expiry time in minutes, default: 480 minutes
       * @return {Promise<String>}
       */
      async getJsonWebToken(opts) {
        opts = opts || {};
        let postBody = null;
  
        let pathParams = {
        };
        let queryParams = {
          'expiryTimeInMins': opts['expiryTimeInMins'],
          'maxExpiryTimeInMins': opts['maxExpiryTimeInMins']
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = [];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = 'String';
  
        return this.callApi(
          '/jwt-auth/token', 'GET',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Retrieve organization details
       * @param {String} organization Name of the organization
       * @return {Promise<Organisation>}
       */
      async getOrganisation(organization) {
        let postBody = null;
        // verify the required parameter 'organization' is set
        if (organization === undefined || organization === null) {
          throw new Error("Missing the required parameter 'organization' when calling getOrganisation");
        }
  
        let pathParams = {
          'organization': organization
        };
        let queryParams = {
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = ['jenkins_auth'];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = Organisation;
  
        return this.callApi(
          '/blue/rest/organizations/{organization}', 'GET',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Retrieve all organizations details
       * @return {Promise<Array.<Organisation>>}
       */
      async getOrganisations() {
        let postBody = null;
  
        let pathParams = {
        };
        let queryParams = {
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = ['jenkins_auth'];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = [Organisation];
  
        return this.callApi(
          '/blue/rest/organizations/', 'GET',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Retrieve pipeline details for an organization
       * @param {String} organization Name of the organization
       * @param {String} pipeline Name of the pipeline
       * @return {Promise<Pipeline>}
       */
      async getPipeline(organization, pipeline) {
        let postBody = null;
        // verify the required parameter 'organization' is set
        if (organization === undefined || organization === null) {
          throw new Error("Missing the required parameter 'organization' when calling getPipeline");
        }
        // verify the required parameter 'pipeline' is set
        if (pipeline === undefined || pipeline === null) {
          throw new Error("Missing the required parameter 'pipeline' when calling getPipeline");
        }
  
        let pathParams = {
          'organization': organization,
          'pipeline': pipeline
        };
        let queryParams = {
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = ['jenkins_auth'];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = Pipeline;
  
        return this.callApi(
          '/blue/rest/organizations/{organization}/pipelines/{pipeline}', 'GET',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Retrieve all activities details for an organization pipeline
       * @param {String} organization Name of the organization
       * @param {String} pipeline Name of the pipeline
       * @return {Promise<Array.<PipelineActivity>>}
       */
      async getPipelineActivities(organization, pipeline) {
        let postBody = null;
        // verify the required parameter 'organization' is set
        if (organization === undefined || organization === null) {
          throw new Error("Missing the required parameter 'organization' when calling getPipelineActivities");
        }
        // verify the required parameter 'pipeline' is set
        if (pipeline === undefined || pipeline === null) {
          throw new Error("Missing the required parameter 'pipeline' when calling getPipelineActivities");
        }
  
        let pathParams = {
          'organization': organization,
          'pipeline': pipeline
        };
        let queryParams = {
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = ['jenkins_auth'];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = [PipelineActivity];
  
        return this.callApi(
          '/blue/rest/organizations/{organization}/pipelines/{pipeline}/activities', 'GET',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Retrieve branch details for an organization pipeline
       * @param {String} organization Name of the organization
       * @param {String} pipeline Name of the pipeline
       * @param {String} branch Name of the branch
       * @return {Promise<BranchImpl>}
       */
      async getPipelineBranch(organization, pipeline, branch) {
        let postBody = null;
        // verify the required parameter 'organization' is set
        if (organization === undefined || organization === null) {
          throw new Error("Missing the required parameter 'organization' when calling getPipelineBranch");
        }
        // verify the required parameter 'pipeline' is set
        if (pipeline === undefined || pipeline === null) {
          throw new Error("Missing the required parameter 'pipeline' when calling getPipelineBranch");
        }
        // verify the required parameter 'branch' is set
        if (branch === undefined || branch === null) {
          throw new Error("Missing the required parameter 'branch' when calling getPipelineBranch");
        }
  
        let pathParams = {
          'organization': organization,
          'pipeline': pipeline,
          'branch': branch
        };
        let queryParams = {
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = ['jenkins_auth'];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = BranchImpl;
  
        return this.callApi(
          '/blue/rest/organizations/{organization}/pipelines/{pipeline}/branches/{branch}/', 'GET',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Retrieve branch run details for an organization pipeline
       * @param {String} organization Name of the organization
       * @param {String} pipeline Name of the pipeline
       * @param {String} branch Name of the branch
       * @param {String} run Name of the run
       * @return {Promise<PipelineRun>}
       */
      async getPipelineBranchRun(organization, pipeline, branch, run) {
        let postBody = null;
        // verify the required parameter 'organization' is set
        if (organization === undefined || organization === null) {
          throw new Error("Missing the required parameter 'organization' when calling getPipelineBranchRun");
        }
        // verify the required parameter 'pipeline' is set
        if (pipeline === undefined || pipeline === null) {
          throw new Error("Missing the required parameter 'pipeline' when calling getPipelineBranchRun");
        }
        // verify the required parameter 'branch' is set
        if (branch === undefined || branch === null) {
          throw new Error("Missing the required parameter 'branch' when calling getPipelineBranchRun");
        }
        // verify the required parameter 'run' is set
        if (run === undefined || run === null) {
          throw new Error("Missing the required parameter 'run' when calling getPipelineBranchRun");
        }
  
        let pathParams = {
          'organization': organization,
          'pipeline': pipeline,
          'branch': branch,
          'run': run
        };
        let queryParams = {
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = ['jenkins_auth'];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = PipelineRun;
  
        return this.callApi(
          '/blue/rest/organizations/{organization}/pipelines/{pipeline}/branches/{branch}/runs/{run}', 'GET',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Retrieve all branches details for an organization pipeline
       * @param {String} organization Name of the organization
       * @param {String} pipeline Name of the pipeline
       * @return {Promise<MultibranchPipeline>}
       */
      async getPipelineBranches(organization, pipeline) {
        let postBody = null;
        // verify the required parameter 'organization' is set
        if (organization === undefined || organization === null) {
          throw new Error("Missing the required parameter 'organization' when calling getPipelineBranches");
        }
        // verify the required parameter 'pipeline' is set
        if (pipeline === undefined || pipeline === null) {
          throw new Error("Missing the required parameter 'pipeline' when calling getPipelineBranches");
        }
  
        let pathParams = {
          'organization': organization,
          'pipeline': pipeline
        };
        let queryParams = {
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = ['jenkins_auth'];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = MultibranchPipeline;
  
        return this.callApi(
          '/blue/rest/organizations/{organization}/pipelines/{pipeline}/branches', 'GET',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Retrieve pipeline folder for an organization
       * @param {String} organization Name of the organization
       * @param {String} folder Name of the folder
       * @return {Promise<PipelineFolderImpl>}
       */
      async getPipelineFolder(organization, folder) {
        let postBody = null;
        // verify the required parameter 'organization' is set
        if (organization === undefined || organization === null) {
          throw new Error("Missing the required parameter 'organization' when calling getPipelineFolder");
        }
        // verify the required parameter 'folder' is set
        if (folder === undefined || folder === null) {
          throw new Error("Missing the required parameter 'folder' when calling getPipelineFolder");
        }
  
        let pathParams = {
          'organization': organization,
          'folder': folder
        };
        let queryParams = {
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = ['jenkins_auth'];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = PipelineFolderImpl;
  
        return this.callApi(
          '/blue/rest/organizations/{organization}/pipelines/{folder}/', 'GET',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Retrieve pipeline details for an organization folder
       * @param {String} organization Name of the organization
       * @param {String} pipeline Name of the pipeline
       * @param {String} folder Name of the folder
       * @return {Promise<PipelineImpl>}
       */
      async getPipelineFolderPipeline(organization, pipeline, folder) {
        let postBody = null;
        // verify the required parameter 'organization' is set
        if (organization === undefined || organization === null) {
          throw new Error("Missing the required parameter 'organization' when calling getPipelineFolderPipeline");
        }
        // verify the required parameter 'pipeline' is set
        if (pipeline === undefined || pipeline === null) {
          throw new Error("Missing the required parameter 'pipeline' when calling getPipelineFolderPipeline");
        }
        // verify the required parameter 'folder' is set
        if (folder === undefined || folder === null) {
          throw new Error("Missing the required parameter 'folder' when calling getPipelineFolderPipeline");
        }
  
        let pathParams = {
          'organization': organization,
          'pipeline': pipeline,
          'folder': folder
        };
        let queryParams = {
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = ['jenkins_auth'];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = PipelineImpl;
  
        return this.callApi(
          '/blue/rest/organizations/{organization}/pipelines/{folder}/pipelines/{pipeline}', 'GET',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Retrieve queue details for an organization pipeline
       * @param {String} organization Name of the organization
       * @param {String} pipeline Name of the pipeline
       * @return {Promise<Array.<QueueItemImpl>>}
       */
      async getPipelineQueue(organization, pipeline) {
        let postBody = null;
        // verify the required parameter 'organization' is set
        if (organization === undefined || organization === null) {
          throw new Error("Missing the required parameter 'organization' when calling getPipelineQueue");
        }
        // verify the required parameter 'pipeline' is set
        if (pipeline === undefined || pipeline === null) {
          throw new Error("Missing the required parameter 'pipeline' when calling getPipelineQueue");
        }
  
        let pathParams = {
          'organization': organization,
          'pipeline': pipeline
        };
        let queryParams = {
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = ['jenkins_auth'];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = [QueueItemImpl];
  
        return this.callApi(
          '/blue/rest/organizations/{organization}/pipelines/{pipeline}/queue', 'GET',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Retrieve run details for an organization pipeline
       * @param {String} organization Name of the organization
       * @param {String} pipeline Name of the pipeline
       * @param {String} run Name of the run
       * @return {Promise<PipelineRun>}
       */
      async getPipelineRun(organization, pipeline, run) {
        let postBody = null;
        // verify the required parameter 'organization' is set
        if (organization === undefined || organization === null) {
          throw new Error("Missing the required parameter 'organization' when calling getPipelineRun");
        }
        // verify the required parameter 'pipeline' is set
        if (pipeline === undefined || pipeline === null) {
          throw new Error("Missing the required parameter 'pipeline' when calling getPipelineRun");
        }
        // verify the required parameter 'run' is set
        if (run === undefined || run === null) {
          throw new Error("Missing the required parameter 'run' when calling getPipelineRun");
        }
  
        let pathParams = {
          'organization': organization,
          'pipeline': pipeline,
          'run': run
        };
        let queryParams = {
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = ['jenkins_auth'];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = PipelineRun;
  
        return this.callApi(
          '/blue/rest/organizations/{organization}/pipelines/{pipeline}/runs/{run}', 'GET',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Get log for a pipeline run
       * @param {String} organization Name of the organization
       * @param {String} pipeline Name of the pipeline
       * @param {String} run Name of the run
       * @param {Object} opts Optional parameters
       * @param {Number} opts.start Start position of the log
       * @param {Boolean} opts.download Set to true in order to download the file, otherwise it's passed as a response body
       * @return {Promise<String>}
       */
      async getPipelineRunLog(organization, pipeline, run, opts) {
        opts = opts || {};
        let postBody = null;
        // verify the required parameter 'organization' is set
        if (organization === undefined || organization === null) {
          throw new Error("Missing the required parameter 'organization' when calling getPipelineRunLog");
        }
        // verify the required parameter 'pipeline' is set
        if (pipeline === undefined || pipeline === null) {
          throw new Error("Missing the required parameter 'pipeline' when calling getPipelineRunLog");
        }
        // verify the required parameter 'run' is set
        if (run === undefined || run === null) {
          throw new Error("Missing the required parameter 'run' when calling getPipelineRunLog");
        }
  
        let pathParams = {
          'organization': organization,
          'pipeline': pipeline,
          'run': run
        };
        let queryParams = {
          'start': opts['start'],
          'download': opts['download']
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = ['jenkins_auth'];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = 'String';
  
        return this.callApi(
          '/blue/rest/organizations/{organization}/pipelines/{pipeline}/runs/{run}/log', 'GET',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Retrieve run node details for an organization pipeline
       * @param {String} organization Name of the organization
       * @param {String} pipeline Name of the pipeline
       * @param {String} run Name of the run
       * @param {String} node Name of the node
       * @return {Promise<PipelineRunNode>}
       */
      async getPipelineRunNode(organization, pipeline, run, node) {
        let postBody = null;
        // verify the required parameter 'organization' is set
        if (organization === undefined || organization === null) {
          throw new Error("Missing the required parameter 'organization' when calling getPipelineRunNode");
        }
        // verify the required parameter 'pipeline' is set
        if (pipeline === undefined || pipeline === null) {
          throw new Error("Missing the required parameter 'pipeline' when calling getPipelineRunNode");
        }
        // verify the required parameter 'run' is set
        if (run === undefined || run === null) {
          throw new Error("Missing the required parameter 'run' when calling getPipelineRunNode");
        }
        // verify the required parameter 'node' is set
        if (node === undefined || node === null) {
          throw new Error("Missing the required parameter 'node' when calling getPipelineRunNode");
        }
  
        let pathParams = {
          'organization': organization,
          'pipeline': pipeline,
          'run': run,
          'node': node
        };
        let queryParams = {
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = ['jenkins_auth'];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = PipelineRunNode;
  
        return this.callApi(
          '/blue/rest/organizations/{organization}/pipelines/{pipeline}/runs/{run}/nodes/{node}', 'GET',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Retrieve run node details for an organization pipeline
       * @param {String} organization Name of the organization
       * @param {String} pipeline Name of the pipeline
       * @param {String} run Name of the run
       * @param {String} node Name of the node
       * @param {String} step Name of the step
       * @return {Promise<PipelineStepImpl>}
       */
      async getPipelineRunNodeStep(organization, pipeline, run, node, step) {
        let postBody = null;
        // verify the required parameter 'organization' is set
        if (organization === undefined || organization === null) {
          throw new Error("Missing the required parameter 'organization' when calling getPipelineRunNodeStep");
        }
        // verify the required parameter 'pipeline' is set
        if (pipeline === undefined || pipeline === null) {
          throw new Error("Missing the required parameter 'pipeline' when calling getPipelineRunNodeStep");
        }
        // verify the required parameter 'run' is set
        if (run === undefined || run === null) {
          throw new Error("Missing the required parameter 'run' when calling getPipelineRunNodeStep");
        }
        // verify the required parameter 'node' is set
        if (node === undefined || node === null) {
          throw new Error("Missing the required parameter 'node' when calling getPipelineRunNodeStep");
        }
        // verify the required parameter 'step' is set
        if (step === undefined || step === null) {
          throw new Error("Missing the required parameter 'step' when calling getPipelineRunNodeStep");
        }
  
        let pathParams = {
          'organization': organization,
          'pipeline': pipeline,
          'run': run,
          'node': node,
          'step': step
        };
        let queryParams = {
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = ['jenkins_auth'];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = PipelineStepImpl;
  
        return this.callApi(
          '/blue/rest/organizations/{organization}/pipelines/{pipeline}/runs/{run}/nodes/{node}/steps/{step}', 'GET',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Get log for a pipeline run node step
       * @param {String} organization Name of the organization
       * @param {String} pipeline Name of the pipeline
       * @param {String} run Name of the run
       * @param {String} node Name of the node
       * @param {String} step Name of the step
       * @return {Promise<String>}
       */
      async getPipelineRunNodeStepLog(organization, pipeline, run, node, step) {
        let postBody = null;
        // verify the required parameter 'organization' is set
        if (organization === undefined || organization === null) {
          throw new Error("Missing the required parameter 'organization' when calling getPipelineRunNodeStepLog");
        }
        // verify the required parameter 'pipeline' is set
        if (pipeline === undefined || pipeline === null) {
          throw new Error("Missing the required parameter 'pipeline' when calling getPipelineRunNodeStepLog");
        }
        // verify the required parameter 'run' is set
        if (run === undefined || run === null) {
          throw new Error("Missing the required parameter 'run' when calling getPipelineRunNodeStepLog");
        }
        // verify the required parameter 'node' is set
        if (node === undefined || node === null) {
          throw new Error("Missing the required parameter 'node' when calling getPipelineRunNodeStepLog");
        }
        // verify the required parameter 'step' is set
        if (step === undefined || step === null) {
          throw new Error("Missing the required parameter 'step' when calling getPipelineRunNodeStepLog");
        }
  
        let pathParams = {
          'organization': organization,
          'pipeline': pipeline,
          'run': run,
          'node': node,
          'step': step
        };
        let queryParams = {
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = ['jenkins_auth'];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = 'String';
  
        return this.callApi(
          '/blue/rest/organizations/{organization}/pipelines/{pipeline}/runs/{run}/nodes/{node}/steps/{step}/log', 'GET',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Retrieve run node steps details for an organization pipeline
       * @param {String} organization Name of the organization
       * @param {String} pipeline Name of the pipeline
       * @param {String} run Name of the run
       * @param {String} node Name of the node
       * @return {Promise<Array.<PipelineStepImpl>>}
       */
      async getPipelineRunNodeSteps(organization, pipeline, run, node) {
        let postBody = null;
        // verify the required parameter 'organization' is set
        if (organization === undefined || organization === null) {
          throw new Error("Missing the required parameter 'organization' when calling getPipelineRunNodeSteps");
        }
        // verify the required parameter 'pipeline' is set
        if (pipeline === undefined || pipeline === null) {
          throw new Error("Missing the required parameter 'pipeline' when calling getPipelineRunNodeSteps");
        }
        // verify the required parameter 'run' is set
        if (run === undefined || run === null) {
          throw new Error("Missing the required parameter 'run' when calling getPipelineRunNodeSteps");
        }
        // verify the required parameter 'node' is set
        if (node === undefined || node === null) {
          throw new Error("Missing the required parameter 'node' when calling getPipelineRunNodeSteps");
        }
  
        let pathParams = {
          'organization': organization,
          'pipeline': pipeline,
          'run': run,
          'node': node
        };
        let queryParams = {
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = ['jenkins_auth'];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = [PipelineStepImpl];
  
        return this.callApi(
          '/blue/rest/organizations/{organization}/pipelines/{pipeline}/runs/{run}/nodes/{node}/steps', 'GET',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Retrieve run nodes details for an organization pipeline
       * @param {String} organization Name of the organization
       * @param {String} pipeline Name of the pipeline
       * @param {String} run Name of the run
       * @return {Promise<Array.<PipelineRunNode>>}
       */
      async getPipelineRunNodes(organization, pipeline, run) {
        let postBody = null;
        // verify the required parameter 'organization' is set
        if (organization === undefined || organization === null) {
          throw new Error("Missing the required parameter 'organization' when calling getPipelineRunNodes");
        }
        // verify the required parameter 'pipeline' is set
        if (pipeline === undefined || pipeline === null) {
          throw new Error("Missing the required parameter 'pipeline' when calling getPipelineRunNodes");
        }
        // verify the required parameter 'run' is set
        if (run === undefined || run === null) {
          throw new Error("Missing the required parameter 'run' when calling getPipelineRunNodes");
        }
  
        let pathParams = {
          'organization': organization,
          'pipeline': pipeline,
          'run': run
        };
        let queryParams = {
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = ['jenkins_auth'];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = [PipelineRunNode];
  
        return this.callApi(
          '/blue/rest/organizations/{organization}/pipelines/{pipeline}/runs/{run}/nodes', 'GET',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Retrieve all runs details for an organization pipeline
       * @param {String} organization Name of the organization
       * @param {String} pipeline Name of the pipeline
       * @return {Promise<Array.<PipelineRun>>}
       */
      async getPipelineRuns(organization, pipeline) {
        let postBody = null;
        // verify the required parameter 'organization' is set
        if (organization === undefined || organization === null) {
          throw new Error("Missing the required parameter 'organization' when calling getPipelineRuns");
        }
        // verify the required parameter 'pipeline' is set
        if (pipeline === undefined || pipeline === null) {
          throw new Error("Missing the required parameter 'pipeline' when calling getPipelineRuns");
        }
  
        let pathParams = {
          'organization': organization,
          'pipeline': pipeline
        };
        let queryParams = {
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = ['jenkins_auth'];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = [PipelineRun];
  
        return this.callApi(
          '/blue/rest/organizations/{organization}/pipelines/{pipeline}/runs', 'GET',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Retrieve all pipelines details for an organization
       * @param {String} organization Name of the organization
       * @return {Promise<Array.<Pipeline>>}
       */
      async getPipelines(organization) {
        let postBody = null;
        // verify the required parameter 'organization' is set
        if (organization === undefined || organization === null) {
          throw new Error("Missing the required parameter 'organization' when calling getPipelines");
        }
  
        let pathParams = {
          'organization': organization
        };
        let queryParams = {
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = ['jenkins_auth'];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = [Pipeline];
  
        return this.callApi(
          '/blue/rest/organizations/{organization}/pipelines/', 'GET',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Retrieve SCM details for an organization
       * @param {String} organization Name of the organization
       * @param {String} scm Name of SCM
       * @return {Promise<GithubScm>}
       */
      async getSCM(organization, scm) {
        let postBody = null;
        // verify the required parameter 'organization' is set
        if (organization === undefined || organization === null) {
          throw new Error("Missing the required parameter 'organization' when calling getSCM");
        }
        // verify the required parameter 'scm' is set
        if (scm === undefined || scm === null) {
          throw new Error("Missing the required parameter 'scm' when calling getSCM");
        }
  
        let pathParams = {
          'organization': organization,
          'scm': scm
        };
        let queryParams = {
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = ['jenkins_auth'];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = GithubScm;
  
        return this.callApi(
          '/blue/rest/organizations/{organization}/scm/{scm}', 'GET',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Retrieve SCM organization repositories details for an organization
       * @param {String} organization Name of the organization
       * @param {String} scm Name of SCM
       * @param {String} scmOrganisation Name of the SCM organization
       * @param {Object} opts Optional parameters
       * @param {String} opts.credentialId Credential ID
       * @param {Number} opts.pageSize Number of items in a page
       * @param {Number} opts.pageNumber Page number
       * @return {Promise<Array.<GithubOrganization>>}
       */
      async getSCMOrganisationRepositories(organization, scm, scmOrganisation, opts) {
        opts = opts || {};
        let postBody = null;
        // verify the required parameter 'organization' is set
        if (organization === undefined || organization === null) {
          throw new Error("Missing the required parameter 'organization' when calling getSCMOrganisationRepositories");
        }
        // verify the required parameter 'scm' is set
        if (scm === undefined || scm === null) {
          throw new Error("Missing the required parameter 'scm' when calling getSCMOrganisationRepositories");
        }
        // verify the required parameter 'scmOrganisation' is set
        if (scmOrganisation === undefined || scmOrganisation === null) {
          throw new Error("Missing the required parameter 'scmOrganisation' when calling getSCMOrganisationRepositories");
        }
  
        let pathParams = {
          'organization': organization,
          'scm': scm,
          'scmOrganisation': scmOrganisation
        };
        let queryParams = {
          'credentialId': opts['credentialId'],
          'pageSize': opts['pageSize'],
          'pageNumber': opts['pageNumber']
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = ['jenkins_auth'];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = [GithubOrganization];
  
        return this.callApi(
          '/blue/rest/organizations/{organization}/scm/{scm}/organizations/{scmOrganisation}/repositories', 'GET',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Retrieve SCM organization repository details for an organization
       * @param {String} organization Name of the organization
       * @param {String} scm Name of SCM
       * @param {String} scmOrganisation Name of the SCM organization
       * @param {String} repository Name of the SCM repository
       * @param {Object} opts Optional parameters
       * @param {String} opts.credentialId Credential ID
       * @return {Promise<Array.<GithubOrganization>>}
       */
      async getSCMOrganisationRepository(organization, scm, scmOrganisation, repository, opts) {
        opts = opts || {};
        let postBody = null;
        // verify the required parameter 'organization' is set
        if (organization === undefined || organization === null) {
          throw new Error("Missing the required parameter 'organization' when calling getSCMOrganisationRepository");
        }
        // verify the required parameter 'scm' is set
        if (scm === undefined || scm === null) {
          throw new Error("Missing the required parameter 'scm' when calling getSCMOrganisationRepository");
        }
        // verify the required parameter 'scmOrganisation' is set
        if (scmOrganisation === undefined || scmOrganisation === null) {
          throw new Error("Missing the required parameter 'scmOrganisation' when calling getSCMOrganisationRepository");
        }
        // verify the required parameter 'repository' is set
        if (repository === undefined || repository === null) {
          throw new Error("Missing the required parameter 'repository' when calling getSCMOrganisationRepository");
        }
  
        let pathParams = {
          'organization': organization,
          'scm': scm,
          'scmOrganisation': scmOrganisation,
          'repository': repository
        };
        let queryParams = {
          'credentialId': opts['credentialId']
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = ['jenkins_auth'];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = [GithubOrganization];
  
        return this.callApi(
          '/blue/rest/organizations/{organization}/scm/{scm}/organizations/{scmOrganisation}/repositories/{repository}', 'GET',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Retrieve SCM organizations details for an organization
       * @param {String} organization Name of the organization
       * @param {String} scm Name of SCM
       * @param {Object} opts Optional parameters
       * @param {String} opts.credentialId Credential ID
       * @return {Promise<Array.<GithubOrganization>>}
       */
      async getSCMOrganisations(organization, scm, opts) {
        opts = opts || {};
        let postBody = null;
        // verify the required parameter 'organization' is set
        if (organization === undefined || organization === null) {
          throw new Error("Missing the required parameter 'organization' when calling getSCMOrganisations");
        }
        // verify the required parameter 'scm' is set
        if (scm === undefined || scm === null) {
          throw new Error("Missing the required parameter 'scm' when calling getSCMOrganisations");
        }
  
        let pathParams = {
          'organization': organization,
          'scm': scm
        };
        let queryParams = {
          'credentialId': opts['credentialId']
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = ['jenkins_auth'];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = [GithubOrganization];
  
        return this.callApi(
          '/blue/rest/organizations/{organization}/scm/{scm}/organizations', 'GET',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Retrieve user details for an organization
       * @param {String} organization Name of the organization
       * @param {String} user Name of the user
       * @return {Promise<User>}
       */
      async getUser(organization, user) {
        let postBody = null;
        // verify the required parameter 'organization' is set
        if (organization === undefined || organization === null) {
          throw new Error("Missing the required parameter 'organization' when calling getUser");
        }
        // verify the required parameter 'user' is set
        if (user === undefined || user === null) {
          throw new Error("Missing the required parameter 'user' when calling getUser");
        }
  
        let pathParams = {
          'organization': organization,
          'user': user
        };
        let queryParams = {
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = ['jenkins_auth'];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = User;
  
        return this.callApi(
          '/blue/rest/organizations/{organization}/users/{user}', 'GET',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Retrieve user favorites details for an organization
       * @param {String} user Name of the user
       * @return {Promise<Array.<FavoriteImpl>>}
       */
      async getUserFavorites(user) {
        let postBody = null;
        // verify the required parameter 'user' is set
        if (user === undefined || user === null) {
          throw new Error("Missing the required parameter 'user' when calling getUserFavorites");
        }
  
        let pathParams = {
          'user': user
        };
        let queryParams = {
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = ['jenkins_auth'];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = [FavoriteImpl];
  
        return this.callApi(
          '/blue/rest/users/{user}/favorites', 'GET',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Retrieve users details for an organization
       * @param {String} organization Name of the organization
       * @return {Promise<User>}
       */
      async getUsers(organization) {
        let postBody = null;
        // verify the required parameter 'organization' is set
        if (organization === undefined || organization === null) {
          throw new Error("Missing the required parameter 'organization' when calling getUsers");
        }
  
        let pathParams = {
          'organization': organization
        };
        let queryParams = {
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = ['jenkins_auth'];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = User;
  
        return this.callApi(
          '/blue/rest/organizations/{organization}/users/', 'GET',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Replay an organization pipeline run
       * @param {String} organization Name of the organization
       * @param {String} pipeline Name of the pipeline
       * @param {String} run Name of the run
       * @return {Promise<QueueItemImpl>}
       */
      async postPipelineRun(organization, pipeline, run) {
        let postBody = null;
        // verify the required parameter 'organization' is set
        if (organization === undefined || organization === null) {
          throw new Error("Missing the required parameter 'organization' when calling postPipelineRun");
        }
        // verify the required parameter 'pipeline' is set
        if (pipeline === undefined || pipeline === null) {
          throw new Error("Missing the required parameter 'pipeline' when calling postPipelineRun");
        }
        // verify the required parameter 'run' is set
        if (run === undefined || run === null) {
          throw new Error("Missing the required parameter 'run' when calling postPipelineRun");
        }
  
        let pathParams = {
          'organization': organization,
          'pipeline': pipeline,
          'run': run
        };
        let queryParams = {
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = ['jenkins_auth'];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = QueueItemImpl;
  
        return this.callApi(
          '/blue/rest/organizations/{organization}/pipelines/{pipeline}/runs/{run}/replay', 'POST',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Start a build for an organization pipeline
       * @param {String} organization Name of the organization
       * @param {String} pipeline Name of the pipeline
       * @return {Promise<QueueItemImpl>}
       */
      async postPipelineRuns(organization, pipeline) {
        let postBody = null;
        // verify the required parameter 'organization' is set
        if (organization === undefined || organization === null) {
          throw new Error("Missing the required parameter 'organization' when calling postPipelineRuns");
        }
        // verify the required parameter 'pipeline' is set
        if (pipeline === undefined || pipeline === null) {
          throw new Error("Missing the required parameter 'pipeline' when calling postPipelineRuns");
        }
  
        let pathParams = {
          'organization': organization,
          'pipeline': pipeline
        };
        let queryParams = {
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = ['jenkins_auth'];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = QueueItemImpl;
  
        return this.callApi(
          '/blue/rest/organizations/{organization}/pipelines/{pipeline}/runs', 'POST',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Favorite/unfavorite a pipeline
       * @param {String} organization Name of the organization
       * @param {String} pipeline Name of the pipeline
       * @param {Boolean} body Set JSON string body to {\"favorite\": true} to favorite, set value to false to unfavorite
       * @return {Promise<FavoriteImpl>}
       */
      async putPipelineFavorite(organization, pipeline, body) {
        let postBody = body;
        // verify the required parameter 'organization' is set
        if (organization === undefined || organization === null) {
          throw new Error("Missing the required parameter 'organization' when calling putPipelineFavorite");
        }
        // verify the required parameter 'pipeline' is set
        if (pipeline === undefined || pipeline === null) {
          throw new Error("Missing the required parameter 'pipeline' when calling putPipelineFavorite");
        }
        // verify the required parameter 'body' is set
        if (body === undefined || body === null) {
          throw new Error("Missing the required parameter 'body' when calling putPipelineFavorite");
        }
  
        let pathParams = {
          'organization': organization,
          'pipeline': pipeline
        };
        let queryParams = {
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = ['jenkins_auth'];
        let contentTypes = ['application/json'];
        let accepts = ['application/json'];
        let returnType = FavoriteImpl;
  
        return this.callApi(
          '/blue/rest/organizations/{organization}/pipelines/{pipeline}/favorite', 'PUT',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Stop a build of an organization pipeline
       * @param {String} organization Name of the organization
       * @param {String} pipeline Name of the pipeline
       * @param {String} run Name of the run
       * @param {Object} opts Optional parameters
       * @param {String} opts.blocking Set to true to make blocking stop, default: false
       * @param {Number} opts.timeOutInSecs Timeout in seconds, default: 10 seconds
       * @return {Promise<PipelineRun>}
       */
      async putPipelineRun(organization, pipeline, run, opts) {
        opts = opts || {};
        let postBody = null;
        // verify the required parameter 'organization' is set
        if (organization === undefined || organization === null) {
          throw new Error("Missing the required parameter 'organization' when calling putPipelineRun");
        }
        // verify the required parameter 'pipeline' is set
        if (pipeline === undefined || pipeline === null) {
          throw new Error("Missing the required parameter 'pipeline' when calling putPipelineRun");
        }
        // verify the required parameter 'run' is set
        if (run === undefined || run === null) {
          throw new Error("Missing the required parameter 'run' when calling putPipelineRun");
        }
  
        let pathParams = {
          'organization': organization,
          'pipeline': pipeline,
          'run': run
        };
        let queryParams = {
          'blocking': opts['blocking'],
          'timeOutInSecs': opts['timeOutInSecs']
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = ['jenkins_auth'];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = PipelineRun;
  
        return this.callApi(
          '/blue/rest/organizations/{organization}/pipelines/{pipeline}/runs/{run}/stop', 'PUT',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Search for any resource details
       * @param {String} q Query string
       * @return {Promise<String>}
       */
      async search(q) {
        let postBody = null;
        // verify the required parameter 'q' is set
        if (q === undefined || q === null) {
          throw new Error("Missing the required parameter 'q' when calling search");
        }
  
        let pathParams = {
        };
        let queryParams = {
          'q': q
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = ['jenkins_auth'];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = 'String';
  
        return this.callApi(
          '/blue/rest/search/', 'GET',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
      /**
       * Get classes details
       * @param {String} q Query string containing an array of class names
       * @return {Promise<String>}
       */
      async searchClasses(q) {
        let postBody = null;
        // verify the required parameter 'q' is set
        if (q === undefined || q === null) {
          throw new Error("Missing the required parameter 'q' when calling searchClasses");
        }
  
        let pathParams = {
        };
        let queryParams = {
          'q': q
        };
        let headerParams = {
          'User-Agent': 'OpenAPI-Generator/1.1.2-pre.0/Javascript',
        };
        let formParams = {
        };
  
        let authNames = ['jenkins_auth'];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = 'String';
  
        return this.callApi(
          '/blue/rest/classes/', 'GET',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType
        );
      }
  
  
  }
  