Links
🛠️

Connect your Git platform

Discover how Drivers can easily identify coding practices and discussion topics for the next practices review, based on the latest changes on the Git repository.

Focus on the latest changes to feed the practices review

During a practices review workshop, you discuss your team's contributions made through IDE or Code review extensions. However, if you're a Driver in Packmind, you can connect Packmind to your Git hosting platform to:
  1. 1.
    Let Packmind suggest you recently updated chunks of code.
  2. 2.
    Identify coding practices and discussion topics.
Thanks to this dedicated interface, you can quickly raise relevant material for the next practices review workshop.
With this feature, we estimate that 15 min. will be enough to generate 10 to 15 contributions for a workshop.

Connect your Git Platform Provider

You must be a Driver or an Administrator in your current space to access this page and update the configuration.
To enable this feature, click on your username/avatar in the top right corner and go to Administration -> Git Configuration. Select the space of your choice and select your Git Provider among the available ones (Gitlab, GitHub, Azure DevOps, or BitBucket).
Packmind | Administration > Git Configuration
Packmind | Administration > Git Configuration
Check below to configure the authentication with your selected Git provider.
This configuration is only for the selected space; however, you can use the same token as many times as you want. You may want to avoid this for providers like GitHub where the rate limit is set relative to the authenticated user.
GitLab
GitHub
Bitbucket
Azure DevOps
Hostname
For this field, you must type your GitLab instance's hostname (usually a domain name). For example, gitlab.example.com or even an IP address such as 123.456.0.5:5555. By default, gitlab.com will be used for the requests.
Authentication token
The authentication token can be generated on GitLab as an Access Token, available for the following entities:
  • Repositories (only allows a single repository)
  • Projects (allows every repository in the project)
  • Groups / Subgroups (allows every repository in the group / subgroup)
  • Account (allows every repository on the account)
You can find the full list of tokens and how to create one here.
The minimum role required for the access token is Reporter (second lowest role), allowing access to the content of commits (to be displayed on Packmind).
Likewise, the read_api scope is required, as the read_repository scope does not allow for project discovery (to link repositories).
GitLab | Project > Settings > Access Tokens
GitLab | Project > Settings > Access Tokens
Hostname
For this field, you must type the hostname (usually a domain name) of your GitHub instance's API, such as github-api.example.com or even an IP address such as 123.456.0.5:5555. By default, api.github.com it will be used for the requests.
Authentication token
The authentication token can be generated on GitHub as a Personal access token, preferably as a Fine-grained token. Refer to this page to learn how to create one.
Organizations may require you to approve a Personal access token before being able to use it on its repositories. Read more here.
This token will require the Contents permission (which then requires the mandatory Metadata permission). You can refer to this page for further information on the permissions.
GitHub | Settings > Developer settings > Personal access tokens > Fine-grained tokens
GitHub | Settings > Developer settings > Personal access tokens > Fine-grained tokens
Hostname
For this field, you must type your Bitbucket instance's API hostname (usually a domain name; The hostname bitbucket.com by itself will not work). For example, bitbucket-api.example.com or even an IP address such as 123.456.0.5:5555. By default, api.bitbucket.com will be used for the requests.
Authentication token
The authentication token can be generated on Bitbucket as an Access Token, available for the following:
  • Repositories (only allows a single repository)
  • Projects (allows every repository in the project)
  • Workspaces (allows every repository of the workspace)
You can find some information on how to create one here.
On the SaaS version of Bitbucket (bitbucket.org), access tokens for Projects and Workspaces are a Premium feature, leaving only Repositories access tokens for free.
This token will require the Repositories (Read) scope, necessary to discover repositories and read the content of their commits. Read more about scopes here.
Bitbucket | Repository > Settings > Access tokens
Bitbucket | Repository > Settings > Access tokens
Hostname
For this field, you need to type the hostname (usually a domain name) of your Azure DevOps instance. For example, azure.example.com or even an IP address such as 123.456.0.5:5555. By default, dev.azure.com will be used for the requests.
Organization
For this field, simply type the organization from which you wish to select repositories.
Project
You can restrict the scope to a specific project to limit the number of fetched repositories. You might need to click on "Save" and refresh the page to get a new list of repositories.
Authentication token
The authentication token can be generated on Azure DevOps as a Personal access token. Refer to this page to learn how to create one. This token will require the Code (Read) scope to discover projects and repositories, and read the content of their commits.
Azure DevOps | User settings > Personal access tokens
Azure DevOps | User settings > Personal access tokens
Once the authentication is valid, you can search for repositories through the Git repositories selection field, with a limit next to the list of repositories. These repositories will be used to fetch commits when preparing the practice review.
The changes will not be applied as long as the Save button is not pressed.
Packmind | Administration > Git Configuration > Repositories
Packmind | Administration > Git Configuration > Repositories

Prepare your practices reviews thanks to Git analysis

Once you're done setting up the authentication and your repositories, you can access a module from the space Home -> Prepare review.
This module displays all relatively relevant changes in the past couple of weeks, as suggested by Packmind (by default, the search is scoped to the last two weeks).
These changes are grouped by files and sorted by relevance, a criterion an internal algorithm calculates. Among other aspects, it favors the number of line editions/additions and considers the file path (a file in src/ will be more relevant than a file in assets/).
Small changes made out of a few additions or deletions are hidden by default, displayed through a button next to the file name.
Button for hidden changes
Similarly, the code of (assumed) less significant changes is always hidden by default. It can be displayed simply by clicking anywhere on the name of the change.
Most file types unrelated to actual code (images, videos, text files, markdown files, minified files, hidden files, ...) are automatically ignored and filtered out from the displayed changes.

Identify practices and discussion topics

You can now proceed with selecting examples for existing practices, create new ones or even select a topic for further discussion about a specific piece of code, all of this simply by selecting some code and either searching for practices among existing ones or clicking on either Add a practice or Add a topic.
A practices review workshop typically requires about 10 contributions to last an hour on average. Using this module, you can easily find more relevant pieces of code to identify practices and topics.

Filters

If you need to find specific changes or files, refer to the filters at the top of the page. Here is a list of what those filters can do, from left to right:
  • Change the date from when the commits are taken (2 weeks ago by default, files will have to be reloaded)
  • Set by which order the files are sorted or change their order (ascending or descending) by clicking on the selected value.
  • Filter by Git repositories (files from repositories not selected will be ignored)
  • Filter by author (through their email, changes from authors not selected will be ignored)
  • Display deleted lines in the changes
  • Search for files based on the query in their path (e.g. src/ will display all files inside an src folder, anywhere in their path)
When selecting a piece of code, the selection is restricted to the current hunk (group of differing lines, along with their context), and you will not be able to select deleted lines as to avoid adding deleted code as an example or a topic.
Packmind | Practice Review > Prepare (Filters)
Packmind | Practice Review > Prepare (Filters)