# JenkinsProvider

A class representing Jenkins providers.

Extends: Construct › BaseJenkinsProvider › JenkinsProvider
Implements: IJenkinsProvider, IConstruct, IDependable

- Source: [`aws-codepipeline-actions/lib/jenkins/jenkins-provider.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0/packages/aws-cdk-lib/aws-codepipeline-actions/lib/jenkins/jenkins-provider.ts#L132)

## Example

```ts
const jenkinsProvider = new codepipeline_actions.JenkinsProvider(this, 'JenkinsProvider', {
  providerName: 'MyJenkinsProvider',
  serverUrl: 'http://my-jenkins.com:8080',
  version: '2', // optional, default: '1'
});
```

## Initializer

```ts
new JenkinsProvider(scope: Construct, id: string, props: JenkinsProviderProps)
```

## Construct Props

- `forBuild`: boolean = false — Whether to immediately register a Jenkins Provider for the build category.

  The Provider will always be registered if you create a `JenkinsAction`.

- `forTest`: boolean = false — Whether to immediately register a Jenkins Provider for the test category.

  The Provider will always be registered if you create a `JenkinsTestAction`.

- `providerName`: string (required) — The name of the Jenkins provider that you set in the AWS CodePipeline plugin configuration of your Jenkins project.

  ```ts
  'MyJenkinsProvider'
  ```

- `serverUrl`: string (required) — The base URL of your Jenkins server.

  ```ts
  'http://myjenkins.com:8080'
  ```

- `version`: string = '1' — The version of your provider.

## Properties

- `node`: [Node](/cdk/api/v2/docs/constructs.Node.html) — The tree node.

- `providerName`: string

- `serverUrl`: string

- `version`: string

## Methods

- `fromJenkinsProviderAttributes(scope: Construct, id: string, attrs: JenkinsProviderAttributes): IJenkinsProvider` (static) — Import a Jenkins provider registered either outside the CDK, or in a different CDK Stack.

  **Parameters**

  - `scope` — the parent Construct for the new provider.
  - `id` — the identifier of the new provider Construct.
  - `attrs` — the properties used to identify the existing provider.

  **Returns:** a new Construct representing a reference to an existing Jenkins provider

- `isConstruct(x: any): boolean` (static) — Checks if `x` is a construct.

  Use this method instead of `instanceof` to properly detect `Construct`
  instances, even when the construct library is symlinked.

  Explanation: in JavaScript, multiple copies of the `constructs` library on
  disk are seen as independent, completely different libraries. As a
  consequence, the class `Construct` in each copy of the `constructs` library
  is seen as a different class, and an instance of one class will not test as
  `instanceof` the other class. `npm install` will not create installations
  like this, but users may manually symlink construct libraries together or
  use a monorepo tool: in those cases, multiple copies of the `constructs`
  library can be accidentally installed, and `instanceof` will behave
  unpredictably. It is safest to avoid using `instanceof`, and using
  this type-testing method instead.

  **Parameters**

  - `x` — Any object.

  **Returns:** true if `x` is an object created from a class which extends `Construct`.

- `toString(): string` — Returns a string representation of this construct.

- `with(...mixins: IMixin[]): IConstruct` — Applies one or more mixins to this construct.

  Mixins are applied in order. The list of constructs is captured at the
  start of the call, so constructs added by a mixin will not be visited.
  Use multiple `with()` calls if subsequent mixins should apply to added
  constructs.

  **Parameters**

  - `mixins` — The mixins to apply.

  **Returns:** This construct for chaining
