Skip to content

Pipeline support for Last Build Node Column#102

Open
novinxy wants to merge 9 commits into
jenkinsci:masterfrom
novinxy:last-build-node-for-pipelines
Open

Pipeline support for Last Build Node Column#102
novinxy wants to merge 9 commits into
jenkinsci:masterfrom
novinxy:last-build-node-for-pipelines

Conversation

@novinxy
Copy link
Copy Markdown

@novinxy novinxy commented Apr 9, 2026

This PR introduces implementation of Last Build Node to the pipelines
It's based on the plugin pipeline-agent-build-history which adds HistoryAction which stores information about agents.

Usage of this plugin is optional, and if someone doesn't have it Last Build Node won't display information.

I also renamed Node/node/nodes to Agent/agent/agents in strings - see sig-ux#25

Here is example how it looks:

image image image

Testing done

I tested this change locally by connecting 2 nodes, then I created simple pipelines with following setup:

  • freestyle with built-in node
  • freestyle with agent
  • pipeline with built-in
  • pipeline with one agent
  • pipeline with two agents
  • agentless pipeline

For all those scenarios agents where displayed correctly. For freestyle jobs it looks the same as before change.

Submitter checklist

  • Make sure you are opening from a topic/feature/bugfix branch (right side) and not your main branch!
  • Ensure that the pull request title represents the desired changelog entry
  • Please describe what you did
  • Link to relevant issues in GitHub or Jira
  • Link to relevant pull requests, esp. upstream and downstream changes
  • Ensure you have provided tests that demonstrate the feature works or the issue is fixed

Copy link
Copy Markdown

@mawinter69 mawinter69 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

adding this here makes sense for me.
Some comment about the UI. I would always only show just 1 agent and add a small down chevron, when there are more agents that when clicked opens the full list. Like it is done in pipeline-agent-history, needs some javascript though

Comment thread src/main/java/jenkins/plugins/extracolumns/LastBuildNodeColumn.java Outdated
Comment thread src/main/resources/jenkins/plugins/extracolumns/LastBuildNodeColumn/column.jelly Outdated
Comment thread src/main/resources/jenkins/plugins/extracolumns/LastBuildNodeColumn/column.jelly Outdated
Comment thread src/main/resources/jenkins/plugins/extracolumns/LastBuildNodeColumn/column.jelly Outdated
Comment thread src/main/java/jenkins/plugins/extracolumns/LastBuildNodeColumn.java
@novinxy
Copy link
Copy Markdown
Author

novinxy commented Apr 12, 2026

adding this here makes sense for me. Some comment about the UI. I would always only show just 1 agent and add a small down chevron, when there are more agents that when clicked opens the full list. Like it is done in pipeline-agent-history, needs some javascript though

Sound great! I was wondering how to display that and that's great idea. Thanks

@novinxy
Copy link
Copy Markdown
Author

novinxy commented Apr 13, 2026

adding this here makes sense for me. Some comment about the UI. I would always only show just 1 agent and add a small down chevron, when there are more agents that when clicked opens the full list. Like it is done in pipeline-agent-history, needs some javascript though

I did it like you suggested and I think it doesn't loot too bad :)
Unfortunately I'm not frontend dev so I had little bit difficulties but at least there is lot of great code in pipeline-agent-build-history-plugin/ I could base it on

@novinxy novinxy changed the title Implement last build node for pipelines Pipeline support for Last Build Node Column Apr 13, 2026
@novinxy novinxy marked this pull request as ready for review April 13, 2026 22:28
@novinxy novinxy requested a review from a team as a code owner April 13, 2026 22:28
@novinxy
Copy link
Copy Markdown
Author

novinxy commented Apr 13, 2026

Hi @mawinter69 @fredg02
this PR should be ready for review. Could you take a look at it in spare time? Thanks

Copy link
Copy Markdown

@mawinter69 mawinter69 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See also jenkinsci/sig-ux#25 regarding the wording

From the screenshots it looks as if the button to open/close the agents is not properly aligned

Comment thread src/main/resources/jenkins/plugins/extracolumns/LastBuildNodeColumn/column.jelly Outdated
@novinxy
Copy link
Copy Markdown
Author

novinxy commented Apr 15, 2026

See also jenkinsci/sig-ux#25 regarding the wording

From the screenshots it looks as if the button to open/close the agents is not properly aligned

yes I completely agree that it's total mess regarding naming it. Should I change it to agent in all occurences in this plugin ?

Comment thread src/main/java/jenkins/plugins/extracolumns/LastBuildNodeColumn.java Outdated
@novinxy novinxy force-pushed the last-build-node-for-pipelines branch from 2097ec9 to 726759b Compare April 15, 2026 20:11
@novinxy novinxy requested a review from mawinter69 April 15, 2026 20:34
@novinxy
Copy link
Copy Markdown
Author

novinxy commented Apr 16, 2026

I found out that there is issue for this functionality in built-on-column-plugin#69 which was reported in 2016.
It won't close that issue but at least users will have good alternative.

Maybe this column should be recommended for users ? Or built-on should be deprecated ? 🤔

@novinxy
Copy link
Copy Markdown
Author

novinxy commented Apr 16, 2026

Hi @fredg02 could you review this for me ?
@mawinter69 already gave his input and I fixed problematic parts. I also rebased it on his recent changes, so it should be ready for further review :)

@novinxy
Copy link
Copy Markdown
Author

novinxy commented Apr 29, 2026

@mawinter69 is there some process to deprecate plugin ?

I checked and there are 2 plugins which implement this exact column and without support for pipelines:
https://plugins.jenkins.io/built-on-column/
https://plugins.jenkins.io/nodenamecolumn/

I think both of them are not as maintained as this plugin.

@mawinter69
Copy link
Copy Markdown

https://plugins.jenkins.io/nodenamecolumn/ is another implementation of SlaveOrLabelColumn so this is different
You can mark plugins as deprecated, but that will not stop them from being available for installation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants