Github

The integration allows to:

  • receive messages in the card's comments that contain links to commit's related to the card;

  • automatically move cards to the selected column if a branch is created in the repository;

  • automatically move the cards to the selected column if the branch related to the card merges into the specified repository branch;

  • automatically move cards when opening or merging a Pull Request;

  • automatically move cards by Review events: changes requested and approved;

  • automatically move cards by deployment events;

  • automatically move cards specified in the description to a Pull Request.

Setup

GitHub repository setup

  1. Open the menu. Under "Spaces", hover your cursor over the space whose events you want to integrate. Click on the three dots to the right of the space name, then in the drop-down menu click "Space settings"

  1. In the window that opens, go to the GitHub section. The settings will specify the GitHub Secret and Webhook URL for your company. These settings must be entered in the repository settings on GitHub side.

  1. Go to GitHub Settings → Webhooks → Add Webhook. 

  1. In the window that opens, enter the GitHub Secret and Webhook URL from FlowFast. Under Which events would you like to trigger this webhook? select the desired events.

Comments with links to the commits in the cards

Set up Webhook according to the steps above.

Now, if a commit contains #XXX, where XXX is your card number, a comment will be added with a link to that commit.

To have the comment appear in multiple cards - add the desired card numbers separated by commas: #XXX,YYY,XXX (no spaces or additional #'s)

Automated movement of cards

A card can be moved automatically: when a branch with card ID is created, when a Pull Request is opened/merged, when Review events occur, or when a deployment is made.

  1. Configure the webhook as described above in "GitHub Repository Setup";

  2. Go back to FlowFast → Space Settings → GitHub. Under the description of the webhook there is a section called "Integrations with repositories", there click on "Create integration";

The repository name is e.g. flowfast in the line https://github.com/flowfast-hq/flowfast;

For branch created events, the column to be moved should be specified.

For other events: PR opened, PR merged, Review changes requested, Review approved, you need to specify the branch to which the Pull Request will be opened in addition to the column.

Now, if you create a branch in your project with a name, for example, branch-XXXX, where XXXX is the ID of your card, the card will be moved to the column which is specified for event branch created. How you name the branch is not important, as long as the card ID is there.

Moving multiple cards in one Pull Request

You must make the settings from the Automated movement of cards section.

Now if you specify additional cards in a special format in the Pull Request description, they will be moved according to the settings for the created branch.

The special format is a keyword and a comma-separated list of card IDs. In addition to IDs, it is possible to specify a card reference in full hq.flowfast.io/space/1/card/XXX or abbreviated /c/XXX format.

Keywords close: closes, closed, fix, fixes, fixed, resolve, resolves, resolved

For example, if you specify in the PR description fixes: 1, 2, 3; resolved hq.flowfast.io/space/1/4, /c/5, 6 , then cards with IDs from 1 to 6 will be moved.

Moving cards during deployment

You must make the settings from the Automated movement of cards section.

Additionally, a Personal Access Token must be specified for the private repository.


Creating a token:

  1.  In the upper right corner of any page on GitHub, click on your portfolio icon, then click Settings;

  2.  On the left, in the sidebar, click Developer settings;

  3.  On the left sidebar, click Personal access tokens;

  4.  Click Generate new token;

  5.  Select access level repo;

  6.  Click Generate new token;

  7.  Insert the generated token in the Personal Access Token integration field.

If the owner of the token loses access rights to the repository, deployment events will not be processed.

On successful deployment to specified environment (Environment field in settings), we analyze all commits added after previous deployment to specified branch (Branch field). Find commits, which belong to Pull Request branch, and extract card IDs from them. Next, move all found non-archived cards to the appropriate column.

Example of integration settings

Using a card with ID 100 as an example:

When creating a branch, e.g. fix-branch100, the card will move to the "To do" column on the Work board.

When a PR is opened for a development branch, the card will move to the "Doing" column on the Work board.

When the card passes Review in approved status, it will move to the "Approved" column on the Work board.

When merged with the development branch, the card will move to the "Done" column on the Work board.

NEW 

  1.  New action Draft PR opened for GitHub integration;

  2.  New setting for draft-pr;

  3.  Conversion from draft-pr to regular is now processed as opening PR.