Git username / password credentials binding has released

The Google Summer of Code git credentials binding project has released the username / password credentials binding as part of git plugin 4.8.0. A future release expects to add support for ssh private key credentials binding. Special thanks to Harshit Chopra for the implementation and to Justin Harringa, Rishabh Budhouliya, and Mark Waite as mentors.

Using Git Credentials Binding

Git credentials binding can be used with Pipeline jobs using the withCredentials step. Git credentials binding can also be used with Freestyle projects. Refer to the online documentation for Pipeline examples and Freestyle instructions.

2 Likes

don’t we normally use a lowercase first character for bindings? e.g. lowercase usernamePassword, rather than GitUsernamePassword

That’s a very good point. I hadn’t thought of the capitalization of the symbol while reviewing.

We probably should add an alias so that gitUsernamePassword is the same as GitUsernamePassword. Don’t want to break users that adopt the current name, GitUsernamePassword, but prefer the more consistent gitUsernamePassword symbol so that it matches other symbols.

1 Like

Fix of JENKINS-66214 has been merged in preparation for the release of git plugin 4.8.1. Incremental builds are available for those who want to test it. See the git plugin Jenkins master branch artifacts.

Git plugin 4.8.1 has released. It prefers gitUsernamePassword as the symbol and also accepts GitUsernamePassword as an alias.

2 posts were split to a new topic: How to emulate withCredentials outside of jenkins

Hello, you should consider escaping characters in the ECHO commands of the askpass script.
Took me a while to figure out why it was not working for me.

not tested:

.replace("%", "%%")
.replace("^", "^^")
.replace("&", "^&")
.replace("<", "^<")
.replace(">", "^>")
.replace("|", "^|")
.replace("'", "^'")
.replace("`", "^`")
.replace(",", "^,")
.replace(";", "^;")
.replace("=", "^=")
.replace("(", "^(")
.replace(")", "^)")
.replace("!", "^!")
.replace("\"", "^\"")

(took the list from here: https://i.stack.imgur.com/NfH6K.png)

You should file a feature request/bug for this so it doesn’t get lost. Forums are not great for Todo lists

The issue is logged as JENKINS-47514 - Special characters in password are not escaped properly in git plugin’s withCredentials

thanks, added a comment there for windows (echo) escaping as well