What shall be the main building block for such a plugin

29 views
Skip to first unread message

Tamás Mucs

unread,
Mar 16, 2023, 12:59:20 PM3/16/23
to Jenkins Developers
Dear Community,

I have been struggling hard with implementing a new plugin. While some of the core concepts are more or less clear to me (ExtensionPoint, @Extension  annotation, Descriptor, Describable and jenkins.model package), I could not get my project get started. I spent so much time already.
I know of the Jenkins developer, o'reilly book of extending jenkins and some youtube videos from the masters Plugin development and its second part.

So what's the goal?
  • This plugin adds a button to each build (Run class?) to mark it "as release build"
  • When the user presses this button, some basic data is written to the build.xml of the corresponding build (for example, isReleaseBuild -> true). Even better. this could not just be a plain button on the build but rahter an Action on the sidebar which brings to a page (jelly view?) that has a form and the user can enter specific data about the deployment. Say, a general description (String), url etc.
  • When a build is marked as release build, it keeps the build forever (as if the user pressed "keep this build forever" button.
  • If a build is marked as release build there's a small badge next to the build (like in badge plugin)
  • On Job level there's a section (Action) that lists all builds that are marked as release, with hyperlinks to the build itself.
  • Optionally (nice to have) there's a button on the Dashboard level that lists all deployments grouped by Jobs.
  • Nice to have: Pipeline (workflow) method that marks the build as release build right at build time.
Reference plugins, learn materials are also appreciated. I am also up for a pair programming session. I also published my plguin to github here though it is quite empty now. Pull requests are appreciated if it is easier done than explained though don't get me wrong, it is not like I want someone to the work.
I'd really like to gain knowledge so that I can later on contribute to the ecosystem of JenkinsCI plugins.

Tamas

Ullrich Hafner

unread,
Mar 18, 2023, 6:38:43 PM3/18/23
to JenkinsCI Developers
Your use case sounds familiar, isn’t it already supported by the https://plugins.jenkins.io/promoted-builds/?

Ulli

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/d9ae5142-be88-435c-a006-719e1fa30a37n%40googlegroups.com.

Tamás Mucs

unread,
Mar 20, 2023, 4:10:13 AM3/20/23
to Jenkins Developers
Seems like the one I'm looking for (more or less). Good you spotted, there really is a plugin for everything. 😁
Will try to contribute if there's something missing.

Tamas
Reply all
Reply to author
Forward
0 new messages