Jenkins UI/UX Hackfest

UI/UX Online Hackfest is an online event, it will take place on May 25-29. The goal to improve the Jenkins user experience, including but not limited to user interface and documentation. We also invite participants to share experiences about Jenkins and to participate in UX testing. The event will have the Jenkins is the Way theme. The most active contributors will get special edition swag and other prizes, see below!

Jenkins Is The Way

What is Hackfest?

This hackfest is NOT a hackathon. We do not expect participants to dedicate all their time during the event timeframe. Instead of that, we organize it as a hop-in/hop-off event where everybody can spend as much time as they are willing to dedicate. Spending a few days or a few hours is fine, any contributions matter regardless of their size. Jenkins experience is not required, we have newcomer-friendly stories. See the Contribute and Participate page for more information about how to contribute.

During this hackfest, we will organize online meetups and ad-hoc training sessions in different timezones. There are no mandatory events you must attend remotely, all sessions will be recorded and published on our YouTube channel. At the end of the event we will be inviting participants to join our demo sessions or to record and upload these demos to share asynchronously.

Register

Getting started

  1. Register to the event if you have not done it already.

  2. Join our Gitter channel. We will use it for Q&A and discussions during the event.

  3. Join the kick-off meeting (May 25, 1PM UTC) or watch the first 20 minutes of the recording. If you want to start early, we will also have a small opening session at 8AM UTC.

  4. You are all set, start contributing!

How to choose a project?

Check out the list of ideas below. Try to find a project or an area interesting to you. If you do not have a strong preference, we recommend finding something that could improve your own experience and address the UX issues you hit with Jenkins personally. If you do not use Jenkins personally but want to explore it, consider working on newcomer-friendly issues or documentation for newcomer users: getting started guides, tutorials, etc.

How to report contributions?

We deployed a special GitHub repository which will be used to collect contributions and to generate reports from the event. Please report your code and non-code contributions as GitHub issues, there are issues templates for common types of contributions. You can find full guidelines here.

How to communicate during the event?

Here are the following communication channels at your disposal:

Tracks and Project ideas

There will be 3 main tracks:

  • User Interface - Improve look&feel and accessibility for Jenkins users, work on new read-only interface for instances managed with configuration as code, create and update Jenkins themes, etc. All stories can benefit from UX testing and documentation!

  • User Documentation - Improve and create new user documentation, tutorials and solution pages. Also, there is ongoing documentation migration from Jenkins Wiki to jenkins.io and plugin repositories.

  • Spread the word - Write user stories for Jenkins Is The Way site and the Jenkins blog, post about your Jenkins user experience and new features, record overview and HOWTO videos, etc.

Below you can find some project ideas we have prepared for this event. Everyone is welcome to suggest your own ideas in this Google Doc.

User Interface

This track focuses on projects related to the Jenkins web interface. It includes not only the UI improvements and bug fixes, but also the related user documentation and UX testing. This track is coordinated by the Jenkins User Experience special interest group.

Project idea and Keywords Description and links

Look & Feel updates (project page)

We want to modernize the Jenkins Web interface styling and appearance. It includes updating and restyling the commonly used layouts like main page, job pages, build console outputs, etc.

Web UI Accessibility (project page)

We would like to make Jenkins usable by as many people as possible. It includes multiple groups of users: people with disabilities, ones using mobile devices, or those with slow network connections. In general, all Jenkins users would benefit from better navigation and layouts.

JEP-224: System Read permission

A read-only view of Jenkins configurations, jobs and agents is important to Jenkins Configuration-as-Code users. Soon we will release a new feature which extends support for read-only views (announcement draft). It is a great time to do crowd testing and to improve support for the feature in plugins.

  • Try out the new feature for plugins, report the testing results, discovered issues and limitations.

  • Add support for read-only mode to plugins (guidelines).

  • Some stories: JENKINS-12548 EPIC and a GitHub project with more issues for grabs.

UI Themes

Jenkins UI themes are widely used in Jenkins instances, and they contribute to better user experience. We invite users to improve the existing themes and to create new ones. UI Themes Documentation.

  • Create a new Dark theme for Jenkins (JENKINS-61480)

  • Blue Ocean Theme - apply Blue Ocean styling to the Jenkins UI

  • Improve existing themes and adapt them to recent Jenkins versions (e.g. Neo2 theme)

  • Document managing themes in the Simple Theme Plugin documentation. We will have a demo for it on Wednesday.

  • Create a new microsite on github.io or jenkins.io with themes listing (aka "theme marketplace").

Pipeline Visualization and embedded docs

We would like to improve the built-in Pipeline visualization in Jenkins. This is an advanced topic requiring some expertise in Jenkins development. Some ideas raised by contributors:

  • Embeddable Pipeline Browser (maybe based on the Blue Ocean code)

  • Add support for providing Pipeline examples within Jenkins

  • JENKINS-56377: Improve performance of large Pipeline console outputs

Credentials Management UX

Credentials Plugin User interface is often reported as overly complicated. It would be great to improve it and make it easier to use.

  • Improve navigation within the credentials management panels

  • Add "Calls for action" for common operations so that users could easily access common actions

  • Remove the Manage credentials button from the main page, move it to Manage Jenkins

Developer tools for Jenkins Web UI

Development tools could help developers to create better user interfaces in Jenkins. There are some areas that could be addressed:

User Documentation

We have several projects which are specifically related to user documentation. It includes user and administrator guides, and also tutorials and installation guidelines which are referenced from this page. This track is coordinated by the Documentation special interest group.

Project idea and Keywords Description and links

Improve User and Administrator Documentation (project page)

Let’s improve the documentation for Jenkins end users and administrators. Located on the Jenkins website, it follows the Documentation-as-Code approach. We would like to extend this documentation and to also make it more accessible and discoverable.

  • Review and renew the user documentation.

  • Help to migrate docs from Jenkins Wiki to jenkins.io (open issues).

  • Improve navigation: better menus and ToC, search support, etc.

  • Improve documentation look&feel: CSS styles, rendering, etc.

  • Test and improve documentation browsing on mobile devices

Installation guidelines

If you are interested to do UX testing, Jenkins installation guidelines could be a great subject for you. Some guidelines were created long ago, and they could benefit from a refresh.

  • Test installation guidelines and tutorials, submit patches and discovered issues.

  • Renew the Windows installation guide for Jenkins weekly releases that use the new Windows installer. See this blogpost for an overview of the new Windows Installer.

  • Advanced: Rewrite the Docker installation guide to use the jenkins/jenkins image instead of the Blue Ocean images.

Document Jenkins use-cases (project page)

Help us to improve documentation for real-world Jenkins use-cases!

  • Review and refresh the existing solution pages: add links to plugins and articles, extend the overview sections, improve the rendering. See WEBSITE-742 for the issue links.

  • Advanced: Create new solution pages for various use-cases (e.g. Documentation as code, Continuous Deployment, Static Analysis) or technologies (Git, Gitlab, Kubernetes, etc.).

  • Advanced: Create new Tutorials, e.g. how to use a Jenkins feature or how to implement a common automation use-case with Jenkins

Improve Plugin Documentation

We are moving plugin documentation from Jenkins Wiki to Documentation as Code so that it is stored directly in plugin repositories. There are hundreds of plugins that need to be migrated. We invite contributors to help with migrating plugin pages and improving existing ones. More info.

  • Migrate plugin documentation as documented in these guidelines). List of plugins for grabs can be found in the Jenkins Wiki Exporter.

  • Review and renew the existing plugin documentation, e.g. cleanup the agent terminology usage as suggested in the JENKINS-42816 EPIC

  • Work on other documentation issues reported to plugins and other components:

Spread the Word

Contributing to a project is not just about submitting code. We invite you to help us to contribute by sharing experiences and creating new content about Jenkins. Such information is essential to Jenkins users when they search for solutions. Below you can find some ideas about how you could contribute:

  • Write user stories for Jenkins Is The Way site!

  • Write case studies and feature overviews for the Jenkins blog and other resources.

  • Tweet/post about your Jenkins user experience and new features, use the #jenkinsIsTheWay hashtag.

  • Record videos and publish them on YouTube or other services, use the #jenkinsIsTheWay label there.

  • Create new demos for Jenkins features.

  • Present UX-related stories at our online meetups.

This track is coordinated by the Jenkins Advocacy & Outreach special interest group.

Online events

We will organize multiple online sessions during the hackfest to share experiences and do knowledge transfers. All these sessions will be recorded and published on our YouTube channel. There are no mandatory events you must attend remotely, you are welcome to join the events you are interested in.

  • May 25, 08:00-09:00 AM UTC - Small Early Bird opening session (slides, recording)

  • May 25, 01:00-02:30 PM UTC - Hackfest kick-off (RSVP here)

  • May 25, 03:00-04:00 PM UTC - Beautify the UI of Jenkins reporter plugins by Ullrich Hafner (RSVP here)

  • May 25, 04:00-04:30 PM UTC - Jenkins is The Way program overview by Alyssa Tong (RSVP here)

  • May 26, 10:00-10:45 AM UTC - Migrating plugins to Documentation-as-Code by Oleg Nenashev (RSVP here)

  • May 26, 13:00-14:00 PM UTC - System Read Permission: Demo and contributing by Tim Jacomb (RSVP here)

  • May 26, 15:00-16:00 PM UTC - Migrating documentation to jenkins.io by Mark Waite (RSVP here)

  • May 27, 04:00-05:00 PM UTC - UX SIG meeting: mid-term hackfest updates and demos (meeting links)

  • TBA - Using and developing Jenkins themes by Oleg Nenashev (TBA)

  • TBA - Closing session (TBA)

Stay tuned, there will be more events announced soon! Major events will be hosted as Jenkins Online Meetups.

Swag and Prizes

Thanks to our sponsors (CloudBees, Inc. and Continuous Delivery Foundation), we are happy to offer swag to active contributors!

  • 50 most-active contributors will get an exclusive "Jenkins Is The Way" T-shirt and stickers

  • Active contributors will get Jenkins stickers and socks

  • We are working on special prizes for top contributors, to be announced later

Jenkins Is The Way T-shirt Jenkins Socks Jenkins Stickers

Frequently Asked Questions

See here.

Code of Conduct

We want to make this event a great experience for everyone, please be nice to all participants! All event participants must follow this the Jenkins Code of Conduct, Unacceptable behavior will make trespassers ineligible to get swag and prizes, and it may lead to other actions defined in the Code of Conduct.

Acknowledgements

We thank all contributors who participate in this event as committers! We especially thank all reviewers, organizers and those who participated in the initial program reviews and provided invaluable feedback. In particular, we thank User Experience, Documentation and Advocacy and Outreach SIG members who heavily contributed to this event.

We also thank sponsors of the event who make the swag and prizes possible: CloudBees, Inc. and Continuous Delivery Foundation (CDF). In addition to swag, CloudBees donates working time for event hosts and reviewers. CDF also sponsors our online meetup platform which we will be using for the event.

cloudbees cdf.