Skip to content

Guoyin-Wen/jenkins-control-plugin

 
 

Repository files navigation

Jenkins Plugin 0.13.21 for Jetbrains products

Build Status Plugin Compatibility

SonarCloud Analysis Quality Gate Status Vulnerabilities Qodana

Gitter

GitHub Release Date Version Downloads JetBrains IntelliJ Plugins GitHub

Current Release

Use EAP Builds

Description

This plugin allows to view the content of your Jenkins Continuous Integration Server.

Browser

Features

  • Multibranch support

Multibranch Support

  • Views from Jenkins server

Browser-Views.png

  • Favorites

Browser-favoriteView.png

  • Different Jenkins hostname as server url. Can be used if your server is behind a proxy or usage of VPN. Configuration-Hostname_Server.png 0 Configuration-Hostname.png

Plugin Compatibility

This plugin was built with JDK 11 but Java 8 Source level for older IDEA versions. Jenkins CIs of jenkins-ci and apache.org are used for manual and stress testing. https://ci.jenkins.io/

Installation steps

Download this plugin from your IDE or from the plugin website.

Configuration steps

  • Click on the Jenkins Settings button located on the upper toolbar (or you can also open IntelliJ Settings Screen and select the Jenkins Plugin section)
  • The configuration is plitted into two areas. The first change the setting for the behaviour and a submenu for server settins
  • Enter your Jenkins Server URL (e.g: https://ci.jenkins.io/) in Servers.
  • If Security is enabled on the server, you have to provide credentials. Enter your username and the API Token. The API Token will be stored in Intellij Password Manager. It could ask you a Master password.
    • Since Jenkins 2.176 it is recommended to use an API token to authenticate the plugin:
      1. Go to user setting: _jenkins_url_/user/_username_/configure
      2. Add New API Token (recommended new one specifically for Jenkins Plugin)
      3. Use this newly added API Token
  • To make sure that all parameters are correct, you can click on the Test Connection button. A feedback message will appear. Configuration-Settings.png

Connection succeeded

  • If the server response is 401 or 403, a debug panel will appear below :

Connection failed

  • You can specify a build start delay (in sec.).
  • You can set an auto refresh Period value (in minutes) for both Job Browser and Rss Reader.
  • You can filter the RSS data based on the status of the build
  • When your configuration is set up, click on the Apply Button to save it.

Notifications

This plugin uses the IDEA Notification System. Default is Tool Window Balloon (as in previous versions). If the message is too large for screen it is not shown. It can be configured from Event log window: Configure Notification from Event Log window

It is also possible to configure it (Settings -> Appearance -> Notifications -> Jenkins Notifications) to show only balloon or only log Configure Notification from Settings Dialog

Usage

  • To view the jobs You have to refresh the Jenkins Workspace by right-clicking on the Server icon node
  • You can select some view by selecting of them in the combo box.
  • When you right click on a job some options are available such as Launch a Build, View The Job's Page and View the Last Build Results.
  • You can sort builds by status (Fail, Unstable, Disabled/Cancelled and Success)

Build sorting

  • To search specific Job, just start typing in the Browser and use UP and DOWN keys to navigate.

  • You can set some jobs as favorite.

Set Job as favorite

  • A new View will appear in the combobox that will include your selected jobs.

Favorite view

RSS Reader

The RSS reader has moved to the Event Log. If you need to refresh manually, click on the Rss icon button.

Rss view

Widget

  • A small widget is available on the status bar. It indicates the overall status of the selected view. When there is no broken build then the icon color is blue (else, a red icon is displayed with the remaining broken builds. If the job auto-refresh is enabled then the widget updates itself.

Widget

Patch Parameter Plugin Support (Pre-tested commit) by Yuri Novitsky

  1. Install Patch Parameter Plugin in Jenkins setup1
  2. Setup Jenkin's job for patch support setup2
  3. Before each new build we need to rollback the patch changes with "revert" operation setup3
  • Setup from the IDE
  1. Updating the list of jobs i recommend to install in 1 minute for quick notifications of the results of the build notification
  2. That's all. Now you can run builds with local changes directly from the IDE Create Upload
  3. Build status is displayed near the name of the changelist status

How to build

This project is built with Gradle. Just run ./gradlew buildPlugin.

Update Gradle version

gradle wrapper --gradle-version 6.8.1 --distribution-type bin

Open the plugin source in Intellij

Import the plugin as Gradle project into IntelliJ.

Run Intellij from IntelliJ

Create a Gradle Run configuration with task runIdea and just run it.

Limitations

  • This software is written under Apache License 2.0.
  • if Jenkins is behind an HTTPS web server, set a trusted certificate or add an exception in IDEA to trust the certificate.

Use Jenkins Icons

We use some of the icons from Jenkins project . Download the files to src/main/resources/images, remove weather-icon- prefix and change the defined color variables to the Jetbrains Guideline values.

var(--yellow) --> #EDA200 
var(--cyan) --> #389FD6
var(--text-color-secondary) --> #6E6E6E
fill="transparent" --> fill="none"

Also change the size to 16px x 16px. Create icon for dark UI with different colors.

Thanks

I would like to thank:

  • All Github contributors who fixed the plugin for Jenkins 2
  • David Boissier for develop and maintain the plugin in the last years
    • His wife and his daughters who support him to have fun in software development and also remind him the husband/father duty ;).
  • Cezary Butler and Marcin Seroka from Programisci for their contribution to fix and improve this plugin for Idea 14 and 15
  • Yuri Novitsky for his contribution to this plugin (pre-commit feature)
  • Kohsuke Kawaguchi for providing us such a great CI server
  • Jetbrains Team for providing us such an incredible IDE (certainly the best that Java developers could have).
  • All users who sent valuable suggestions
  • Mark James author of the famfamfam web site who provides beautiful icons.
  • Guys from Lex Group : Boris Gonnot, Regis Medina, Sébastien Crego, Olivier Catteau, Jean Baptiste Potonnier and others Agile ninjas.
  • Icon is from Jenkins Artwork

Packages

No packages published

Languages

  • Java 99.9%
  • HTML 0.1%