মূল কনটেন্টে যান

Jira, GitLab, Asana and Trello

এই কনটেন্ট এখনো আপনার ভাষায় পাওয়া যায় না।

Focus keeps its projects and tasks in sync with Jira, GitLab, Asana and Trello: issues become tasks, and a task’s status and name go back to the issue. With Jira and GitLab, the time people log on a task can be sent back as well. Issue tracker sync is part of the Premium plan. Owners and admins set it up in Settings → Integrations, which is also where calendar sync and user import, both part of Pro as well, and the developer settings start (calendar sync, user import).

If Workify360 has not set up a provider yet, its card says it is not available (integration_not_configured).

ProviderHow it connects
Jira CloudSign in at Atlassian and allow access. Focus uses the first Jira site of the account.
GitLabA personal, group or project access token with the api scope. For a self-managed GitLab, also its address; it must be a public https address.
AsanaA personal access token.
TrelloAn API key and a token of the Trello account.

Each provider account can be connected once per organization (connection_exists). Focus checks a token when you add it and refuses one the provider does not accept (provider_rejected). The connection runs on behalf of the organization: the changes it makes in Focus are recorded in the audit log under the connection’s own name, not under a person’s.

Open the connection and choose Link a project. Pick a project of the provider, and either an existing Focus project or a new one that Focus creates for it. A provider project and a Focus project can be linked only once per connection (project_link_exists). For each link you choose what is synced:

OptionDefaultWhat it does
Import issuesOnIssues become tasks of the Focus project
Send statusOnA task’s status (and its name) goes back to the issue
Create issuesOffA task created in Focus becomes a new issue
Send logged timeOffTime assigned to a task is added to the issue as logged time (Jira and GitLab only)

The first sync starts right after you link the project. Removing a link stops the sync; the tasks stay in the Focus project.

  • Schedule: every 10 minutes Focus asks the provider for the issues that changed. Sync now on the connection starts a sync at once, at most once a minute (sync_too_frequent). Focus does not receive the providers’ own webhooks.
  • Task names: an issue becomes a task named after its key and summary, such as MOB-12 Login screen. Changing the project’s name at the provider does not rename the Focus project.
  • Status: each provider’s states are mapped to the task statuses open, in progress and done (see the table below).
  • Assignee: when the issue’s assignee has an e-mail address the provider shares, and that person is a member who may work on the project, they become the task’s assignee; otherwise the task has none.
  • Conflicts: when an issue and its task both changed since the last sync, the provider wins: the task takes the issue’s values and is marked as a conflict until the next clean sync. The connection’s problem list shows these.
  • Deleted issues: a task whose issue was deleted or moved out of the project is archived, not deleted, because time may be assigned to it. Archiving a task in Focus leaves its issue unchanged.

With Send logged time on, time that people assign to a linked task is added to the issue:

  • Jira: as a worklog, which is changed or deleted when the time in Focus changes.
  • GitLab: as spent time; a correction is sent as negative spent time, because GitLab has no separate entries.

The worklog’s comment says “Workify360”. Only when you choose to name the person on the link does it also carry the person’s name. The logged time is then in your issue tracker, which your organization manages; erasing someone in Focus does not remove it there.

CapabilityJiraGitLabAsanaTrello
Connect, list projectsYesYesYesYes (boards)
Issues become tasksYesYesYesYes (cards)
Status mappingStatus category (to do, in progress, done)Open or closed, plus an in-progress label (doing by default)Completed or notLists: the first list is open, the last is done, the ones between are in progress
Task status back to the issueYes (a workflow transition)Yes (close, reopen, label)Yes (completed)Yes (moves the card)
New task becomes an issueYesYesYesYes (in the first list)
Task name back to the issueYesYesYesYes
Send logged timeYesYesNoNo
Assignee by e-mailYes (when the e-mail is visible)Yes (when the public e-mail is set)YesNo
Estimate, due dateYes, yesYes, yesNo, yesNo, yes

When Jira has no transition to the status a task needs, the issue stays as it is and the problem list shows it.

  • The connection belongs to the admin who connected it. If that person stops being an owner or admin, or leaves, the connection pauses and the other admins are notified; another admin takes it over to resume it. A paused connection refuses a sync (connection_paused).
  • If the provider stops accepting the access, the connection asks for a new sign-in or token (integration_needs_reauth).
  • Removing a connection stops every sync. Projects, tasks and assigned time stay in Focus. Focus withdraws its Jira access at Atlassian; GitLab, Asana and Trello tokens are withdrawn by you at the provider.
CodeWhat to do
integration_not_configuredWorkify360 has not set up this provider yet
provider_unavailableThe provider did not answer; Focus tries again later
provider_rejectedThe provider refused the request, for example an invalid token or a project the account cannot see; check the token or the provider’s permissions
connection_existsThis provider account is already connected
connection_not_foundThe connection was removed; reload the page
connection_pausedTake over or resume the connection first
sync_too_frequentWait a minute before you start the next sync
project_link_existsThe provider project or the Focus project is already linked
remote_project_not_foundThe provider project no longer exists or the account cannot see it
project_link_not_foundThe project link was removed; reload the page
integration_needs_reauthReconnect the provider, or enter a new token
oauth_deniedAccess was not allowed at Atlassian; connect again and allow it