Project goal: To automate screenshot capture process for Jenkins docs
Skills to study/improve: Web Browser Automation, Image Comparison
Browser automation is a known thing and is an interesting idea to explore for the Jenkins project
Basic idea is to convert the steps from a human-readable format to a set of computer operations
This idea is relatively light-weight and is expected to require no more than a few months' time to complete
Could be in almost any language, it is a separate dev tool
May be extended to render a series of screenshots assembled as gif or mp4
How would we define the steps needed?
A YAML format to describe the steps
Capybara in Ruby expresses UI automation in English phrasing
How to reduce images to the relevant portion could also be considered
Focusing on an element is a known Javascript technique
Reducing image size is a more complicated procedure, but feasible
Any relevant issue to acquire the GSoC contributor with the way documentation is handled in the Jenkins ecosystem, especially the ones in the jenkins.io repo.
Selenium (for web browser automation)
Capybara (for web browser automation)
Puppeteer (for webdriver web browser automation)
Cypress (for webdriver web browser automation)
Zika (for image comparison)
New tool to maintain documentation screenshots
Documentation screenshots will be updated automatically based on steps defined as code. The steps will be a small domain-specific language that describe common Jenkins UI operations in a way that documentation writers understand.