Overview
GitLab is a platform teams use to collaborate in projects—storing code, tracking issues, and organizing work in one place.
Persona’s GitLab integration lets you connect GitLab to your Persona workflows so you can list GitLab projects, pull issues from a project, and create, retrieve, or update issues based on events in Persona. This is especially helpful for teams that want consistent investigation and escalation workflows without relying on manual copy/paste between tools.
Benefits
Automated Issue Creation: Create GitLab issues directly from Persona workflow outcomes (for example, when a case is marked for review) so the right team is looped in immediately.
Faster Triage with Better Context: Retrieve existing issue details to keep investigators aligned on status, ownership, and next steps in GitLab.
Reduced Tool Switching: Update issue fields (like state, assignees, labels, or due dates) from Persona so teams can move work forward without bouncing between systems.
Integration Features
Persona’s GitLab integration helps teams manage identity-related investigation workflows in GitLab. Key capabilities include:
-
List Projects: Find projects your GitLab account can access so workflows can dynamically route actions to the right repository or team space.
-
List Issues: Pull issues from a specific project with optional filters (like assignee, labels, state, and time ranges) to support triage and reporting workflows.
-
Create Issue: Open a new issue in a project with a title and optional details like description, labels, assignees, due date, and milestone.
-
Retrieve Issue: Fetch the latest information for a specific issue before deciding what to do next in your workflow.
-
Update Issue: Keep GitLab in sync by changing key issue fields such as title/description, labels, assignees, due date, confidentiality, and open/close state.
Setting up the GitLab integration
Prerequisites
To set up the GitLab integration, ensure you have:
- Admin access to your GitLab account
- Necessary API permissions to access GitLab credentials
Setting up the GitLab Credentials
- In the Persona Dashboard, navigate to Integrations > Marketplace and click on GitLab.
- Click on Add Credential at the top of the page.
- Enter the
Nickname for Credentialin the modal and click Continue. - Follow the prompts to sign in to GitLab (if needed) and approve access.
- After the credential is created, you can test or remove it at any time from the integration page.
Using the GitLab integration in a workflow
- Create a new workflow, or open an existing workflow you’d like to update.
- Add a new action step > Integrations.
- Select the GitLab integration and choose your GitLab credentials.
- Configure the input fields to pass in the correct information.
- Save/publish the workflow.
GitLab Operations Overview
In addition to syncing field values, Persona can list projects, list and retrieve issues, and create or update issues using GitLab’s API. These actions support seamless two-way workflows, letting teams manage investigations without switching platforms. See below for a comprehensive list of available Workflow Action steps and possible configurations for the GitLab integration:
List Projects
Use this step to retrieve projects accessible to the connected GitLab account so your workflow can populate dropdowns, select the right destination project, or drive routing logic. This is especially useful when different teams manage different repositories and you want Persona to dynamically choose where to log work.
Configuration Steps:
- Optionally add:
- Search (to match against project name/path/description)
- Sorting and ordering preferences
- Filters such as visibility, membership, starred/owned, archived/active, or issue/merge request availability
- Pagination inputs (page size and page/cursor)
List Project Issues
Use this step to pull issues from a specific GitLab project so a workflow can find open work, identify duplicates, or surface relevant investigations for review. You can narrow results using filters like assignee, author, labels, milestone, issue type, state, and created/updated date ranges.
Configuration Steps:
- Provide values for required fields:
- Project ID
- Optionally add:
- Assignee or author filters
- Labels and milestone filters
- Issue type and state filters
- Search keywords (to match against title/description)
- Created/updated time filters
- Sorting and pagination inputs
Create Issue
Use this step to open a new GitLab issue from Persona when an event occur —such as a risk signal, escalation, or investigation milestone — so downstream teams can take action in their existing GitLab process. You can include structured details (like labels, assignees, and due date) to ensure issues are immediately actionable and routed correctly.
Configuration Steps:
- Provide values for required fields:
- Project ID
- Title
- Optionally add:
- Description
- Assignee ID or Assignee IDs
- Labels
- Due date
- Milestone ID
- Confidential (to mark the issue as confidential)
- Issue type (for example, issue/incident/task)
Retrieve Issue
Use this step to fetch a single issue’s latest details before making decisions in your workflow—such as whether it’s already closed, who it’s assigned to, or what labels it has. This helps ensure Persona takes the correct next action (for example, updating an existing issue instead of creating a new one).
Configuration Steps:
- Provide values for required fields:
- Project ID
- Issue IID
Update Issue
Use this step to keep an existing GitLab issue up to date as a Persona investigation progresses—for example, assigning an owner, updating the description with new context, adjusting labels, or changing the issue state. This is useful for closed-loop workflows where GitLab remains the operational system of record while Persona drives investigation logic.
Configuration Steps:
- Provide values for required fields:
- Project ID
- Issue IID
- Optionally add:
- Title and description updates
- Labels (set labels, add labels, and/or remove labels)
- Assignee IDs
- Due date
- Milestone ID
- Confidential or discussion-locked settings
- State event (close or reopen)
FAQs
What should I use for “Project ID”?
GitLab APIs typically accept either a numeric project ID or a URL-encoded namespaced project path (for example, a group/project style identifier). Use whichever identifier you already store internally or can reliably pass into Persona.
What is an “Issue IID”?
An Issue IID is the issue’s internal ID within a specific project (as opposed to a global ID that’s unique across all of GitLab). When configuring Retrieve or Update actions, make sure you’re using the IID associated with the project you selected.
Why might a project’s issues return “not found” even when the project exists?
GitLab notes that if the connected user isn’t a member of a private project, attempting to retrieve data from it can return a “not found” response. If this happens, confirm the GitLab account connected to Persona has the appropriate access to the project.