Bitbucket (with JIRA integration)
Bitbucket works as Atlassian's platform for Git (and Mercurial1) repositories. It allows "Projects" that can contain multiple code repositories. Each code repository works as a Git repo and can be managed with Git at the command line and GUI-based Git applications (for how-to Git, browse online documentation like https://git-scm.com/book/en/v1/Getting-Started).
Connecting Bitbucket to JIRA:
Bitbucket has its own simple issue tracker, but integrating it with a JIRA project offers much more structure and configuration. In order to connect a Bitbucket repository to JIRA, open that repository's settings (gear icon) and navigate to Links. Select "Add a new link" and "Atlassian JIRA." Enter the URL of the JIRA instance (in this case, itsyale.atlassian.net) and the key for the JIRA project with which you wish to link (the short code, e.g. TEST, that is the identifier for that project). This should complete configuration from the Bitbucket side of things.
Connecting JIRA to Bitbucket:
To get more out of the integration between Bitbucket and JIRA, connect the JIRA instance to Bitbucket (not the same as connecting Bitbucket to the JIRA instance). This will require JIRA admin privileges.
Open JIRA Administration → Applications (from the gear icon in the top-right corner of the screen). Select "DVCS accounts" from under the "Integrations" header in the leftmost column. Click the button labeled "Link Bitbucket Cloud account." JIRA will request access to Bitbucket. Grant that access. Once this is done, it is possible to add repositories from Bitbucket Cloud. Settings for "smart commits" and automatic sync of all issues (unclear whether this maps Bitbucket → JIRA or JIRA → Bitbucket or how it manages potential merge conflicts; use at your own risk).
Once finished:
In JIRA, it will be possible to create Bitbucket branches directly from issues. Issues connected to Bitbucket repositories/branches will display the number of branches, commits, and pull requests (with their statuses) in a column on the right-hand side of the issue under the "Development" header. From this display, it is possible to view details on branches, commits, and pull requests by clicking the relevant field.
1 This guide will assume that Git, not Mercurial is used. Steps may be somewhat different if using Mercurial for version control.