Extracting part of a string on jenkins pipeline
In this case, it looks like using a few Groovy/Java methods on the String
can extract the parts.
final beforeColon = url.substring(0, url.indexOf(':')) // git@github.comfinal afterLastSlash = url.substring(url.lastIndexOf('/') + 1, url.length()) // project/access-server-pd.git
This uses a few different methods:
public int String.indexOf(String str, int fromIndex)
public String String.substring(int beginIndex, int endIndex)
public int String.length()
public int String.lastIndexOf(String str)
You do need to be careful about the code you use in your pipeline. If it is sandboxed it will run in a protected domain where every invocation is security checked. For example, the whitelist in the Script Security Plugin whitelists all of the calls used above (for example, method java.lang.String lastIndexOf java.lang.String
).
Performing String
manipulation in your pipeline code is perfectly reasonable as you might make decisions and change your orchestration based on it.