Perforce password (P4PASSWD) invalid or unset on JIRA Fisheye plugin

Still need help?

The Atlassian Community is here for you.

Ask the community

Symptoms

When setting Perforce Jobs integration with the JIRA Fisheye plugin, an error comes to the  Perforce Job Integration menu.

The following appears in the atlassian-jira.log:

2013-11-07 10:45:30,649 http-bio-8080-exec-3 ERROR username 645x18395x1 anw7p 127.0.0.1 /secure/admin/EditPerforceConfig.jspa [web.admin.perforce.EditPerforceConfiguration] There was a problem connecting to your Perforce server
com.perforce.api.CommitException
	at com.perforce.api.Job.commit(Job.java:365)
	at com.atlassian.jirafisheyeplugin.perforce.PerforceManagerImpl.testConnection(PerforceManagerImpl.java:312)
	at com.atlassian.jirafisheyeplugin.web.admin.perforce.EditPerforceConfiguration.doExecute(EditPerforceConfiguration.java:107)
	at webwork.action.ActionSupport.execute(ActionSupport.java:165)
	at com.atlassian.jira.action.JiraActionSupport.execute(JiraActionSupport.java:87)  <+7> (DefaultInterceptorChain.java:39) 
...
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: error: Perforce password (P4PASSWD) invalid or unset.
	at com.perforce.api.P4Process.closeProcess(P4Process.java:587)
	at com.perforce.api.Job.commit(Job.java:361)
	... 174 more

Cause

The JIRA Fisheye Plugin uses either the P4PASSWD variable or the -P command line option to pass the password to p4.exe. When an external authentication trigger is used in Perforce (such as CROWD), passwords can not be passed on the command line as plain text or stored in P4PASSWD, so the JIRA Fisheye Plugin cannot log in.

Workaround

The only way around this is by generating a ticket (using the -p option as explained here: p4 login) and using it in place of the password in the JIRA Fisheye Plugin.

Example of creating a ticket:

$ ./p4 -p 127.0.0.1:1666 -u admin login -a
Enter password: 
User admin logged in.
$ ./p4 -p 127.0.0.1:1666 tickets
127.0.0.1:1666 (admin) C6ECBBDF9439F5F76B91BD24191086F1

 The P4USER is admin and P4PASSWD C6ECBBDF9439F5F76B91BD24191086F1

Last modified on Mar 30, 2016

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.