1
0
mirror of synced 2025-12-21 02:51:29 -05:00
Files
airbyte/airbyte-integrations/connectors/source-gitlab/manifest.yaml
devin-ai-integration[bot] ea08052924 fix(source-gitlab): Change check stream from projects to groups (AI-Triage PR) (#70839)
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2025-12-11 16:46:54 +02:00

5166 lines
138 KiB
YAML

version: 6.56.7
type: DeclarativeSource
spec:
type: Spec
documentation_url: https://docs.airbyte.com/integrations/sources/gitlab
connection_specification:
$schema: http://json-schema.org/draft-07/schema#
title: Source Gitlab Spec
type: object
required:
- credentials
additionalProperties: true
properties:
credentials:
title: Authorization Method
type: object
order: 0
oneOf:
- type: object
title: OAuth2.0
required:
- client_id
- client_secret
- refresh_token
- access_token
- token_expiry_date
properties:
auth_type:
type: string
const: oauth2.0
client_id:
type: string
description: The API ID of the Gitlab developer application.
airbyte_secret: true
client_secret:
type: string
description: The API Secret the Gitlab developer application.
airbyte_secret: true
access_token:
type: string
description: Access Token for making authenticated requests.
airbyte_secret: true
token_expiry_date:
type: string
description: The date-time when the access token should be refreshed.
format: date-time
refresh_token:
type: string
description: The key to refresh the expired access_token.
airbyte_secret: true
- title: Private Token
type: object
required:
- access_token
properties:
auth_type:
type: string
const: access_token
access_token:
type: string
title: Private Token
description: Log into your Gitlab account and then generate a personal
Access Token.
airbyte_secret: true
start_date:
type: string
title: Start Date
description: The date from which you'd like to replicate data for GitLab API,
in the format YYYY-MM-DDT00:00:00Z. Optional. If not set, all data will be
replicated. All data generated after this date will be replicated.
examples:
- '2021-03-01T00:00:00Z'
pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$
order: 1
format: date-time
api_url:
type: string
examples:
- gitlab.com
- https://gitlab.com
- https://gitlab.company.org
title: API URL
default: gitlab.com
description: Please enter your basic URL from GitLab instance.
order: 2
groups:
type: string
examples:
- airbyte.io
title: Groups
description: '[DEPRECATED] Space-delimited list of groups. e.g. airbyte.io.'
airbyte_hidden: true
groups_list:
type: array
items:
type: string
examples:
- airbyte.io
title: Groups
description: List of groups. e.g. airbyte.io.
order: 3
projects:
type: string
title: Projects
examples:
- airbyte.io/documentation
description: '[DEPRECATED] Space-delimited list of projects. e.g. airbyte.io/documentation
meltano/tap-gitlab.'
airbyte_hidden: true
projects_list:
type: array
items:
type: string
title: Projects
examples:
- airbyte.io/documentation
description: Space-delimited list of projects. e.g. airbyte.io/documentation
meltano/tap-gitlab.
order: 4
advanced_auth:
auth_flow_type: oauth2.0
predicate_key:
- credentials
- auth_type
predicate_value: oauth2.0
oauth_config_specification:
oauth_user_input_from_connector_config_specification:
type: object
properties:
domain:
type: string
path_in_connector_config:
- api_url
complete_oauth_output_specification:
type: object
properties:
access_token:
type: string
path_in_connector_config:
- credentials
- access_token
refresh_token:
type: string
path_in_connector_config:
- credentials
- refresh_token
token_expiry_date:
type: string
format: date-time
path_in_connector_config:
- credentials
- token_expiry_date
complete_oauth_server_input_specification:
type: object
properties:
client_id:
type: string
client_secret:
type: string
complete_oauth_server_output_specification:
type: object
properties:
client_id:
type: string
path_in_connector_config:
- credentials
- client_id
client_secret:
type: string
path_in_connector_config:
- credentials
- client_secret
config_normalization_rules:
type: ConfigNormalizationRules
config_migrations:
- type: ConfigMigration
descriptions: Migrates `groups` key to `groups_list` key.
transformations:
- type: ConfigAddFields
fields:
- type: AddedFieldDefinition
path: ["groups_list"]
value: "{{ config.get('groups').split(' ') if config.get('groups') else [] }}"
condition: "{{ not config.get('groups_list', False) }}"
- type: ConfigMigration
descriptions: Migrates `projects` key to `projects_list` key.
transformations:
- type: ConfigAddFields
fields:
- type: AddedFieldDefinition
path: ["projects_list"]
value: "{{ config.get('projects').split(' ') if config.get('projects') else [] }}"
condition: "{{ not config.get('projects_list', False) }}"
validations:
- type: DpathValidator
field_path: ["api_url"]
validation_strategy:
type: CustomValidationStrategy
class_name: source_declarative_manifest.components.ValidateApiUrl
definitions:
# Authenticators
bearer_authenticator:
type: BearerAuthenticator
api_token: "{{ config['credentials']['access_token'] }}"
oauth_authenticator:
type: OAuthAuthenticator
client_id: "{{ config['credentials']['client_id'] }}"
client_secret: "{{ config['credentials']['client_secret'] }}"
refresh_token: "{{ config['credentials']['refresh_token'] }}"
token_refresh_endpoint: "https://{{ config.get('api_url', 'gitlab.com') }}/oauth/token"
refresh_token_updater:
refresh_token_error_status_codes: [400, 401]
refresh_token_error_key: "error"
refresh_token_error_values: ["invalid_grant"]
authenticator:
type: SelectiveAuthenticator
authenticator_selection_path: ["credentials", "auth_type"]
authenticators:
oauth2.0: "#/definitions/oauth_authenticator"
access_token: "#/definitions/bearer_authenticator"
# Requester
requester:
type: HttpRequester
url_base: >-
{% set parts = config.get('api_url', 'gitlab.com').split('://') %}
{{ parts[0] if parts|length > 1 else 'https' }}://{{ parts[1] if parts[1] else parts[0] }}/api/v4/
http_method: GET
authenticator: "#/definitions/authenticator"
use_cache: true
error_handler:
type: DefaultErrorHandler
response_filters:
- type: HttpResponseFilter
action: IGNORE
http_codes: [403]
- type: HttpResponseFilter
action: FAIL
http_codes: [401]
error_message: Unable to refresh the `access_token`, please re-authenticate in Sources > Settings.
- type: HttpResponseFilter
action: RETRY
http_codes: [500]
- type: HttpResponseFilter
action: FAIL
http_codes: [404]
error_message: Groups and/or projects that you provide are invalid or you don't have permission to view it.
request_parameters: "{{ parameters.get('request_parameters', {}) }}"
# Selector
selector:
type: RecordSelector
extractor:
type: DpathExtractor
field_path: []
# Paginator
paginator:
type: DefaultPaginator
pagination_strategy:
type: PageIncrement
page_size: 50
start_from_page: 1
inject_on_first_request: false
page_size_option:
type: RequestOption
field_name: per_page
inject_into: request_parameter
page_token_option:
type: RequestOption
field_name: page
inject_into: request_parameter
# Retrievers
retriever:
type: SimpleRetriever
record_selector: "#/definitions/selector"
requester: "#/definitions/requester"
paginator: "#/definitions/paginator"
group_streams_retriever:
$ref: "#/definitions/retriever"
partition_router:
type: CustomPartitionRouter
class_name: source_declarative_manifest.components.GroupStreamsPartitionRouter
parent_stream_configs:
- type: ParentStreamConfig
parent_key: "id"
stream: "#/definitions/groups_list_stream"
partition_field: "id"
- type: ParentStreamConfig
parent_key: "id"
stream: "#/definitions/include_descendant_groups_stream"
partition_field: "id"
group_child_streams_retriever:
$ref: "#/definitions/retriever"
partition_router:
type: SubstreamPartitionRouter
parent_stream_configs:
- type: ParentStreamConfig
parent_key: "id"
stream: "#/definitions/groups_stream"
partition_field: "id"
projects_streams_retriever:
$ref: "#/definitions/retriever"
partition_router:
type: CustomPartitionRouter
class_name: source_declarative_manifest.components.ProjectStreamsPartitionRouter
parent_stream_configs:
- type: ParentStreamConfig
parent_key: "id"
stream: "#/definitions/groups_stream"
partition_field: "id"
projects_child_streams_retriever:
$ref: "#/definitions/retriever"
partition_router:
type: SubstreamPartitionRouter
parent_stream_configs:
- type: ParentStreamConfig
parent_key: "id"
stream: "#/definitions/projects_stream"
partition_field: "id"
pipelines_child_streams_retriever:
$ref: "#/definitions/retriever"
partition_router:
type: SubstreamPartitionRouter
parent_stream_configs:
- type: ParentStreamConfig
parent_key: "id"
stream: "#/definitions/pipelines_stream"
partition_field: "id"
# Transformations
add_project_id_field:
type: AddFields
fields:
- type: AddedFieldDefinition
path: ["project_id"]
value: "{{ stream_slice.id }}"
add_group_id_field:
type: AddFields
fields:
- type: AddedFieldDefinition
path: ["group_id"]
value: "{{ stream_slice.id }}"
# Service streams
base_full_refresh_stream:
type: DeclarativeStream
primary_key: "id"
base_groups_child_stream:
$ref: "#/definitions/base_full_refresh_stream"
retriever: "#/definitions/group_child_streams_retriever"
base_projects_child_stream:
$ref: "#/definitions/base_full_refresh_stream"
retriever: "#/definitions/projects_child_streams_retriever"
base_projects_incremental_child_stream:
$ref: "#/definitions/base_projects_child_stream"
incremental_sync:
type: DatetimeBasedCursor
cursor_field: "{{ parameters.get('cursor_field', 'updated_at') }}"
start_datetime: "{{ config.get('start_date', '2014-01-01T00:00:00Z') }}"
datetime_format: "%Y-%m-%dT%H:%M:%SZ"
cursor_datetime_formats:
- "%Y-%m-%dT%H:%M:%S.%f%z"
- "%Y-%m-%dT%H:%M:%S.%fZ"
- "%Y-%m-%dT%H:%M:%S%z"
- "%Y-%m-%dT%H:%M:%SZ"
cursor_granularity: "PT1S"
step: "P180DT1S"
start_time_option:
type: RequestOption
field_name: "{{ parameters.get('lower_bound_filter', 'updated_after') }}"
inject_into: request_parameter
end_time_option:
type: RequestOption
field_name: "{{ parameters.get('upper_bound_filter', 'updated_before') }}"
inject_into: request_parameter
groups_list_stream:
name: "groups_list"
$ref: "#/definitions/base_full_refresh_stream"
retriever: "#/definitions/retriever"
$parameters:
path: "groups"
request_parameters: {}
include_descendant_groups_stream:
name: "include_descendant_groups"
$ref: "#/definitions/base_full_refresh_stream"
retriever:
$ref: "#/definitions/retriever"
partition_router:
type: ListPartitionRouter
cursor_field: "slice"
values: |
{% set slices = [] %}
{% for group_id in config.get('groups_list', []) %}
{% set _ = slices.append({'path': 'groups/' + group_id}) %}
{% set _ = slices.append({'path': 'groups/' + group_id + '/descendant_groups'}) %}
{% endfor %}
{{ slices }}
$parameters:
path: "{{ stream_slice.slice.path }}"
request_parameters: {}
# Full refresh streams
## Groups-based streams
groups_stream:
name: "groups"
$ref: "#/definitions/base_full_refresh_stream"
retriever: "#/definitions/group_streams_retriever"
transformations:
- type: AddFields
fields:
- type: AddedFieldDefinition
path:
- projects
value: |
{% set projects = [] %}
{% for project in (record.get('projects') or []): %}
{% set _ = projects.append({'id': project['id'], 'path_with_namespace': project['path_with_namespace']}) %}
{% endfor %}
{{ projects }}
$parameters:
path: "groups/{{ stream_slice.id }}"
request_parameters: {}
schema_loader:
type: InlineSchemaLoader
schema:
$ref: "#/schemas/groups"
group_milestones_stream:
name: "group_milestones"
$ref: "#/definitions/base_groups_child_stream"
$parameters:
path: "groups/{{ stream_slice.id }}/milestones"
schema_loader:
type: InlineSchemaLoader
schema:
$ref: "#/schemas/group_milestones"
group_members_stream:
name: "group_members"
$ref: "#/definitions/base_groups_child_stream"
primary_key: ["group_id", "id"]
transformations:
- "#/definitions/add_group_id_field"
$parameters:
path: "groups/{{ stream_slice.id }}/members"
schema_loader:
type: InlineSchemaLoader
schema:
$ref: "#/schemas/group_members"
group_labels_stream:
name: "group_labels"
$ref: "#/definitions/base_groups_child_stream"
primary_key: ["group_id", "id"]
transformations:
- "#/definitions/add_group_id_field"
$parameters:
path: "groups/{{ stream_slice.id }}/labels"
schema_loader:
type: InlineSchemaLoader
schema:
$ref: "#/schemas/group_labels"
group_issue_boards_stream:
name: "group_issue_boards"
$ref: "#/definitions/base_groups_child_stream"
transformations:
- "#/definitions/add_group_id_field"
$parameters:
path: "groups/{{ stream_slice.id }}/boards"
schema_loader:
type: InlineSchemaLoader
schema:
$ref: "#/schemas/group_issue_boards"
epics_stream:
name: "epics"
$ref: "#/definitions/base_groups_child_stream"
transformations:
- type: AddFields
fields:
- type: AddedFieldDefinition
path: ["author_id"]
value: "{{ (record.get('author') or {}).get('id') }}"
primary_key: "iid"
$parameters:
path: "groups/{{ stream_slice.id }}/epics"
schema_loader:
type: InlineSchemaLoader
schema:
$ref: "#/schemas/epics"
epic_issues_stream:
name: "epic_issues"
$ref: "#/definitions/base_groups_child_stream"
primary_key: "iid"
transformations:
- type: AddFields
fields:
- type: AddedFieldDefinition
path: ["milestone_id"]
value: "{{ (record.get('milestone') or {}).get('id') }}"
- type: AddedFieldDefinition
path: ["assignee_id"]
value: "{{ (record.get('assignee') or {}).get('id') }}"
- type: AddedFieldDefinition
path: ["author_id"]
value: "{{ (record.get('author') or {}).get('id') }}"
- type: AddedFieldDefinition
path: ["assignees"]
value: |
{% set ids = [] %}
{% for data in (record.get('assignees') or []) %}
{% set _ = ids.append(data.get('id')) %}
{% endfor %}
{{ ids }}
retriever:
$ref: "#/definitions/retriever"
partition_router:
type: SubstreamPartitionRouter
parent_stream_configs:
- type: ParentStreamConfig
parent_key: "iid"
stream: "#/definitions/epics_stream"
partition_field: "iid"
$parameters:
path: "groups/{{ stream_slice.parent_slice.id }}/epics/{{ stream_slice.iid }}/issues"
schema_loader:
type: InlineSchemaLoader
schema:
$ref: "#/schemas/epic_issues"
## Projects-based streams
projects_stream:
name: "projects"
$ref: "#/definitions/base_full_refresh_stream"
retriever: "#/definitions/projects_streams_retriever"
$parameters:
path: "projects/{{ stream_slice.id }}"
request_parameters:
statistics: 1
schema_loader:
type: InlineSchemaLoader
schema:
$ref: "#/schemas/projects"
project_milestones_stream:
name: "project_milestones"
$ref: "#/definitions/base_projects_child_stream"
$parameters:
path: "projects/{{ stream_slice.id }}/milestones"
schema_loader:
type: InlineSchemaLoader
schema:
$ref: "#/schemas/project_milestones"
project_members_stream:
name: "project_members"
$ref: "#/definitions/base_projects_child_stream"
primary_key: ["project_id", "id"]
transformations:
- "#/definitions/add_project_id_field"
$parameters:
path: "projects/{{ stream_slice.id }}/members"
schema_loader:
type: InlineSchemaLoader
schema:
$ref: "#/schemas/project_members"
project_labels_stream:
name: "project_labels"
$ref: "#/definitions/base_projects_child_stream"
primary_key: ["project_id", "id"]
transformations:
- "#/definitions/add_project_id_field"
$parameters:
path: "projects/{{ stream_slice.id }}/labels"
schema_loader:
type: InlineSchemaLoader
schema:
$ref: "#/schemas/project_labels"
branches_stream:
name: "branches"
$ref: "#/definitions/base_projects_child_stream"
transformations:
- "#/definitions/add_project_id_field"
- type: AddFields
fields:
- type: AddedFieldDefinition
path: ["commit_id"]
value: "{{ (record.get('commit') or {}).get('id') }}"
primary_key: ["project_id", "name"]
$parameters:
path: "projects/{{ stream_slice.id }}/repository/branches"
schema_loader:
type: InlineSchemaLoader
schema:
$ref: "#/schemas/branches"
releases_stream:
name: "releases"
$ref: "#/definitions/base_projects_child_stream"
primary_key: "name"
transformations:
- "#/definitions/add_project_id_field"
- type: AddFields
fields:
- type: AddedFieldDefinition
path: ["author_id"]
value: "{{ (record.get('author') or {}).get('id') }}"
- type: AddedFieldDefinition
path: ["commit_id"]
value: "{{ (record.get('commit') or {}).get('id') }}"
- type: AddedFieldDefinition
path: ["milestones"]
value: |
{% set ids = [] %}
{% for data in record.get('milestones', []) %}
{% set _ = ids.append(data.get('id')) %}
{% endfor %}
{{ ids }}
$parameters:
path: "projects/{{ stream_slice.id }}/releases"
schema_loader:
type: InlineSchemaLoader
schema:
$ref: "#/schemas/releases"
tags_stream:
name: "tags"
$ref: "#/definitions/base_projects_child_stream"
primary_key: ["project_id", "name"]
transformations:
- "#/definitions/add_project_id_field"
- type: AddFields
fields:
- type: AddedFieldDefinition
path: ["commit_id"]
value: "{{ (record.get('commit') or {}).get('id') }}"
$parameters:
path: "projects/{{ stream_slice.id }}/repository/tags"
schema_loader:
type: InlineSchemaLoader
schema:
$ref: "#/schemas/tags"
users_stream:
name: "users"
$ref: "#/definitions/base_projects_child_stream"
primary_key: "name"
$parameters:
path: "projects/{{ stream_slice.id }}/users"
schema_loader:
type: InlineSchemaLoader
schema:
$ref: "#/schemas/users"
deployments_stream:
name: "deployments"
$ref: "#/definitions/base_projects_child_stream"
transformations:
- "#/definitions/add_project_id_field"
- type: AddFields
fields:
- type: AddedFieldDefinition
path: ["user_username"]
value: "{{ (record.get('user') or {}).get('username') }}"
- type: AddedFieldDefinition
path: ["user_full_name"]
value: "{{ (record.get('user') or {}).get('name') }}"
- type: AddedFieldDefinition
path: ["environment_name"]
value: "{{ (record.get('environment') or {}).get('name') }}"
- type: AddedFieldDefinition
path: ["user_id"]
value: "{{ (record.get('user') or {}).get('id') }}"
- type: AddedFieldDefinition
path: ["environment_id"]
value: "{{ (record.get('environment') or {}).get('id') }}"
$parameters:
path: "projects/{{ stream_slice.id }}/deployments"
schema_loader:
type: InlineSchemaLoader
schema:
$ref: "#/schemas/deployments"
merge_request_commits_stream:
name: "merge_request_commits"
$ref: "#/definitions/base_projects_child_stream"
retriever:
$ref: "#/definitions/retriever"
partition_router:
type: SubstreamPartitionRouter
parent_stream_configs:
- type: ParentStreamConfig
parent_key: "iid"
stream: "#/definitions/merge_requests_stream"
partition_field: "iid"
transformations:
- type: AddFields
fields:
- type: AddedFieldDefinition
path: ["project_id"]
value: "{{ stream_slice.parent_slice.id }}"
- type: AddedFieldDefinition
path: ["merge_request_iid"]
value: "{{ stream_slice.iid }}"
$parameters:
path: "projects/{{ stream_slice.parent_slice.id }}/merge_requests/{{ stream_slice.iid }}/commits"
schema_loader:
type: InlineSchemaLoader
schema:
$ref: "#/schemas/merge_request_commits"
pipelines_extended_stream:
name: "pipelines_extended"
$ref: "#/definitions/base_projects_child_stream"
retriever: "#/definitions/pipelines_child_streams_retriever"
$parameters:
path: "projects/{{ stream_slice.parent_slice.id }}/pipelines/{{ stream_slice.id }}"
schema_loader:
type: InlineSchemaLoader
schema:
$ref: "#/schemas/pipelines_extended"
jobs_stream:
name: "jobs"
$ref: "#/definitions/base_projects_child_stream"
retriever: "#/definitions/pipelines_child_streams_retriever"
transformations:
- type: AddFields
fields:
- type: AddedFieldDefinition
path: ["project_id"]
value: "{{ stream_slice.parent_slice.id }}"
- type: AddedFieldDefinition
path: ["user_id"]
value: "{{ (record.get('user') or {}).get('id') }}"
- type: AddedFieldDefinition
path: ["pipeline_id"]
value: "{{ (record.get('pipeline') or {}).get('id') }}"
- type: AddedFieldDefinition
path: ["runner_id"]
value: "{{ (record.get('runner') or {}).get('id') }}"
- type: AddedFieldDefinition
path: ["commit_id"]
value: "{{ (record.get('commit') or {}).get('id') }}"
$parameters:
path: "projects/{{ stream_slice.parent_slice.id }}/pipelines/{{ stream_slice.id }}/jobs"
schema_loader:
type: InlineSchemaLoader
schema:
$ref: "#/schemas/jobs"
# Incremental streams
commits_stream:
name: "commits"
$ref: "#/definitions/base_projects_incremental_child_stream"
transformations:
- "#/definitions/add_project_id_field"
$parameters:
path: "projects/{{ stream_slice.id }}/repository/commits"
cursor_field: "created_at"
lower_bound_filter: "since"
upper_bound_filter: "until"
request_parameters:
with_stats: "true"
schema_loader:
type: InlineSchemaLoader
schema:
$ref: "#/schemas/commits"
issues_stream:
name: "issues"
$ref: "#/definitions/base_projects_incremental_child_stream"
transformations:
- type: AddFields
fields:
- type: AddedFieldDefinition
path: ["author_id"]
value: "{{ (record.get('author') or {}).get('id') }}"
- type: AddedFieldDefinition
path: ["assignee_id"]
value: "{{ (record.get('assignee') or {}).get('id') }}"
- type: AddedFieldDefinition
path: ["closed_by_id"]
value: "{{ (record.get('closed_by') or {}).get('id') }}"
- type: AddedFieldDefinition
path: ["milestone_id"]
value: "{{ (record.get('milestone') or {}).get('id') }}"
- type: AddedFieldDefinition
path: ["assignees"]
value: |
{% set ids = [] %}
{% for data in record.get('assignees', []) %}
{% set _ = ids.append(data.get('id')) %}
{% endfor %}
{{ ids }}
$parameters:
path: "projects/{{ stream_slice.id }}/issues"
request_parameters:
scope: "all"
schema_loader:
type: InlineSchemaLoader
schema:
$ref: "#/schemas/issues"
merge_requests_stream:
name: "merge_requests"
$ref: "#/definitions/base_projects_incremental_child_stream"
transformations:
- type: AddFields
fields:
- type: AddedFieldDefinition
path: ["author_id"]
value: "{{ (record.get('author') or {}).get('id') }}"
- type: AddedFieldDefinition
path: ["assignee_id"]
value: "{{ (record.get('assignee') or {}).get('id') }}"
- type: AddedFieldDefinition
path: ["closed_by_id"]
value: "{{ (record.get('closed_by') or {}).get('id') }}"
- type: AddedFieldDefinition
path: ["milestone_id"]
value: "{{ (record.get('milestone') or {}).get('id') }}"
- type: AddedFieldDefinition
path: ["merged_by_id"]
value: "{{ (record.get('merged_by') or {}).get('id') }}"
- type: AddedFieldDefinition
path: ["assignees"]
value: |
{% set ids = [] %}
{% for data in record.get('assignees', []) %}
{% set _ = ids.append(data.get('id')) %}
{% endfor %}
{{ ids }}
$parameters:
path: "projects/{{ stream_slice.id }}/merge_requests"
request_parameters:
scope: "all"
schema_loader:
type: InlineSchemaLoader
schema:
$ref: "#/schemas/merge_requests"
pipelines_stream:
name: "pipelines"
$ref: "#/definitions/base_projects_incremental_child_stream"
$parameters:
path: "projects/{{ stream_slice.id }}/pipelines"
schema_loader:
type: InlineSchemaLoader
schema:
$ref: "#/schemas/pipelines"
streams:
# Groups-based streams
- "#/definitions/groups_stream"
- "#/definitions/group_milestones_stream"
- "#/definitions/group_members_stream"
- "#/definitions/group_labels_stream"
- "#/definitions/group_issue_boards_stream"
- "#/definitions/epics_stream"
- "#/definitions/epic_issues_stream"
# Projects-based streams
- "#/definitions/projects_stream"
- "#/definitions/project_milestones_stream"
- "#/definitions/project_members_stream"
- "#/definitions/project_labels_stream"
- "#/definitions/branches_stream"
- "#/definitions/releases_stream"
- "#/definitions/tags_stream"
- "#/definitions/users_stream"
- "#/definitions/deployments_stream"
- "#/definitions/commits_stream"
- "#/definitions/issues_stream"
- "#/definitions/merge_requests_stream"
- "#/definitions/merge_request_commits_stream"
- "#/definitions/pipelines_stream"
- "#/definitions/pipelines_extended_stream"
- "#/definitions/jobs_stream"
check:
type: CheckStream
stream_names:
- groups
schemas:
branches:
$schema: https://json-schema.org/draft-07/schema#
type: object
properties:
project_id:
description: ID of the project to which this branch belongs.
type:
- 'null'
- integer
name:
description: Name of the branch.
type:
- 'null'
- string
merged:
description: Indicates if the changes in this branch have been merged into another
branch.
type:
- 'null'
- boolean
protected:
description: Indicates if the branch is protected to prevent direct pushes.
type:
- 'null'
- boolean
developers_can_push:
description: Indicates if developers can push changes to this branch.
type:
- 'null'
- boolean
developers_can_merge:
description: Indicates if developers can merge changes to this branch.
type:
- 'null'
- boolean
can_push:
description: Indicates if the user has permission to push changes to this branch.
type:
- 'null'
- boolean
default:
description: Indicates if this is the default branch of the project.
type:
- 'null'
- boolean
web_url:
description: URL to view the branch in a web browser.
type:
- 'null'
- string
commit_id:
description: ID of the commit associated with this branch.
type:
- 'null'
- string
commit:
description: Details about the commit associated with this branch.
type:
- 'null'
- object
additionalProperties: true
commits:
$schema: https://json-schema.org/draft-07/schema#
type: object
properties:
project_id:
description: ID of the project to which the commit belongs.
type:
- 'null'
- integer
id:
description: Unique identifier of the commit.
type:
- 'null'
- string
short_id:
description: Shortened version of the commit's unique identifier.
type:
- 'null'
- string
created_at:
description: Date and time when the commit record was created.
type:
- 'null'
- string
format: date-time
parent_ids:
description: Array of unique identifiers of parent commits if the commit has multiple
parents.
type:
- 'null'
- array
items:
type:
- 'null'
- string
title:
description: Title or summary of the commit message.
type:
- 'null'
- string
message:
description: Description or text message associated with the commit.
type:
- 'null'
- string
author_name:
description: Name of the author who created the commit.
type:
- 'null'
- string
author_email:
description: Email of the author who created the commit.
type:
- 'null'
- string
authored_date:
description: Date and time when the commit was authored.
type:
- 'null'
- string
format: date-time
extended_trailers:
description: 'Additional information or metadata added to the commit. Eg: ''Cc''
field for carbon copy email addresses.'
type:
- 'null'
- object
properties:
Cc:
description: Carbon copy email addresses associated with the commit.
type:
- 'null'
- array
items:
type:
- 'null'
- string
committer_name:
description: Name of the committer who committed the changes.
type:
- 'null'
- string
committer_email:
description: Email of the committer who committed the changes.
type:
- 'null'
- string
committed_date:
description: Date and time when the commit was committed.
type:
- 'null'
- string
format: date-time
trailers:
description: Metadata information provided below the commit message.
type:
- 'null'
- object
web_url:
description: URL link to view the commit details in a web browser.
type:
- 'null'
- string
stats:
description: Statistics related to the commit changes like additions, deletions,
and total changes.
type:
- 'null'
- object
properties:
additions:
description: Number of lines added in the commit.
type:
- 'null'
- integer
deletions:
description: Number of lines deleted in the commit.
type:
- 'null'
- integer
total:
description: Total number of lines changed in the commit.
type:
- 'null'
- integer
deployments:
$schema: https://json-schema.org/draft-07/schema#
type: object
properties:
id:
description: Unique identifier of the deployment
type:
- 'null'
- integer
iid:
description: Identification number of the deployment
type:
- 'null'
- integer
status:
description: Status of the deployment
type:
- 'null'
- string
ref:
description: Reference of the deployment
type:
- 'null'
- string
sha:
description: SHA of the deployment
type:
- 'null'
- string
environment_name:
description: Name of the environment
type:
- 'null'
- string
created_at:
description: The timestamp when the deployment was created
type:
- 'null'
- string
format: date-time
updated_at:
description: Timestamp when the deployment was last updated
type:
- 'null'
- string
format: date-time
user:
description: User associated with the deployment
type:
- 'null'
- object
additionalProperties: true
user_full_name:
description: Full name of the user associated with the deployment
type:
- 'null'
- string
user_username:
description: Username of the user associated with the deployment
type:
- 'null'
- string
user_id:
description: Unique identifier of the user associated with the deployment
type:
- 'null'
- integer
environment:
description: Environment information of the deployment
type:
- 'null'
- object
additionalProperties: true
environment_id:
description: Unique identifier of the environment
type:
- 'null'
- integer
project_id:
description: Unique identifier of the project
type:
- 'null'
- integer
deployable:
description: Details of the deployment job
type:
- 'null'
- object
properties:
commit:
description: Information about the commit associated with the deployment
type:
- 'null'
- object
properties:
author_email:
description: Email of the author of the commit
type:
- 'null'
- string
author_name:
description: Name of the author of the commit
type:
- 'null'
- string
created_at:
description: Timestamp when the commit was created
type:
- 'null'
- string
format: date-time
id:
description: Unique identifier of the commit
type:
- 'null'
- string
message:
description: Message associated with the commit
type:
- 'null'
- string
short_id:
description: Short identifier of the commit
type:
- 'null'
- string
title:
description: Title of the commit
type:
- 'null'
- string
coverage:
description: Coverage information of the deployment
type:
- 'null'
- string
created_at:
description: Timestamp when the deployment was created
type:
- 'null'
- string
format: date-time
finished_at:
description: Timestamp when the deployment was finished
type:
- 'null'
- string
format: date-time
id:
description: Unique identifier of the deployment
type:
- 'null'
- integer
name:
description: Name of the deployment
type:
- 'null'
- string
ref:
description: Reference of the deployment
type:
- 'null'
- string
runner:
description: Runner information for the deployment
type:
- 'null'
- string
stage:
description: Stage of the deployment
type:
- 'null'
- string
started_at:
description: Timestamp when the deployment was started
type:
- 'null'
- string
format: date-time
status:
description: Status of the deployment
type:
- 'null'
- string
tag:
description: Tag information for the deployment
type:
- 'null'
- boolean
project:
description: Details of the project where the deployment occurred
type:
- 'null'
- object
properties:
ci_job_token_scope_enabled:
description: Flag indicating if the CI job token scope is enabled for
the project
type:
- 'null'
- boolean
user:
description: User associated with the deployment
type:
- 'null'
- object
properties:
id:
description: Unique identifier of the user
type:
- 'null'
- integer
name:
description: Name of the user
type:
- 'null'
- string
username:
description: Username of the user
type:
- 'null'
- string
state:
description: State information of the user
type:
- 'null'
- string
avatar_url:
description: URL of the user's avatar
type:
- 'null'
- string
web_url:
description: URL for accessing the user's information
type:
- 'null'
- string
created_at:
description: Timestamp when the user was created
type:
- 'null'
- string
format: date-time
bio:
description: Bio information of the user
type:
- 'null'
- string
location:
description: Location information of the user
type:
- 'null'
- string
public_email:
description: Public email of the user
type:
- 'null'
- string
skype:
description: Skype ID of the user
type:
- 'null'
- string
linkedin:
description: Linkedin profile of the user
type:
- 'null'
- string
twitter:
description: Twitter handle of the user
type:
- 'null'
- string
website_url:
description: URL for the user's website
type:
- 'null'
- string
organization:
description: Organization information of the user
type:
- 'null'
- string
pipeline:
description: Details of the pipeline used for the deployment
type:
- 'null'
- object
properties:
created_at:
description: Timestamp when the pipeline associated with the deployment
was created
type:
- 'null'
- string
format: date-time
id:
description: Unique identifier of the pipeline
type:
- 'null'
- integer
ref:
description: Reference of the pipeline
type:
- 'null'
- string
sha:
description: SHA of the pipeline
type:
- 'null'
- string
status:
description: Status of the pipeline
type:
- 'null'
- string
updated_at:
description: Timestamp when the pipeline associated with the deployment
was last updated
type:
- 'null'
- string
format: date-time
web_url:
description: URL for accessing the pipeline in a web browser
type:
- 'null'
- string
epic_issues:
$schema: https://json-schema.org/draft-07/schema#
type: object
properties:
id:
description: ID of the epic issue.
type:
- 'null'
- integer
iid:
description: Internal ID of the epic issue.
type:
- 'null'
- integer
project_id:
description: ID of the project the epic issue belongs to.
type:
- 'null'
- integer
title:
description: Title of the epic issue.
type:
- 'null'
- string
description:
description: Description of the epic issue.
type:
- 'null'
- string
state:
description: State of the epic issue.
type:
- 'null'
- string
created_at:
description: Timestamp when the epic issue was created.
type:
- 'null'
- string
format: date-time
updated_at:
description: Timestamp when the epic issue was last updated.
type:
- 'null'
- string
format: date-time
closed_at:
description: Timestamp when the epic issue was closed.
type:
- 'null'
- string
format: date-time
labels:
description: List of labels associated with the epic issue.
type:
- 'null'
- array
items:
type:
- 'null'
- string
milestone:
description: Information about the milestone associated with the epic issue.
type:
- 'null'
- object
additionalProperties: true
milestone_id:
description: ID of the milestone associated with the epic issue.
type:
- 'null'
- integer
assignees:
description: List of users assigned to the epic issue.
type:
- 'null'
- array
items:
description: Information about an assignee.
type:
- 'null'
- integer
assignee:
description: Information about the user assigned to the epic issue.
type:
- 'null'
- object
additionalProperties: true
assignee_id:
description: ID of the user assigned to the epic issue.
type:
- 'null'
- integer
author:
description: Information about the user who authored the epic issue.
type:
- 'null'
- object
additionalProperties: true
author_id:
description: ID of the user who authored the epic issue.
type:
- 'null'
- integer
user_notes_count:
description: Number of user notes added to the epic issue.
type:
- 'null'
- integer
upvotes:
description: Number of upvotes received for the epic issue.
type:
- 'null'
- integer
downvotes:
description: Number of downvotes received for the epic issue.
type:
- 'null'
- integer
due_date:
description: Due date set for the epic issue.
type:
- 'null'
- string
format: date
confidential:
description: Indicates if the epic issue is confidential.
type:
- 'null'
- boolean
weight:
description: Weight assigned to the epic issue.
type:
- 'null'
- integer
discussion_locked:
description: Indicates if the discussion on the epic issue is locked.
type:
- 'null'
- boolean
web_url:
description: URL link to access the epic issue.
type:
- 'null'
- string
time_stats:
description: Time-related statistics for the epic issue.
type:
- 'null'
- object
_links:
description: Links related to the epic issue.
type:
- 'null'
- object
epic_issue_id:
description: ID of the epic issue.
type:
- 'null'
- integer
merge_requests_count:
description: Number of merge requests related to the epic issue.
type:
- 'null'
- integer
type:
description: Type of the epic issue.
type:
- 'null'
- string
task_status:
description: Status of tasks associated with the epic issue.
type:
- 'null'
- string
moved_to_id:
description: ID of the epic issue it was moved to.
type:
- 'null'
- integer
iteration:
description: Information about the iteration associated with the epic issue.
type:
- 'null'
- object
properties:
id:
type:
- 'null'
- integer
iid:
type:
- 'null'
- integer
sequence:
type:
- 'null'
- integer
group_id:
type:
- 'null'
- integer
title:
type:
- 'null'
- string
description:
type:
- 'null'
- string
state:
type:
- 'null'
- integer
created_at:
description: Timestamp when the iteration was created.
type:
- 'null'
- string
format: date-time
updated_at:
description: Timestamp when the iteration was last updated.
type:
- 'null'
- string
format: date-time
start_date:
description: Start date of the iteration.
type:
- 'null'
- string
format: date
due_date:
description: Due date set for the iteration.
type:
- 'null'
- string
format: date
web_url:
type:
- 'null'
- string
has_tasks:
description: Indicates if the epic issue has associated tasks.
type:
- 'null'
- boolean
blocking_issues_count:
description: Number of blocking issues related to the epic issue.
type:
- 'null'
- integer
closed_by:
description: Information about the user who closed the epic issue.
type:
- 'null'
- object
properties:
state:
type:
- 'null'
- string
web_url:
type:
- 'null'
- string
avatar_url:
type:
- 'null'
- string
username:
type:
- 'null'
- string
id:
type:
- 'null'
- integer
name:
type:
- 'null'
- string
references:
description: References related to the epic issue.
type:
- 'null'
- object
properties:
full:
type:
- 'null'
- string
relative:
type:
- 'null'
- string
short:
type:
- 'null'
- string
epic:
description: Information about the epic that the issue belongs to.
type:
- 'null'
- object
properties:
id:
type:
- 'null'
- integer
iid:
type:
- 'null'
- integer
title:
type:
- 'null'
- string
url:
type:
- 'null'
- string
group_id:
type:
- 'null'
- integer
human_readable_end_date:
type:
- 'null'
- string
human_readable_timestamp:
type:
- 'null'
- string
issue_type:
description: Type of the epic issue.
type:
- 'null'
- string
severity:
description: Severity level of the epic issue.
type:
- 'null'
- string
service_desk_reply_to:
description: ID of the service desk reply related to the epic issue.
type:
- 'null'
- string
task_completion_status:
description: Status of task completion for the epic issue.
type:
- 'null'
- object
properties:
count:
description: Total count of tasks.
type:
- 'null'
- integer
completed_count:
description: Number of completed tasks.
type:
- 'null'
- integer
relative_position:
description: Relative position of the epic issue.
type:
- 'null'
- integer
epic_iid:
description: Internal ID of the epic the issue belongs to.
type:
- 'null'
- integer
epics:
$schema: https://json-schema.org/draft-07/schema#
type: object
properties:
id:
description: Unique ID of the epic
type:
- 'null'
- integer
iid:
description: Internal ID of the epic
type:
- 'null'
- integer
group_id:
description: ID of the group to which the epic belongs
type:
- 'null'
- integer
parent_id:
description: ID of the parent epic, if any
type:
- 'null'
- integer
title:
description: Title of the epic
type:
- 'null'
- string
description:
description: Description of the epic
type:
- 'null'
- string
state:
description: Current state of the epic
type:
- 'null'
- string
confidential:
description: Flag indicating if the epic is confidential
type:
- 'null'
- boolean
web_url:
description: URL for viewing the epic in a web browser
type:
- 'null'
- string
reference:
description: Reference for the epic
type:
- 'null'
- string
references:
description: References associated with the epic
type:
- 'null'
- object
author:
description: Author of the epic
type:
- 'null'
- object
additionalProperties: true
author_id:
description: ID of the author
type:
- 'null'
- integer
start_date:
description: Start date of the epic
type:
- 'null'
- string
start_date_is_fixed:
description: Flag indicating if the start date is fixed
type:
- 'null'
- boolean
start_date_fixed:
description: Fixed start date of the epic
type:
- 'null'
- string
format: date
start_date_from_inherited_source:
description: Start date inherited from another source
type:
- 'null'
- string
- boolean
end_date:
description: End date of the epic
type:
- 'null'
- string
due_date:
description: Due date of the epic
type:
- 'null'
- string
due_date_is_fixed:
description: Flag indicating if the due date is fixed
type:
- 'null'
- boolean
due_date_fixed:
description: Fixed due date of the epic
type:
- 'null'
- string
format: date
due_date_from_inherited_source:
description: Due date inherited from another source
type:
- 'null'
- string
created_at:
description: Date and time when the epic was created
type:
- 'null'
- string
format: date-time
updated_at:
description: Date and time when the epic was last updated
type:
- 'null'
- string
format: date-time
closed_at:
description: Date and time when the epic was closed
type:
- 'null'
- string
format: date-time
labels:
description: Labels associated with the epic
type:
- 'null'
- array
upvotes:
description: Number of upvotes received by the epic
type:
- 'null'
- integer
downvotes:
description: Number of downvotes received by the epic
type:
- 'null'
- integer
parent_iid:
description: Internal ID of the parent epic
type:
- 'null'
- integer
color:
description: Color associated with the epic
type:
- 'null'
- string
text_color:
description: Text color associated with the epic
type:
- 'null'
- string
web_edit_url:
description: URL for editing the epic in a web browser
type:
- 'null'
- string
due_date_from_milestones:
description: Due date linked to milestone
type:
- 'null'
- string
format: date
_links:
description: Contains links to related resources for the epic
type:
- 'null'
- object
properties:
self:
description: Link to the epic resource itself
type:
- 'null'
- string
epic_issues:
description: Link to the list of issues associated with the epic
type:
- 'null'
- string
group:
description: Link to the group to which the epic belongs
type:
- 'null'
- string
parent:
description: Link to the parent epic, if any
type:
- 'null'
- string
start_date_from_milestones:
description: Start date linked to milestone
type:
- 'null'
- string
format: date
group_issue_boards:
$schema: https://json-schema.org/draft-07/schema#
type: object
properties:
id:
description: The unique identifier of the board.
type:
- 'null'
- integer
name:
description: The name of the board.
type:
- 'null'
- string
hide_backlog_list:
description: Flag indicating whether the backlog list is hidden.
type:
- 'null'
- boolean
hide_closed_list:
description: Flag indicating whether the closed list is hidden.
type:
- 'null'
- boolean
project:
description: Additional information or settings related to the project.
type:
- 'null'
- integer
lists:
description: A collection of lists on the issue board.
type:
- 'null'
- array
items:
description: Information about a specific list in the issue board.
type:
- 'null'
- object
properties:
id:
description: The ID of the list in the board.
type:
- 'null'
- integer
label:
description: The label or title of the list.
type:
- 'null'
- object
properties:
id:
description: The unique identifier of the list label.
type:
- 'null'
- integer
name:
description: The name of the list label.
type:
- 'null'
- string
description:
description: The description of the list label.
type:
- 'null'
- string
description_html:
description: The HTML formatted description of the list label.
type:
- 'null'
- string
text_color:
description: The text color of the list label.
type:
- 'null'
- string
color:
description: The color associated with the list label.
type:
- 'null'
- string
position:
description: The position of the list in the board.
type:
- 'null'
- integer
group_id:
description: The ID of the group to which the board belongs.
type:
- 'null'
- integer
group:
description: Details of the group to which the issue board belongs.
type:
- 'null'
- object
properties:
id:
description: The ID of the group to which the board belongs.
type:
- 'null'
- integer
name:
description: The name of the group to which the board belongs.
type:
- 'null'
- string
web_url:
description: The URL of the group's web interface.
type:
- 'null'
- string
group_labels:
$schema: https://json-schema.org/draft-07/schema#
type: object
properties:
group_id:
description: The unique identifier of the group to which the label belongs.
type:
- 'null'
- integer
id:
description: The unique identifier of the group label.
type:
- 'null'
- integer
name:
description: The name of the group label.
type:
- 'null'
- string
color:
description: The color associated with the group label for visual identification.
type:
- 'null'
- string
description:
description: The short description of the group label.
type:
- 'null'
- string
description_html:
description: The HTML formatted description of the group label.
type:
- 'null'
- string
text_color:
description: The text color used for the group label.
type:
- 'null'
- string
subscribed:
description: Indicates if the user is subscribed to notifications for this group
label.
type:
- 'null'
- boolean
open_issues_count:
description: The total number of open issues in the group label.
type:
- 'null'
- integer
closed_issues_count:
description: The total number of closed issues in the group label.
type:
- 'null'
- integer
open_merge_requests_count:
description: The total number of open merge requests in the group label.
type:
- 'null'
- integer
group_members:
$schema: https://json-schema.org/draft-07/schema#
type: object
properties:
group_id:
type:
- 'null'
- integer
id:
type:
- 'null'
- integer
name:
type:
- 'null'
- string
username:
type:
- 'null'
- string
state:
type:
- 'null'
- string
membership_state:
type:
- 'null'
- string
avatar_url:
type:
- 'null'
- string
web_url:
type:
- 'null'
- string
access_level:
type:
- 'null'
- integer
created_at:
type:
- 'null'
- string
format: date-time
expires_at:
type:
- 'null'
- string
format: date-time
created_by:
avatar_url:
type:
- 'null'
- string
id:
type:
- 'null'
- integer
name:
type:
- 'null'
- string
state:
type:
- 'null'
- string
username:
type:
- 'null'
- string
web_url:
type:
- 'null'
- string
locked:
type:
- 'null'
- boolean
group_milestones:
$schema: https://json-schema.org/draft-07/schema#
type: object
properties:
id:
description: The unique identifier of the milestone
type:
- 'null'
- integer
iid:
description: The internal identifier of the milestone
type:
- 'null'
- integer
group_id:
description: The unique identifier of the group to which the milestone belongs
type:
- 'null'
- integer
title:
description: The title or name of the milestone
type:
- 'null'
- string
description:
description: The detailed description of the milestone
type:
- 'null'
- string
state:
description: The current state of the milestone (e.g., open, closed)
type:
- 'null'
- string
created_at:
description: The datetime when the milestone was created
type:
- 'null'
- string
format: date-time
updated_at:
description: The datetime when the milestone was last updated
type:
- 'null'
- string
format: date-time
due_date:
description: The date by which the milestone is expected to be completed
type:
- 'null'
- string
format: date
start_date:
description: The date when the milestone is scheduled to start
type:
- 'null'
- string
format: date
expired:
description: Indicates whether the milestone has expired
type:
- 'null'
- boolean
web_url:
description: The URL to access the milestone in the web interface
type:
- 'null'
- string
groups:
$schema: https://json-schema.org/draft-07/schema#
type: object
properties:
projects:
description: List of projects within the group.
type:
- 'null'
- array
items:
type: object
properties:
id:
description: Unique identifier of the project.
type:
- 'null'
- integer
path_with_namespace:
description: Path with namespace of the project.
type:
- 'null'
- string
id:
description: Unique identifier for the group.
type:
- 'null'
- integer
organization_id:
description: Identifier of the organization to which the group belongs.
type:
- 'null'
- integer
default_branch_protection_defaults:
description: Default branch protection settings for the group.
type:
- 'null'
- object
properties:
allow_force_push:
description: Indicates if force push is allowed.
type:
- 'null'
- boolean
allowed_to_merge:
description: List of users/groups allowed to merge code.
type:
- 'null'
- array
items:
type:
- 'null'
- object
properties:
access_level:
description: Access level for merging code.
type:
- 'null'
- integer
allowed_to_push:
description: List of users/groups allowed to push code.
type:
- 'null'
- array
items:
type:
- 'null'
- object
properties:
access_level:
description: Access level for pushing code.
type:
- 'null'
- integer
web_url:
description: URL for accessing the group via web.
type:
- 'null'
- string
name:
description: Name of the group.
type:
- 'null'
- string
path:
description: Path of the group.
type:
- 'null'
- string
description:
description: Description of the group.
type:
- 'null'
- string
visibility:
description: Visibility level of the group.
type:
- 'null'
- string
- integer
- boolean
share_with_group_lock:
description: Indicates if sharing with group is locked.
type:
- 'null'
- boolean
require_two_factor_authentication:
description: Indicates if two-factor authentication is required.
type:
- 'null'
- boolean
two_factor_grace_period:
description: Grace period for two-factor authentication.
type:
- 'null'
- integer
project_creation_level:
description: Project creation level for the group.
type:
- 'null'
- string
auto_devops_enabled:
description: Indicates if Auto DevOps is enabled for this group.
type:
- 'null'
- boolean
subgroup_creation_level:
description: Subgroup creation level for the group.
type:
- 'null'
- string
enabled_git_access_protocol:
description: Indicates the enabled Git access protocol for the group.
type:
- 'null'
- string
emails_disabled:
description: Indicates if emails are disabled for the group.
type:
- 'null'
- boolean
emails_enabled:
description: Indicates if emails are enabled for the group.
type:
- 'null'
- boolean
mentions_disabled:
description: Indicates if mentions are disabled for the group.
type:
- 'null'
- boolean
lfs_enabled:
description: Indicates if LFS is enabled for the group.
type:
- 'null'
- boolean
default_branch_protection:
description: Indicates the default branch protection level for the group.
type:
- 'null'
- integer
avatar_url:
description: URL of the group's avatar.
type:
- 'null'
- string
request_access_enabled:
description: Indicates if request access is enabled for the group.
type:
- 'null'
- boolean
full_name:
description: Full name of the group.
type:
- 'null'
- string
full_path:
description: Full path of the group.
type:
- 'null'
- string
created_at:
description: Timestamp when the group was created.
type:
- 'null'
- string
format: date-time
parent_id:
description: Identifier of the parent group.
type:
- 'null'
- integer
ldap_cn:
description: LDAP CN for the group.
type:
- 'null'
- string
ldap_access:
description: Indicates LDAP access for the group.
type:
- 'null'
- string
- integer
- boolean
shared_with_groups:
description: List of groups with which the group is shared.
type:
- 'null'
- array
runners_token:
description: Token used for shared runners.
type:
- 'null'
- string
shared_projects:
description: List of shared projects.
type:
- 'null'
- array
shared_runners_minutes_limit:
description: Shared runners minutes limit for the group.
type:
- 'null'
- integer
extra_shared_runners_minutes_limit:
description: Extra shared runners minutes limit for the group.
type:
- 'null'
- integer
prevent_forking_outside_group:
description: Indicates if forking outside the group is prevented.
type:
- 'null'
- boolean
wiki_access_level:
description: Access level for wiki in the group.
type:
- 'null'
- string
marked_for_deletion_on:
description: Date when the group was marked for deletion.
type:
- 'null'
- string
format: date
prevent_sharing_groups_outside_hierarchy:
description: Indicates if sharing groups outside hierarchy is prevented.
type:
- 'null'
- boolean
membership_lock:
description: Indicates if membership is locked for the group.
type:
- 'null'
- boolean
ip_restriction_ranges:
description: IP restriction ranges for the group.
type:
- 'null'
- string
shared_runners_setting:
description: Setting for shared runners.
type:
- 'null'
- string
service_access_tokens_expiration_enforced:
description: Indicates if service access tokens expiration is enforced.
type:
- 'null'
- boolean
lock_math_rendering_limits_enabled:
description: Indicates if math rendering limits are locked.
type:
- 'null'
- boolean
math_rendering_limits_enabled:
description: Indicates if math rendering limits are enabled.
type:
- 'null'
- boolean
issues:
$schema: https://json-schema.org/draft-07/schema#
type: object
properties:
id:
description: ID of the issue.
type:
- 'null'
- integer
iid:
description: Internal ID of the issue.
type:
- 'null'
- integer
project_id:
description: ID of the project to which the issue belongs.
type:
- 'null'
- integer
title:
description: Title of the issue.
type:
- 'null'
- string
description:
description: Description of the issue.
type:
- 'null'
- string
state:
description: State of the issue.
type:
- 'null'
- string
created_at:
description: Date and time when the issue was created.
type:
- 'null'
- string
format: date-time
updated_at:
description: Date and time when the issue was last updated.
type:
- 'null'
- string
format: date-time
closed_at:
description: Date and time when the issue was closed.
type:
- 'null'
- string
format: date-time
labels:
description: Labels associated with the issue.
type:
- 'null'
- array
items:
type:
- 'null'
- string
assignees:
description: List of users assigned to the issue.
type:
- 'null'
- array
items:
type:
- 'null'
- integer
type:
description: Type of the issue.
type:
- 'null'
- string
user_notes_count:
description: Number of user notes added to the issue.
type:
- 'null'
- integer
merge_requests_count:
description: Number of merge requests associated with the issue.
type:
- 'null'
- integer
upvotes:
description: Number of upvotes for the issue.
type:
- 'null'
- integer
downvotes:
description: Number of downvotes for the issue.
type:
- 'null'
- integer
due_date:
description: Due date set for the issue.
type:
- 'null'
- string
confidential:
description: Indicates if the issue is confidential.
type:
- 'null'
- boolean
discussion_locked:
description: Indicates if discussion is locked for the issue.
type:
- 'null'
- boolean
issue_type:
description: Type of issue.
type:
- 'null'
- string
web_url:
description: URL of the issue in GitLab.
type:
- 'null'
- string
time_stats:
description: Time statistics related to the issue.
type:
- 'null'
- object
task_completion_status:
description: Task completion status for the issue.
type:
- 'null'
- object
blocking_issues_count:
description: Number of blocking issues for this issue.
type:
- 'null'
- integer
has_tasks:
description: Indicates if the issue has tasks.
type:
- 'null'
- boolean
_links:
description: Links related to the GitLab issue.
type:
- 'null'
- object
references:
description: References related to the issue.
type:
- 'null'
- object
moved_to_id:
description: ID of the issue to which this issue has been moved.
type:
- 'null'
- integer
- string
service_desk_reply_to:
description: Service desk reply to information for the issue.
type:
- 'null'
- string
author:
description: Details of the author of the issue.
type:
- 'null'
- object
properties:
state:
description: State of the author's account.
type:
- 'null'
- string
name:
description: Name of the author.
type:
- 'null'
- string
web_url:
description: URL of the author's GitLab profile.
type:
- 'null'
- string
avatar_url:
description: URL of the author's avatar image.
type:
- 'null'
- string
username:
description: Username of the author.
type:
- 'null'
- string
id:
description: ID of the author.
type:
- 'null'
- integer
locked:
description: Indicates if the author's account is locked.
type:
- 'null'
- boolean
author_id:
description: ID of the author of the issue.
type:
- 'null'
- integer
assignee:
description: Details of the user assigned to the issue.
type:
- 'null'
- object
properties:
state:
description: State of the assignee account.
type:
- 'null'
- string
name:
description: Name of the assignee.
type:
- 'null'
- string
web_url:
description: URL of the assignee's GitLab profile.
type:
- 'null'
- string
avatar_url:
description: URL of the assignee's avatar image.
type:
- 'null'
- string
username:
description: Username of the assignee.
type:
- 'null'
- string
id:
description: ID of the assignee.
type:
- 'null'
- integer
locked:
description: Indicates if the assignee account is locked.
type:
- 'null'
- boolean
assignee_id:
description: ID of the user assigned to the issue.
type:
- 'null'
- integer
closed_by:
description: Details of the user who closed the issue.
type:
- 'null'
- object
properties:
state:
description: State of the user's account who closed the issue.
type:
- 'null'
- string
name:
description: Name of the user who closed the issue.
type:
- 'null'
- string
web_url:
description: URL of the user's GitLab profile who closed the issue.
type:
- 'null'
- string
avatar_url:
description: URL of the user's avatar image.
type:
- 'null'
- string
username:
description: Username of the user who closed the issue.
type:
- 'null'
- string
human_readable_end_date:
description: Human-readable end date of the user.
type:
- 'null'
- string
human_readable_timestamp:
description: Human-readable timestamp of the user.
type:
- 'null'
- string
id:
description: ID of the user who closed the issue.
type:
- 'null'
- integer
locked:
description: Indicates if the user's account is locked.
type:
- 'null'
- boolean
closed_by_id:
description: ID of the user who closed the issue.
type:
- 'null'
- integer
milestone:
description: Milestone associated with the issue.
type:
- 'null'
- object
additionalProperties: true
milestone_id:
description: ID of the milestone associated with the issue.
type:
- 'null'
- integer
subscribed:
description: Indicates if the user is subscribed to the issue.
type:
- 'null'
- boolean
weight:
description: Weight assigned to the issue.
type:
- 'null'
- integer
task_status:
description: Status of tasks associated with the issue.
type:
- 'null'
- string
severity:
description: Severity level of the issue.
type:
- 'null'
- string
iteration:
description: Details of the iteration to which the issue belongs.
type:
- 'null'
- object
properties:
id:
description: ID of the iteration.
type:
- 'null'
- integer
iid:
description: Internal ID of the iteration.
type:
- 'null'
- integer
sequence:
description: Order sequence of the iteration.
type:
- 'null'
- integer
group_id:
description: ID of the group to which the iteration belongs.
type:
- 'null'
- integer
title:
description: Title of the iteration.
type:
- 'null'
- string
description:
description: Description of the iteration.
type:
- 'null'
- string
state:
description: State of the iteration.
type:
- 'null'
- integer
created_at:
description: Date and time when the iteration was created.
type:
- 'null'
- string
format: date-time
updated_at:
description: Date and time when the iteration was last updated.
type:
- 'null'
- string
format: date-time
start_date:
description: Start date of the iteration.
type:
- 'null'
- string
format: date-time
due_date:
description: Due date set for the iteration.
type:
- 'null'
- string
format: date-time
web_url:
description: URL of the iteration in GitLab.
type:
- 'null'
- string
epic:
description: Details of the epic to which the issue belongs.
type:
- 'null'
- object
properties:
id:
description: ID of the epic.
type:
- 'null'
- integer
iid:
description: Internal ID of the epic.
type:
- 'null'
- integer
title:
description: Title of the epic.
type:
- 'null'
- string
url:
description: URL of the epic in GitLab.
type:
- 'null'
- string
group_id:
description: ID of the group to which the epic belongs.
type:
- 'null'
- integer
locked:
description: Indicates if the epic is locked.
type:
- 'null'
- boolean
human_readable_end_date:
description: Human-readable end date of the epic.
type:
- 'null'
- string
human_readable_timestamp:
description: Human-readable timestamp of the epic.
type:
- 'null'
- string
epic_iid:
description: Internal ID of the epic the issue belongs to.
type:
- 'null'
- integer
jobs:
$schema: https://json-schema.org/draft-07/schema#
type: object
properties:
id:
description: Unique identifier for the job.
type:
- 'null'
- integer
status:
description: Current status of the job.
type:
- 'null'
- string
stage:
description: Stage to which the job belongs in the pipeline.
type:
- 'null'
- string
archived:
description: Indicates if the job has been archived.
type:
- 'null'
- boolean
name:
description: Name of the job.
type:
- 'null'
- string
ref:
description: Reference or branch for which the job was triggered.
type:
- 'null'
- string
tag:
description: Indicates if the job is tagged.
type:
- 'null'
- boolean
coverage:
description: Code coverage achieved by the job.
type:
- 'null'
- number
- string
allow_failure:
description: Specifies if the job is allowed to fail.
type:
- 'null'
- boolean
created_at:
description: Date and time when the job was created.
type:
- 'null'
- string
format: date-time
started_at:
description: Date and time when the job execution started.
type:
- 'null'
- string
format: date-time
finished_at:
description: Date and time when the job finished execution.
type:
- 'null'
- string
format: date-time
duration:
description: Duration of the job execution.
type:
- 'null'
- number
queued_duration:
description: Duration for which the job was in the queue.
type:
- 'null'
- number
web_url:
description: URL to access the job details on the web platform.
type:
- 'null'
- string
artifacts:
description: List of artifacts generated by the job.
type:
- 'null'
- array
artifacts_expire_at:
description: Date and time when artifacts will expire.
type:
- 'null'
- string
format: date-time
tag_list:
description: List of tags associated with the job.
type:
- 'null'
- array
user:
description: Details of the user who triggered the job.
type:
- 'null'
- object
additionalProperties: true
user_id:
description: ID of the user who triggered the job.
type:
- 'null'
- integer
pipeline:
description: Details of the pipeline to which the job belongs.
type:
- 'null'
- object
additionalProperties: true
pipeline_id:
description: ID of the pipeline to which the job belongs.
type:
- 'null'
- integer
runner:
description: Details of the runner on which the job is executed.
type:
- 'null'
- object
additionalProperties: true
runner_id:
description: ID of the runner on which the job is executed.
type:
- 'null'
- integer
commit:
description: Details of the commit associated with the job.
type:
- 'null'
- object
additionalProperties: true
commit_id:
description: ID of the commit associated with the job.
type:
- 'null'
- string
project_id:
description: ID of the project to which the job belongs.
type:
- 'null'
- integer
erased_at:
description: Date and time when the job was erased.
type:
- 'null'
- string
format: date-time
failure_reason:
description: Reason for job failure, if applicable.
type:
- 'null'
- string
project:
description: Details of the project to which the job belongs.
type:
- 'null'
- object
properties:
ci_job_token_scope_enabled:
description: Indicates if the CI job token scope is enabled for the project.
type:
- 'null'
- boolean
merge_request_commits:
$schema: https://json-schema.org/draft-07/schema#
type: object
properties:
project_id:
description: Identifier of the project where the commit was made
type:
- 'null'
- integer
id:
description: Unique identifier for the commit
type:
- 'null'
- string
short_id:
description: Shortened version of the commit ID
type:
- 'null'
- string
created_at:
description: Date and time when the commit was created
type:
- 'null'
- string
format: date-time
parent_ids:
description: Array of parent commit identifiers
type:
- 'null'
- array
items:
type:
- 'null'
- string
title:
description: Title of the commit representing the changes made
type:
- 'null'
- string
message:
description: The commit message describing the changes made
type:
- 'null'
- string
author_name:
description: Name of the author who made the commit
type:
- 'null'
- string
author_email:
description: Email of the author who made the commit
type:
- 'null'
- string
authored_date:
description: Date and time the commit was authored
type:
- 'null'
- string
format: date-time
extended_trailers:
description: Additional information regarding the commit trailers
type:
- 'null'
- object
properties:
Cc:
description: Carbon Copy recipients related to the commit
type:
- 'null'
- array
items:
type:
- 'null'
- string
committer_name:
description: Name of the committer who committed the changes
type:
- 'null'
- string
committer_email:
description: Email of the committer who committed the changes
type:
- 'null'
- string
committed_date:
description: Date and time the commit was committed
type:
- 'null'
- string
format: date-time
trailers:
description: Additional information or metadata related to the commit
type:
- 'null'
- object
web_url:
description: URL to view the commit details in a web browser
type:
- 'null'
- string
stats:
description: Statistics related to the commit changes
type:
- 'null'
- object
properties:
additions:
description: Number of lines added in the commit
type:
- 'null'
- integer
deletions:
description: Number of lines deleted in the commit
type:
- 'null'
- integer
total:
description: Total number of lines changed in the commit
type:
- 'null'
- integer
merge_request_iid:
description: Identifier of the merge request associated with the commit
type:
- 'null'
- integer
merge_requests:
$schema: https://json-schema.org/draft-07/schema#
type: object
properties:
id:
description: ID of the merge request.
type:
- 'null'
- integer
iid:
description: Internal ID of the merge request.
type:
- 'null'
- integer
project_id:
description: ID of the project to which the merge request belongs.
type:
- 'null'
- integer
title:
description: Title of the merge request.
type:
- 'null'
- string
description:
description: Description of the merge request.
type:
- 'null'
- string
state:
description: State of the merge request.
type:
- 'null'
- string
created_at:
description: Timestamp when the merge request was created.
type:
- 'null'
- string
format: date-time
prepared_at:
description: Timestamp when the merge request was prepared.
type:
- 'null'
- string
format: date-time
updated_at:
description: Timestamp when the merge request was last updated.
type:
- 'null'
- string
format: date-time
merged_at:
description: Timestamp when the merge request was merged.
type:
- 'null'
- string
format: date-time
closed_at:
description: Timestamp when the merge request was closed.
type:
- 'null'
- string
format: date-time
target_branch:
description: Name of the target branch for the merge request.
type:
- 'null'
- string
source_branch:
description: Name of the source branch for the merge request.
type:
- 'null'
- string
user_notes_count:
description: Total count of user notes on the merge request.
type:
- 'null'
- integer
upvotes:
description: Number of upvotes for the merge request.
type:
- 'null'
- integer
downvotes:
description: Number of downvotes for the merge request.
type:
- 'null'
- integer
assignees:
description: List of users assigned to this merge request.
type:
- 'null'
- array
items:
type:
- 'null'
- integer
reviewers:
description: List of reviewers assigned to the merge request.
type:
- 'null'
- array
source_project_id:
description: ID of the source project for the merge request.
type:
- 'null'
- integer
target_project_id:
description: ID of the target project for the merge request.
type:
- 'null'
- integer
labels:
description: List of labels associated with the merge request.
type:
- 'null'
- array
items:
type:
- 'null'
- string
work_in_progress:
description: Flag indicating if the merge request is a work in progress.
type:
- 'null'
- boolean
merge_when_pipeline_succeeds:
description: Flag indicating if the merge should happen when the pipeline succeeds.
type:
- 'null'
- boolean
merge_status:
description: Status of the merge request.
type:
- 'null'
- string
sha:
description: SHA of the merge request.
type:
- 'null'
- string
merge_commit_sha:
description: SHA of the merge commit.
type:
- 'null'
- string
squash_commit_sha:
description: SHA of the squashed commit.
type:
- 'null'
- string
discussion_locked:
description: Flag indicating if discussions are locked.
type:
- 'null'
- boolean
should_remove_source_branch:
description: Flag indicating if the source branch should be removed after merging.
type:
- 'null'
- boolean
force_remove_source_branch:
description: Flag indicating if the source branch should be removed after merging.
type:
- 'null'
- boolean
reference:
description: Reference of the merge request.
type:
- 'null'
- string
references:
description: List of references associated with the merge request.
type:
- 'null'
- object
web_url:
description: URL to view the merge request in the GitLab UI.
type:
- 'null'
- string
time_stats:
description: Time statistics related to the merge request.
type:
- 'null'
- object
squash:
description: Flag indicating if squashing should be performed.
type:
- 'null'
- boolean
task_completion_status:
description: Status of task completion for the merge request.
type:
- 'null'
- object
has_conflicts:
description: Flag indicating if the merge request has conflicts.
type:
- 'null'
- boolean
blocking_discussions_resolved:
description: Flag indicating if all blocking discussions are resolved.
type:
- 'null'
- boolean
approvals_before_merge:
description: Total number of approvals required before the merge request can be
merged.
type:
- 'null'
- boolean
- string
- object
author:
description: Author of the merge request.
type:
- 'null'
- object
additionalProperties: true
author_id:
description: ID of the author of the merge request.
type:
- 'null'
- integer
assignee:
description: User assigned to this merge request.
type:
- 'null'
- object
additionalProperties: true
assignee_id:
description: ID of the user assigned to this merge request.
type:
- 'null'
- integer
closed_by:
description: User who closed the merge request.
type:
- 'null'
- object
additionalProperties: true
closed_by_id:
description: ID of the user who closed the merge request.
type:
- 'null'
- integer
milestone:
description: Milestone associated with the merge request.
type:
- 'null'
- object
additionalProperties: true
milestone_id:
description: ID of the milestone associated with the merge request.
type:
- 'null'
- integer
merged_by:
description: User who merged the merge request.
type:
- 'null'
- object
additionalProperties: true
merged_by_id:
description: ID of the user who merged the merge request.
type:
- 'null'
- integer
draft:
description: Flag indicating if the merge request is a draft.
type:
- 'null'
- boolean
detailed_merge_status:
description: Detailed status of the merge request.
type:
- 'null'
- string
squash_on_merge:
description: Flag indicating if squashing should be done on merge.
type:
- 'null'
- boolean
merge_user:
description: User who performed the merge.
type:
- 'null'
- object
properties:
id:
description: ID of the user who performed the merge.
type:
- 'null'
- integer
name:
description: Name of the user.
type:
- 'null'
- string
username:
description: Username of the user.
type:
- 'null'
- string
state:
description: State of the user account.
type:
- 'null'
- string
avatar_url:
description: URL of the user's avatar.
type:
- 'null'
- string
web_url:
description: URL to the user's profile.
type:
- 'null'
- string
locked:
description: Flag indicating if the user account is locked.
type:
- 'null'
- boolean
pipelines_extended:
$schema: https://json-schema.org/draft-07/schema#
type: object
properties:
id:
description: Unique identifier of the pipeline
type:
- 'null'
- integer
iid:
description: Internal ID of the pipeline
type:
- 'null'
- integer
project_id:
description: ID of the project associated with the pipeline
type:
- 'null'
- integer
sha:
description: The commit SHA of the current state triggering the pipeline
type:
- 'null'
- string
source:
description: Source that triggered the pipeline (e.g., push, webhook)
type:
- 'null'
- string
ref:
description: Branch or tag name for which the pipeline was triggered
type:
- 'null'
- string
status:
description: Current status of the pipeline (e.g., running, success, failed)
type:
- 'null'
- string
created_at:
description: The date and time when the pipeline was created
type:
- 'null'
- string
format: date-time
updated_at:
description: The date and time when pipeline information was last updated
type:
- 'null'
- string
format: date-time
web_url:
description: URL to view the pipeline details on the web interface
type:
- 'null'
- string
before_sha:
description: The commit SHA of the previous state before the pipeline was triggered
type:
- 'null'
- string
tag:
description: Boolean indicating if the pipeline was triggered by a tag
type:
- 'null'
- boolean
yaml_errors:
description: Any errors encountered in the pipeline configuration YAML
type:
- 'null'
- string
user:
description: Details of the user associated with the pipeline
type: object
properties:
id:
description: Unique identifier of the user
type:
- 'null'
- integer
name:
description: Name of the user
type:
- 'null'
- string
username:
description: Username of the user
type:
- 'null'
- string
state:
description: State of the user account (e.g., active, blocked)
type:
- 'null'
- string
avatar_url:
description: URL of the user's avatar
type:
- 'null'
- string
web_url:
description: URL to the user's profile
type:
- 'null'
- string
locked:
description: Boolean indicating if the user account is locked
type:
- 'null'
- boolean
started_at:
description: The date and time when the pipeline execution started
type:
- 'null'
- string
format: date-time
finished_at:
description: The date and time when the pipeline execution was finished
type:
- 'null'
- string
format: date-time
committed_at:
description: The date and time when the commit was made
type:
- 'null'
- string
format: date-time
duration:
description: The total duration of the pipeline execution in seconds
type:
- 'null'
- integer
queued_duration:
description: The duration the pipeline spent in the queue before execution
type:
- 'null'
- number
- string
coverage:
description: The code coverage percentage achieved in the pipeline
type:
- 'null'
- number
- string
detailed_status:
description: Detailed status of the pipeline execution
type:
- 'null'
- object
name:
description: Name of the pipeline
type:
- 'null'
- string
pipelines:
$schema: https://json-schema.org/draft-07/schema#
type: object
properties:
id:
description: Unique identifier for the pipeline
type:
- 'null'
- integer
iid:
description: Internal identifier for the pipeline within the project
type:
- 'null'
- integer
project_id:
description: Unique identifier for the project where the pipeline belongs
type:
- 'null'
- integer
sha:
description: Commit SHA associated with the pipeline
type:
- 'null'
- string
source:
description: Source that triggered the pipeline (e.g., web, push, schedule)
type:
- 'null'
- string
ref:
description: Reference (branch or tag) for which the pipeline was triggered
type:
- 'null'
- string
status:
description: Current status of the pipeline (e.g., running, passed, failed)
type:
- 'null'
- string
created_at:
description: The timestamp when the pipeline was created
type:
- 'null'
- string
format: date-time
updated_at:
description: The timestamp when the pipeline was last updated
type:
- 'null'
- string
format: date-time
web_url:
description: URL to view the pipeline details on the web interface
type:
- 'null'
- string
name:
description: Name of the pipeline
type:
- 'null'
- string
project_labels:
$schema: https://json-schema.org/draft-07/schema#
type: object
properties:
project_id:
description: The unique identifier of the project to which the label belongs.
type:
- 'null'
- integer
id:
description: The unique identifier for the label within the project.
type:
- 'null'
- integer
name:
description: The name or title of the label for easy identification.
type:
- 'null'
- string
color:
description: The color code representation of the label for visual identification.
type:
- 'null'
- string
description:
description: The textual description of the label indicating its purpose or meaning.
type:
- 'null'
- string
description_html:
description: The HTML formatted description of the label for display purposes.
type:
- 'null'
- string
text_color:
description: The color code representation for the text color of the label for
contrast.
type:
- 'null'
- string
subscribed:
description: A flag indicating whether the user is subscribed to notifications
for this label.
type:
- 'null'
- boolean
priority:
description: The priority level assigned to the label, if applicable.
type:
- 'null'
- integer
is_project_label:
description: A flag indicating whether the label is specifically created for the
project.
type:
- 'null'
- boolean
open_issues_count:
description: The total count of open issues associated with this label.
type:
- 'null'
- integer
closed_issues_count:
description: The total count of closed issues associated with this label.
type:
- 'null'
- integer
open_merge_requests_count:
description: The total count of open merge requests associated with this label.
type:
- 'null'
- integer
project_members:
$schema: https://json-schema.org/draft-07/schema#
type: object
properties:
project_id:
type:
- 'null'
- integer
id:
type:
- 'null'
- integer
name:
type:
- 'null'
- string
username:
type:
- 'null'
- string
state:
type:
- 'null'
- string
membership_state:
type:
- 'null'
- string
avatar_url:
type:
- 'null'
- string
web_url:
type:
- 'null'
- string
access_level:
type:
- 'null'
- integer
created_at:
type:
- 'null'
- string
format: date-time
expires_at:
type:
- 'null'
- string
format: date-time
created_by:
avatar_url:
type:
- 'null'
- string
id:
type:
- 'null'
- integer
name:
type:
- 'null'
- string
state:
type:
- 'null'
- string
username:
type:
- 'null'
- string
web_url:
type:
- 'null'
- string
locked:
type:
- 'null'
- boolean
project_milestones:
$schema: https://json-schema.org/draft-07/schema#
type: object
properties:
id:
description: Unique identifier for the milestone.
type:
- 'null'
- integer
iid:
description: Internal identifier for the milestone.
type:
- 'null'
- integer
project_id:
description: Identifier of the project that the milestone belongs to.
type:
- 'null'
- integer
title:
description: The title or name of the milestone.
type:
- 'null'
- string
description:
description: A brief summary or goal of the milestone.
type:
- 'null'
- string
state:
description: Current state of the milestone (e.g., open, closed).
type:
- 'null'
- string
created_at:
description: The date and time when the milestone was created.
type:
- 'null'
- string
format: date-time
updated_at:
description: The date and time when the milestone was last updated.
type:
- 'null'
- string
format: date-time
due_date:
description: The target date for completion of the milestone.
type:
- 'null'
- string
format: date
start_date:
description: The date when work on the milestone is scheduled to start.
type:
- 'null'
- string
format: date
expired:
description: Indicates if the milestone has expired or not.
type:
- 'null'
- boolean
web_url:
description: URL to access the milestone on the web platform.
type:
- 'null'
- string
projects:
$schema: https://json-schema.org/draft-07/schema#
type: object
properties:
id:
description: ID of the project
type:
- 'null'
- integer
description:
description: Description of the project
type:
- 'null'
- string
description_html:
description: HTML formatted project description
type:
- 'null'
- string
name:
description: Name of the project
type:
- 'null'
- string
name_with_namespace:
description: Name of the project with namespace
type:
- 'null'
- string
path:
description: Path of the project
type:
- 'null'
- string
path_with_namespace:
description: Path of the project with namespace
type:
- 'null'
- string
created_at:
description: Date and time of project creation
type:
- 'null'
- string
format: date-time
updated_at:
description: Date and time of last update
type:
- 'null'
- string
format: date-time
default_branch:
description: Default branch of the project
type:
- 'null'
- string
tag_list:
description: List of tags associated with the project
type:
- 'null'
- array
items:
description: Tag item
type:
- 'null'
- string
topics:
description: Topics associated with the project
type:
- 'null'
- array
ssh_url_to_repo:
description: SSH URL to project repository
type:
- 'null'
- string
http_url_to_repo:
description: HTTP URL to project repository
type:
- 'null'
- string
web_url:
description: URL of the project
type:
- 'null'
- string
readme_url:
description: URL for project readme
type:
- 'null'
- string
avatar_url:
description: URL for project avatar
type:
- 'null'
- string
forks_count:
description: Number of forks for the project
type:
- 'null'
- integer
star_count:
description: Number of stars for the project
type:
- 'null'
- integer
last_activity_at:
description: Date and time of last activity
type:
- 'null'
- string
format: date-time
namespace:
description: Namespace details
type: object
properties:
id:
description: ID of the namespace
type:
- 'null'
- integer
name:
description: Name of the namespace
type:
- 'null'
- string
path:
description: Path of the namespace
type:
- 'null'
- string
kind:
description: Kind of namespace
type:
- 'null'
- string
full_path:
description: Full path of the namespace
type:
- 'null'
- string
parent_id:
description: ID of the parent namespace
type:
- 'null'
- integer
avatar_url:
description: URL for namespace avatar
type:
- 'null'
- string
web_url:
description: Web URL of the namespace
type:
- 'null'
- string
container_registry_image_prefix:
description: Prefix for container registry images
type:
- 'null'
- string
_links:
description: Links related to the project
type: object
properties:
self:
description: URL for the project itself
type:
- 'null'
- string
issues:
description: URL for project issues
type:
- 'null'
- string
merge_requests:
description: URL for project merge requests
type:
- 'null'
- string
repo_branches:
description: URL for project repository branches
type:
- 'null'
- string
labels:
description: URL for project labels
type:
- 'null'
- string
events:
description: URL for events related to the project
type:
- 'null'
- string
members:
description: URL for project members
type:
- 'null'
- string
cluster_agents:
description: URL for cluster agents
type:
- 'null'
- string
packages_enabled:
description: Flag indicating if packages are enabled
type:
- 'null'
- boolean
empty_repo:
description: Flag indicating if repository is empty
type:
- 'null'
- boolean
archived:
description: Flag indicating if project is archived
type:
- 'null'
- boolean
visibility:
description: Visibility level of the project
type:
- 'null'
- string
resolve_outdated_diff_discussions:
description: Resolve outdated diff discussions
type:
- 'null'
- boolean
container_registry_enabled:
description: Flag indicating if container registry is enabled
type:
- 'null'
- boolean
container_expiration_policy:
description: Container expiration policy details
type:
- 'null'
- object
properties:
cadence:
description: Expiration cadence
type:
- 'null'
- string
enabled:
description: Flag indicating if expiration policy is enabled
type:
- 'null'
- boolean
keep_n:
description: Number of containers to keep
type:
- 'null'
- integer
older_than:
description: Age threshold for expiration
type:
- 'null'
- string
name_regex:
description: Regex for container name
type:
- 'null'
- string
name_regex_keep:
description: Regex for container name to keep
type:
- 'null'
- string
next_run_at:
description: Next scheduled run for expiration policy
type:
- 'null'
- string
format: date-time
issues_enabled:
description: Flag indicating if issues are enabled
type:
- 'null'
- boolean
merge_requests_enabled:
description: Flag indicating if merge requests are enabled
type:
- 'null'
- boolean
wiki_enabled:
description: Flag indicating if wiki is enabled
type:
- 'null'
- boolean
jobs_enabled:
description: Flag indicating if jobs are enabled
type:
- 'null'
- boolean
snippets_enabled:
description: Flag indicating if snippets are enabled
type:
- 'null'
- boolean
service_desk_enabled:
description: Flag indicating if service desk is enabled
type:
- 'null'
- boolean
service_desk_address:
description: Address for service desk
type:
- 'null'
- string
can_create_merge_request_in:
description: Locations where merge requests can be created
type:
- 'null'
- boolean
issues_access_level:
description: Access level for issues
type:
- 'null'
- string
repository_access_level:
description: Access level for repository
type:
- 'null'
- string
merge_requests_access_level:
description: Access level for merge requests
type:
- 'null'
- string
forking_access_level:
description: Access level for forking projects
type:
- 'null'
- string
wiki_access_level:
description: Access level for wiki
type:
- 'null'
- string
builds_access_level:
description: Access level for builds
type:
- 'null'
- string
snippets_access_level:
description: Access level for snippets
type:
- 'null'
- string
pages_access_level:
description: Access level for project pages
type:
- 'null'
- string
operations_access_level:
description: Access level for operations
type:
- 'null'
- string
analytics_access_level:
description: Access level for analytics
type:
- 'null'
- string
emails_disabled:
description: Flag indicating if emails are disabled
type:
- 'null'
- boolean
shared_runners_enabled:
description: Flag indicating if shared runners are enabled
type:
- 'null'
- boolean
lfs_enabled:
description: Flag indicating if Git LFS is enabled
type:
- 'null'
- boolean
creator_id:
description: ID of the project creator
type:
- 'null'
- integer
import_status:
description: Status of project import
type:
- 'null'
- string
import_error:
description: Error message if import failed
type:
- 'null'
- string
- boolean
open_issues_count:
description: Count of open issues
type:
- 'null'
- integer
runners_token:
description: Token for runners
type:
- 'null'
- string
ci_default_git_depth:
description: Default git depth for CI
type:
- 'null'
- integer
ci_forward_deployment_enabled:
description: Flag for forward deployment enabled in CI
type:
- 'null'
- boolean
public_jobs:
description: Flag indicating if jobs are public
type:
- 'null'
- boolean
build_git_strategy:
description: Git strategy for build
type:
- 'null'
- string
build_timeout:
description: Timeout for build
type:
- 'null'
- integer
auto_cancel_pending_pipelines:
description: Automatically cancel pending pipelines
type:
- 'null'
- string
build_coverage_regex:
description: Regex for build coverage
type:
- 'null'
- string
ci_config_path:
description: Path for CI configuration
type:
- 'null'
- string
shared_with_groups:
description: List of groups with which project is shared
type:
- 'null'
- array
only_allow_merge_if_pipeline_succeeds:
description: Only allow merge if pipeline succeeds
type:
- 'null'
- boolean
allow_merge_on_skipped_pipeline:
description: Allow merge on skipped pipeline
type:
- 'null'
- boolean
restrict_user_defined_variables:
description: Restrict user-defined variables
type:
- 'null'
- boolean
request_access_enabled:
description: Flag indicating if request access is enabled
type:
- 'null'
- boolean
only_allow_merge_if_all_discussions_are_resolved:
description: Only allow merge if all discussions are resolved
type:
- 'null'
- boolean
remove_source_branch_after_merge:
description: Remove source branch after merge
type:
- 'null'
- boolean
printing_merge_request_link_enabled:
description: Enable printing merge request link
type:
- 'null'
- boolean
merge_method:
description: Method used for merges
type:
- 'null'
- string
suggestion_commit_message:
description: Commit message suggestion
type:
- 'null'
- string
statistics:
description: Project statistics
type: object
properties:
commit_count:
description: Number of commits
type:
- 'null'
- integer
storage_size:
description: Total storage size
type:
- 'null'
- integer
repository_size:
description: Size of repository
type:
- 'null'
- integer
wiki_size:
description: Size of wiki
type:
- 'null'
- integer
lfs_objects_size:
description: Size of LFS objects
type:
- 'null'
- integer
job_artifacts_size:
description: Size of job artifacts
type:
- 'null'
- integer
snippets_size:
description: Size of snippets
type:
- 'null'
- integer
packages_size:
description: Size of packages
type:
- 'null'
- integer
container_registry_size:
description: Size of container registry
type:
- 'null'
- integer
pipeline_artifacts_size:
description: Size of pipeline artifacts
type:
- 'null'
- integer
uploads_size:
description: Size of uploads
type:
- 'null'
- integer
auto_devops_enabled:
description: Flag indicating if Auto DevOps is enabled
type:
- 'null'
- boolean
auto_devops_deploy_strategy:
description: Auto DevOps deployment strategy
type:
- 'null'
- string
autoclose_referenced_issues:
description: Automatically close referenced issues
type:
- 'null'
- boolean
external_authorization_classification_label:
description: Label for external authorization classification
type:
- 'null'
- string
requirements_enabled:
description: Flag indicating if requirements are enabled
type:
- 'null'
- boolean
security_and_compliance_enabled:
description: Flag indicating if security and compliance are enabled
type:
- 'null'
- boolean
compliance_frameworks:
description: Compliance frameworks associated with the project
type:
- 'null'
- array
permissions:
description: Permissions for project access
type: object
properties:
project_access:
description: Project access level
type:
- 'null'
- object
properties:
access_level:
description: Access level for project
type:
- 'null'
- integer
notification_level:
description: Notification level for project
type:
- 'null'
- integer
group_access:
description: Group access level
type:
- 'null'
- object
properties:
access_level:
description: Access level for groups
type:
- 'null'
- integer
notification_level:
description: Notification level for groups
type:
- 'null'
- integer
feature_flags_access_level:
description: Access level for feature flags
type:
- 'null'
- string
group_runners_enabled:
description: Flag indicating if group runners are enabled
type:
- 'null'
- boolean
enforce_auth_checks_on_uploads:
description: Enforce authentication checks on uploads
type:
- 'null'
- boolean
monitor_access_level:
description: Access level for monitoring tools
type:
- 'null'
- string
container_registry_access_level:
description: Access level for container registry
type:
- 'null'
- string
import_type:
description: Type of project import
type:
- 'null'
- string
ci_job_token_scope_enabled:
description: Enable job token scope in CI
type:
- 'null'
- boolean
requirements_access_level:
description: Access level for requirements
type:
- 'null'
- string
releases_access_level:
description: Access level for project releases
type:
- 'null'
- string
runner_token_expiration_interval:
description: Token expiration interval for runners
type:
- 'null'
- string
squash_option:
description: Squash option for merges
type:
- 'null'
- string
squash_commit_template:
description: Template for squash commits
type:
- 'null'
- string
issue_branch_template:
description: Template for issue branches
type:
- 'null'
- string
keep_latest_artifact:
description: Keep latest artifact
type:
- 'null'
- boolean
import_url:
description: URL for project import
type:
- 'null'
- string
ci_separated_caches:
description: Use separated caches in CI
type:
- 'null'
- boolean
security_and_compliance_access_level:
description: Access level for security and compliance
type:
- 'null'
- string
infrastructure_access_level:
description: Access level for infrastructure settings
type:
- 'null'
- string
merge_commit_template:
description: Template for merge commits
type:
- 'null'
- string
ci_allow_fork_pipelines_to_run_in_parent_project:
description: Allow fork pipelines to run in parent project
type:
- 'null'
- boolean
environments_access_level:
description: Access level for environments
type:
- 'null'
- string
approvals_before_merge:
description: Number of approvals required before merge
type:
- 'null'
- integer
marked_for_deletion_at:
description: Date marked for deletion
type:
- 'null'
- string
format: date
merge_trains_enabled:
description: Flag indicating if merge trains are enabled
type:
- 'null'
- boolean
mirror:
description: Flag indicating if project is mirrored
type:
- 'null'
- boolean
issues_template:
description: Template for issues
type:
- 'null'
- string
merge_pipelines_enabled:
description: Flag indicating if merge pipelines are enabled
type:
- 'null'
- boolean
merge_requests_template:
description: Template for merge requests
type:
- 'null'
- string
allow_pipeline_trigger_approve_deployment:
description: Allow pipeline trigger to approve deployment
type:
- 'null'
- boolean
marked_for_deletion_on:
description: Date marked for deletion
type:
- 'null'
- string
format: date
ci_forward_deployment_rollback_allowed:
description: Allow rollback in forward deployment CI
type:
- 'null'
- boolean
emails_enabled:
description: Flag indicating if emails are enabled
type:
- 'null'
- boolean
model_experiments_access_level:
description: Access level for model experiments
type:
- 'null'
- string
merge_trains_skip_train_allowed:
description: Allow skipping merge trains
type:
- 'null'
- boolean
code_suggestions:
description: Enable code suggestions
type:
- 'null'
- boolean
model_registry_access_level:
description: Access level for model registry
type:
- 'null'
- string
ci_restrict_pipeline_cancellation_role:
description: Role allowed to restrict pipeline cancellation in CI
type:
- 'null'
- string
repository_object_format:
description: Format of repository object
type:
- 'null'
- string
warn_about_potentially_unwanted_characters:
description: Warn about potentially unwanted characters
type:
- 'null'
- boolean
releases:
$schema: https://json-schema.org/draft-07/schema#
type: object
properties:
name:
description: Name of the release
type:
- 'null'
- string
tag_name:
description: Name of the tag associated with the release
type:
- 'null'
- string
description:
description: Description of the release
type:
- 'null'
- string
created_at:
description: Date and time when the release was created
type:
- 'null'
- string
format: date-time
released_at:
description: Date and time when the release was published
type:
- 'null'
- string
format: date-time
upcoming_release:
description: Indicator if the release is an upcoming release
type:
- 'null'
- boolean
milestones:
description: List of milestones related to the release
type:
- 'null'
- array
items:
type: integer
commit_path:
description: Path to the commit related to the release
type:
- 'null'
- string
tag_path:
description: Path to the tag associated with the release
type:
- 'null'
- string
assets:
description: Information about assets related to the release
type:
- 'null'
- object
properties:
count:
description: Number of assets in the release
type:
- 'null'
- integer
sources:
description: List of sources for the assets
type:
- 'null'
- array
items:
type: object
properties:
format:
description: Format of the asset
type:
- 'null'
- string
url:
description: URL of the asset file
type:
- 'null'
- string
links:
description: Links related to the assets
type: array
evidences:
description: Any evidences associated with the release
type:
- 'null'
- array
_links:
description: Links related to the releases data
type:
- 'null'
- object
author:
description: Name of the author of the release
type:
- 'null'
- object
additionalProperties: true
author_id:
description: ID of the author of the release
type:
- 'null'
- integer
commit:
description: Commit details related to the release
type:
- 'null'
- object
additionalProperties: true
commit_id:
description: ID of the commit related to the release
type:
- 'null'
- string
project_id:
description: ID of the project associated with the release
type:
- 'null'
- integer
tags:
$schema: https://json-schema.org/draft-07/schema#
type: object
properties:
name:
description: The name of the tag.
type:
- 'null'
- string
message:
description: The message or description of the tag.
type:
- 'null'
- string
target:
description: The target or object that the tag points to.
type:
- 'null'
- string
release:
description: Details about the release associated with the tag.
type:
- 'null'
- object
properties:
tag_name:
description: The name of the release tag.
type:
- 'null'
- string
description:
description: Description of the release.
type:
- 'null'
- string
protected:
description: Indicates whether the tag is protected.
type:
- 'null'
- boolean
commit:
description: Details about the commit associated with the tag.
type:
- 'null'
- object
additionalProperties: true
commit_id:
description: Unique identifier for the commit associated with the tag.
type:
- 'null'
- string
project_id:
description: Unique identifier of the project to which the tag belongs.
type:
- 'null'
- integer
users:
$schema: https://json-schema.org/draft-07/schema#
type: object
properties:
id:
description: Unique identification number for the user
type:
- 'null'
- integer
name:
description: Full name of the user
type:
- 'null'
- string
username:
description: Unique username chosen by the user
type:
- 'null'
- string
state:
description: Current state of the user's account (e.g., active, blocked)
type:
- 'null'
- string
avatar_url:
description: URL of the user's avatar image
type:
- 'null'
- string
web_url:
description: URL of the user's profile page on the Gitlab platform
type:
- 'null'
- string
locked:
description: Boolean flag indicating if the user's account is locked
type:
- 'null'
- boolean