CodeConverter

5 of 5 free conversions left. Sign in for unlimited use.

Choose the folder that contains the Jenkinsfile (or the Jenkinsfile itself). node_modules, target, build, venv and .git are skipped automatically so the upload stays small.

Git repositories are cloned shallowly; GitHub and GitLab /blob/ links work for single files. The token is only used for this request and is never stored.

Reads the folder directly from the disk of the machine running this tool. Available when you run it locally (or the server enables it); otherwise upload the folder.

About the Jenkins to GitLab CI Converter

The Jenkins to GitLab CI Converter reads a Jenkinsfile and writes the matching .gitlab-ci.yml. Stages, parallel groups and nested stages become GitLab stages and jobs, agents become image and tags, environment and parameters become variables, when conditions become rules, and sh steps, artifacts, JUnit reports, timeouts and post actions are carried over. The Jenkinsfile can be uploaded, read from a git repository, zip or file URL, or from a folder on your machine. Plugin steps and Groovy logic are reported, not guessed.

How to use the Jenkins to GitLab CI Converter

  1. Choose where the Jenkinsfile lives: upload the project folder, paste a git repository, zip or file URL, or enter a folder path when you run the tool locally.
  2. Press Convert to preview the generated .gitlab-ci.yml, the list of CI/CD variables to create and everything that needs a manual decision.
  3. Download the zip or write the files to an empty folder, commit .gitlab-ci.yml and validate it with GitLab's CI Lint before relying on it.

Frequently asked questions

Which Jenkinsfile syntax is supported?

Declarative pipelines are converted stage by stage. Scripted pipelines (node and stage blocks) are converted on a best-effort basis: the stage steps are translated and surrounding Groovy logic is left as TODO comments. Shared libraries loaded with @Library are reported because GitLab has no equivalent.

Can it read from a repository URL or a local folder?

Yes. Besides uploading a folder it accepts a GitHub or GitLab repository URL (optionally with a branch and a sub-folder and an access token for private repositories), a link to a .zip archive or to the Jenkinsfile itself, and a folder path on the machine running the tool. URLs that point to private network addresses are refused on the public site.

What cannot be converted automatically?

Plugin steps such as slackSend, input or build, Groovy control flow, cron triggers and credentials. Cron expressions are converted for you to create a pipeline schedule, credentials are listed as CI/CD variables to define, and every other case becomes a TODO comment in the job plus an entry in the report.

Will the generated pipeline run without changes?

Often close, but treat it as a head start. You still need a runner with the right tags, an image that has your build tools, and the CI/CD variables from the report. Check the result in GitLab's CI Lint or the pipeline editor.

Are my files stored when I use the Jenkins to GitLab CI Converter?

The text you submit is processed in memory to produce the result and is not saved. Like any web server, Code Converter logs basic visit data (page, IP address and browser) but never the content you paste.