Documentation

GitHub integration

Connect GitHub so branches and pull requests link to tasks by their key, the task shows review and check status, and a merge can complete the task.

With GitHub connected, developers don’t have to click anything in assign2me. Putting the task key in a branch name or a pull request title is enough: the task shows the state of the code, and after a merge it can complete itself. The code stays on GitHub. assign2me stores only metadata such as branch names, pull request numbers, titles and states, and never your code, diffs or review comments.

Task keys

Every task has a short key made of the project prefix and a number, for example A2M-142. The project owner sets the prefix when creating the project: 2 to 6 capital letters and digits, starting with a letter, unique in the organization. By default it comes from the project name. If the prefix changes or a task moves to another project, the old key still leads to the same task.

1. Connect GitHub (Administrator)

An Administrator opens Integrations and connects GitHub. This installs the assign2me GitHub App in a GitHub account or organization of your choice. On GitHub you choose all repositories or only selected ones.

  • The app asks for read-only access to metadata, contents, pull requests, checks and commit statuses.
  • The Integrations screen shows the GitHub account, the available repositories, who connected them and a Manage on GitHub button. Changes to the repository list on GitHub show up in assign2me within a minute.
  • An organization can have several installations, for example for several GitHub organizations. One installation belongs to exactly one assign2me organization.

2. Pin repositories to a project

The project owner picks repositories from those connected in the organization. One repository can be pinned to several projects. Links between tasks and code work in every repository you connected. Pinning matters for automations.

3. Use the task key

assign2me links a task when its key appears, in any letter case, in:

  • a branch name, e.g. a2m-142-rate-limit,
  • a pull request title or description, e.g. A2M-142 Rate limit for clients,
  • the message of a commit pushed to the repository.

A new branch with the key marks the task as “in progress: branch a2m-142-rate-limit” and adds a history entry. It does not change the section or the assignee. One pull request can point to several tasks, and one task can have several branches and pull requests.

A key preceded by ref, refs or related to (for example refs A2M-142) creates an informational link only: merging will not complete the task.

A link appears in the task within 60 seconds of the event.

Copy branch name

In a task, Copy branch name gives you a ready name with the key and a short version of the title, for example a2m-142-rate-limit-for-clients. A second button copies the whole git checkout -b command. The buttons appear only when your organization is connected to GitHub or GitLab.

Automations

In the settings of a pinned repository, the project owner can turn on, each separately:

  • when a pull request opens, move the task to a chosen section (e.g. “In review”),
  • when it is merged, complete the task or move it to a chosen section.

All automations are off by default. A merge means a merge into the repository’s default branch. The owner can add other target branches, such as release/*.

Automations change a task only when the task belongs to this project and the event comes from a repository pinned to this project. The task is completed only when the last open pull request linked to it with a closing reference is merged. A refs link never closes a task. A task that is already completed does not change. If someone reopens a task that was completed automatically, the same merge will not complete it again. Private tasks are not affected by automations.

Every change made by an automation goes into the task history with the source “GitHub”, the repository and the pull request number, and sends the same notifications as a manual change.

Code status in the task

The task panel has a Code section. For each branch you see its name and repository. For each pull request you see the number, title, author, state (draft, open, waiting for review, approved, changes requested, merged, closed without merging), reviewers and checks (running, passed, failed). Every item links to GitHub.

A task row in the list, the board and My tasks shows an icon with the state of its most important pull request.

“Waiting for review” filter

The project list and board have a Code filter: waiting for review, changes requested, failed checks, and merged but the task still open. The project summary has a Waiting for review card with the number of tasks and how long the oldest pull request has been waiting. Click it to open the filtered list.

What guests don’t see

Code information is visible only to people with access to the task. Guests don’t see the Code section, and code status never goes to a Slack channel. Your client sees the task, not your repository.

Disconnecting

When you disconnect GitHub in assign2me, uninstall the app on GitHub or remove access to a repository:

  • access credentials are deleted and new events from that source are rejected within 60 seconds,
  • repositories are unpinned from projects,
  • existing links stay in tasks with their last known state, marked as outdated. An Administrator can delete them together with the connection.

Using GitLab? See GitLab integration.