Blog: May 2018

Most of these posts were originally posted somewhere else and link to the originals. While this blog is not set up for comments, the original locations generally are, and I welcome comments there. Sorry for the inconvenience.

How do I configure Jenkins to strip the leading "origin/" in a git branch parameter?

I asked the following question on Stack Overflow:

I'm using Jenkins with a branch parameter to specify the branch to build from. Other stuff downstream needs the branch name to not have the leading "origin/" -- just "feature/blahblah" or "bugfix/12345" or similar. The advanced settings for the parameter let me specify a branch filter via regex, but I'm a regex newbie and the solutions I've found in searching are language-dependent. The Jenkins documentation for this is sparse.

When a user clicks on "build with parameters", for the branch I want to see branch names that omit the leading "origin/". I'm not sure how to write a regex for Jenkins that will "consume" that part of the branch name before setting the parameter value.

I solved this problem once before, I'm pretty sure using Stack Overflow, but I can't find those hints now.

I got an answer that uses a Groovy script, which depends on adding a plugin. I decided to wait a few days before exploring adding plugins to our server.

In the meantime I figured it out and added this answer:

For the git branch parameter, set Branch Filter to:

origin/(.*)

I found the parentheses to be counter-intuitive, because if you don't specify a filter you get:

.*

(No parens.) If you are filtering stuff out, you use parens to indicate the part to keep.

I have a lot to learn about regex patterns, it appears.

If someone has to die, why not choose the one subject to the death penalty?

There is a passage in the Jerusalem talmud (Yerushalmi Terumah 8:4) that says: if pirates board a boat and say "give us one of you to kill and we'll let the rest go", and one of the group happens to be subject to the death penalty already anyway, you still can't turn him over to save everybody else. A question on Mi Yodeya asks: why not? He's dead anyway, so why can't you save the group through him?

I answered: Read moreā€¦