Setting up the integration between Forecast and GitHub
The setup of the integration is easy and it includes enabling it from Forecast and configuring if all repositories should sync to Forecast or just some. As with all integrations in Forecast, this process may only be done by a user with Admin access to the account.
To set up the GitHub for Forecast integration
- Click Admin in the top bar.
- Select Integrations.
- Click on GitHub.
- Click Install.
- Log into GitHub and then select whether All repositories should sync or just the selected ones.
- Click Activate, once the Forecast integration page reloads.
Syncing Forecast users to their GitHub profiles
Now the integration is set up, it is important to sync the profiles of Forecast users with their GitHub profiles. This is important as it allows for tasks created by these users to appear as issues in GitHub. If a user is not synced between the two profiles then all of the actions they take on either platform will not be brought over to the other platform. This is also the case with guest users who at the moment cannot have their profiles synced to a GitHub profile and thus any tasks they might create in Forecast will not appear in GitHub as issues.
To help visualize this mapping of data please refer to the below data map
To sync Forecast user profiles to GitHub user profiles
- Click Admin in the top bar.
- Select Resources from the dropdown.
- Click on the user that needs to be synced.
- Scroll down to the GitHub section.
- Under 'GitHub user name', type in the name of the user in GitHub and select Search.
- The user will display as an option below the empty text field. To sync the users between the two platforms, click on the correct user, and from the pop-up modal click on Link.
Synchronizing Forecast projects to GitHub repositories
Repositories from GitHub can be synced with projects in Forecast. The integration also grants the ability to sync the repository issues with the Forecast project and vice versa. This will essentially move issues from GitHub to Forecast as projects and tasks from Forecast to GitHub as issues.
To sync a Forecast project to a GitHub repository
- Click Projects in the top bar.
- Select All Projects from the dropdown.
- Click on the project you wish to sync.
- In the left side panel, click Settings.
- Select Integrations.
- Under the GitHub option, click on the dropdown and select the repository the project should sync to.
- If it is necessary to bring over GitHub issues to this project and to send this project's tasks to GitHub as issues, click on Sync and click Okay when a modal is prompted.
Attaching GitHub pull requests and issues to Forecast tasks
As mentioned earlier, it is possible, with the integration, to manually attach GitHub issues to Forecast tasks. This ability also extends to pull requests from GitHub.
To attach GitHub issues to Forecast tasks
- Click Projects in the top bar.
- Select All Projects from the dropdown.
- Access any project that is already synced with a GitHub repository.
- Click on any task to open the task modal.
- Scroll to the section under the description that reads GitHub.
- Click on Issues and select any of the issues that are presented.
The task will now be attached to that issue from GitHub. A link will also be created, and by clicking on it the user will be taken to that issue in GitHub.
Attaching Pull Requests to Forecast tasks
To attach pull requests from GitHub to Forecast tasks
- Click Projects in the top bar.
- Select All Projects from the dropdown.
- Access any project that is already synced with a GitHub repository.
- Click on any task to open the task modal.
- Scroll to the section under the description that reads GitHub.
- Click on Pull Request and select any of the pull requests available.
The task will now be attached to a pull request from GitHub. Pull requests can assist with setting the status of tasks in Forecast. If a pull request is merged with a description that contains any of the following keywords, followed by a valid task id, then that task will be moved to the first Done status column in its Forecast project:
- Close/close, Closes/closes, Closed/closed
- Fix/fix, Fixes/fixes
- Resolve/resolve, Resolves/resolves, Resolved/resolved
The same behavior applies when a "branch" in GitHub contains the task ID. If a new branch name contains a task ID (e.g T17), then that task will be linked to the branch, and pull requests belonging to that branch will automatically be attached to the task as well.
Comments
0 comments
Article is closed for comments.