Improve the configuration experience for Bitbucket repositories.

Review Request #8597 — Created Jan. 5, 2017 and submitted — Latest diff uploaded

Information

Review Board
release-2.5.x
797f36b...

Reviewers

The Bitbucket configuration experience confuses some users. Since
Bitbucket moved to a standardized Atlassian e-mail-based system for
logging in, people often try to use their e-mail addresses to link up
with the account. However, with Bitbucket, the API actually expects a
Bitbucket username, and providing an e-mail address ends up triggering
an unexpected HTTP error code, which we weren't handling.

On top of this, users who had two-factor authentication could not log
in with their standard password, which confused some users. This was
made worse by the fact that Bitbucket provides no reasonable error in
this case. Users need to use app-specific passwords, which wasn't
obvious, and is buried in a document somewhere on the Bitbucket support
portal.

We now provide a custom authentication form, which gives useful
instructions on authenticating, spelling out exactly what's needed for
both the username and password.

One additional improvement has to do with adding other users'
repositories. We previously only offered support for adding your linked
user's repository or a team repository. We now offer an option for
choosing another user. That takes care of some customer confusion we've
had in the past.

Tested the Other User option manually.

Tested with two-factor auth enabled and using both app passwords (which
work) and standard Bitbucket passwords (which do not, and fail gracefully
now).

Checked the help output for the different choices.

Unit tests pass.