# Jenkins

## Overview

The primary use case of Jenkins is CI/CD, and with this integration we support users who are using Jenkins as the primary automation system. It could also be extended to Ops automation for already authored Jenkins jobs.

## Use Cases

The integration between Fylamynt and Jenkins lets you:

* See the list of available jobs and pick a specific job to run. (Schedule an existing Jenkins job)
* Be able to specify any input parameters needed for the job to run.

## Configure Jenkins in Fylamynt

* Navigate to **Settings** > **Integrations** > **Jenkins**.
* Configure a new integration instance.

Details needed to set up **Jenkins instance** in **Fylamynt**:

| **Parameter**      | Description                                |
| ------------------ | ------------------------------------------ |
| API Token          | The API Token from authorized user         |
| Jenkins Server URL | The Jenkins server (url:port)              |
| Jenkins Username   | Jenkins Username associated with the token |

Follow the steps listed below in your **Jenkins Account** and get the desired parameters to enter in **Fylamynt**.

* Find your Jenkins web url and port if needed, add it to the Server Url field of the 'Authorize Fylamynt' form.
* Login to your Jenkins Server.
* Go to People on the left menu.
* Select the user you want to integrate with Fylamynt and copy Jenkins User ID to the Username field.
* Select Configure from the left menu, navigate to API Token, generate a new token, and paste the value in the API Token field.
* Click Authorize button

`Note: Jenkins integration might not work when behind a proxy.`

## Integration Actions

You can add these actions in the Fylamynt workflow builder, as part of your workflow.

1. [Jenkins Build](#jenkins-build)

### Jenkins Build

You can start a Jenkins job from the workflow builder like follows:

1. Drop a Jenkins snippet.
2. Select Jenkins job was previously created in your Jenkins server.
3. Add the required parameters if any.
4. Execute the workflow to start the selected job.

**Action Example**

* Drag and drop the Jenkins Build Action node onto the canvas
* Select the Jenkins Build Action node
* Select the Jenkins **Job name** from the dropdown
* Enter the JSON input **parameter**

![](https://2168485084-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MXYvxfYq9m2JdKqaCdk%2Fuploads%2FDgilkw1i5H7acjaEW6hK%2Fimage.png?alt=media\&token=8da40843-e685-4be7-85a6-bc8f755de1aa)
