Who can use this feature?

All Users and Admins (Admins also have permissions to manage the integration from the admin dashboard)

About the GitLab integration

Ally.io’s GitLab integration allows you to update your OKR progress automatically depending on the progress of issues in your GitLab projects. Let’s say you use GitLab to track your projects, and you have an objective in Ally.io for resolving 30 issues every quarter. When you link this objective to the corresponding project in GitLab, the status of your OKR will be updated as the issues under the associated project get resolved. You can also track the progress of issues being handled by a specific user for objectives that are user-centric. Ally.io will automatically sync the values for you and chart your progress toward the goal, thus saving time while keeping your OKRs current.

Enabling the GitLab integration

Admins can enable this integration, and here’s how it can be done:

  • From the sidebar, click on Admin > select the Integrations tab.

  • Against GitLab, you will have an option to Enable the integration. If you have a connection already created, you will have an option to Manage the integration.

Connect GitLab to your Ally.io account - Admins

  • After enabling the integration, as an admin, the first step is to configure a GitLab connection from the GitLab configuration page.

  • Select New Connection, and sign into your GitLab account.

  • Provide a name for the connection.

  • It is optional to share this connection with other users in the organization. Click on Next to get up and running with this integration. You can edit the saved connection at any time.

  • Ally.io allows you to connect with multiple projects. Select New Connection to fetch data from another project. You can differentiate these connections using names, and the names will be displayed to other users when they link their OKRs with GitLab data.

Using the Gitlab integration - Connecting GitLab Projects to an OKR

Once you have configured the connection, the next step is to start linking OKRs to the GitLab projects.

  • While creating or editing an OKR, click on Automatically from a data source. From the drop-down menu, select GitLab.

  • If you have already created a connection, or if your administrator has shared a connection with you, that connection will be selected automatically. Ally.io will prompt you to create a new connection only if there are no connections created or shared.

  • Choose the method using which you want to measure the progress — percent complete or KPI (success metric). If you are choosing KPI, provide a metric, starting value, and target value.

  • Select a connection in case of multiple connections, and all the associated projects will be available in the drop-down. Choose a project and select a Milestone.

  • Select an Assignee to keep tabs on the issues being handled by a specific user. Select the custom labels as applicable.

  • You can track the status of issues that are closed, and open by choosing an appropriate status. This will be applicable only for the KPI type OKRs.

  • You can also directly search issues by typing in the issue ID or issue title or select them from the dropdown in the Issues field. You can also select multiple issues and connect them to the OKR.

How is progress calculated?

  • The progress of your OKR will be computed based on the count of issues (if you have chosen KPI metric to track progress), or if you have chosen percent complete to track progress, the % will be calculated based on the number of issues closed.

  • If you have sub-tasks added under each issue, the progress will be calculated based on the status of the sub-tasks as well.

For example, say you have connected two issues that have two sub-tasks each to your OKR, once you close sub-task 1 in issue 1, the progress will be updated as 25% and on closing sub-task 2 in issue 1, your OKR progress will be 50%.

Note: If you choose percent complete to track progress, the progress will be computed only based on the percentage of issues closed. On the other hand, if you want to keep track of the issues that are open as well, you will have to choose a KPI metric to track progress.

The colors of the progress bar indicated the status of the objective.

  • If the progress is 0 - 25% less than the expected progress at any given point in time, the OKR status is Behind, and the progress bar color will be Orange.

  • If the progress is over 25% less than the expected progress at any given point in time, the OKR status is At Risk, and the progress bar color will be Red.

Setting up the GitLab on-premise integration

To set up the GitLab on-prem integration, please follow the following steps:

  • Log into your GitLab account and click on the Applications tab found within the User Settings

  • Enter the application name followed by the redirect URL - https://app.ally.io/members/auth/gitlab/callback

  • Check the API checkbox within Scopes

  • Click on Save Application to generate the Application ID and the Secret

  • Once these are generated, please have an account admin reach out to [email protected] or your CSM with the request to set up the integration. Please mention the Application ID and the Secret when you send in your request.

To learn more about Ally’s other integrations, please visit our Integrations page.

Disabling the integration

The GitLab integration may also be disabled by an Admin at any time. To disable the integration, as an Admin go to GitLab in the Integrations section and click on Manage. In the GitLab Configurations page, select the Change dropdown, click Disable and confirm the action.

Note : If a project in Gitlab is closed without even marking all the sub-task as complete, it will drive a 100% progress on Ally considering the project is completed since it was closed.

The rationale is that we did not want users to check-off all the sub-tasks in the checklist to ensure Ally tracks the progress as 100%. If its a 100 item checklist and 50 were completed but they have really completed the project, we did not want to force the user to mandatorily check off all the items in the checklist to achieve that.

Did this answer your question?