GitLab¶
About¶
GitLab helps you automate the builds, integration, and verification of your code. With SAST, DAST, code quality analysis, plus pipelines that enable concurrent testing and parallel execution, your teams get quick insights about every commit so they can deliver higher quality code faster.
Product Details¶
Vendor URL: GitLab
Product Type: DevOps Platform
Product Tier: Tier III
Integration Method: Syslog
Parser Details¶
Log Format: JSON
Expected Normalization Rate: 95%
Data Label: GITLAB
UDM Fields (list of all UDM fields leveraged in the Parser):
Log File Field | UDM Field |
---|---|
event_name | event.idm.read_only_udm.metadata.description |
event_type | event.idm.read_only_udm.metadata.product_event_type |
group_id | event.idm.read_only_udm.target.group.product_object_id |
group_name | event.idm.read_only_udm.target.group.group_display_name |
object_attributes.description | event.idm.read_only_udm.metadata.description |
object_attributes.last_commit.author.email | event.idm.read_only_udm.principal.user.email_addresses |
object_attributes.last_commit.message | event.idm.read_only_udm.additional.fields |
object_attributes.title | event.idm.read_only_udm.additional.fields |
project.id | event.idm.read_only_udm.target.asset.product_object_id |
project.namespace | event.idm.read_only_udm.target.namespace |
user_username | event.idm.read_only_udm.principal.user.userid |
user.username | event.idm.read_only_udm.principal.user.userid |
user_name | event.idm.read_only_udm.principal.user.user_display_name |
user.name | event.idm.read_only_udm.principal.user.user_display_name |
repository.description | event.idm.read_only_udm.metadata.description |
repository.name | event.idm.read_only_udm.target.resource.name |
repository.url | event.idm.read_only_udm.target.url |
Product Event Types¶
Event | UDM Event Classification |
---|---|
all others | GENERIC_EVENT |
Log Sample¶
{"user":{"id":7654321,"name":"Jon Doe","username":"jdoe1","avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/7654321/avatar.png","email":"[REDACTED]"},"project":{"avatar_url":null,"default_branch":"master","namespace":"NIPR","http_url":"https://gitlab.com/NAIC/nipr/nipr-commons-sqlrunner.git","name":"nipr-commons-sqlrunner","description":"subversion: nipr/common/services/nipr-commons-sqlrunner","visibility_level":0,"homepage":"https://gitlab.com/mycompany/myproject/project","url":"git@gitlab.com:mycompany/myproject/project.git","ssh_url":"git@gitlab.com:mycompany/myproject/project.git","id":12345678,"web_url":"https://gitlab.com/mycompany/myproject/project","path_with_namespace":"mycompany/myproject/project","ci_config_path":null,"git_ssh_url":"git@gitlab.com:mycompany/myproject/project.git","git_http_url":"https://gitlab.com/mycompany/myproject/project.git"},"object_attributes":{"reviewer_ids":[],"state":"opened","assignee_id":null,"head_pipeline_id":123456789,"merge_when_pipeline_succeeds":false,"source_branch":"myproject","target_project_id":56781234,"total_time_spent":0,"description":"","last_edited_by_id":null,"time_change":0,"last_edited_at":null,"merge_commit_sha":null,"updated_by_id":null,"target":{"ssh_url":"git@gitlab.com:mycompany/myproject/project.git","name":"myproject","description":"subversion: project/common/services/myproject","git_ssh_url":"git@gitlab.com:mycompany/myproject/project.git","path_with_namespace":"mycompany/myproject/project","default_branch":"master","web_url":"https://gitlab.com/mycompany/myproject/project","ci_config_path":null,"url":"git@gitlab.com:mycompany/myproject/project.git","id":12345678,"avatar_url":null,"git_http_url":"https://gitlab.com/mycompany/myproject/project.git","homepage":"https://gitlab.com/mycompany/myproject/project","namespace":"project","visibility_level":0,"http_url":"https://gitlab.com/mycompany/myproject/project.git"},"first_contribution":false,"blocking_discussions_resolved":true,"created_at":"2022-10-26 15:36:42 UTC","id":12345678,"merge_user_id":null,"source_project_id":12345678,"updated_at":"2022-10-27 19:02:30 UTC","human_time_change":null,"human_total_time_spent":null,"human_time_estimate":null,"iid":9,"merge_params":{"force_remove_source_branch":"0"},"state_id":1,"url":"https://gitlab.com/mycompany/myproject/project/-/merge_requests/9","source":{"default_branch":"master","homepage":"https://gitlab.com/mycompany/myproject/project","ssh_url":"git@gitlab.com:mycompany/myproject/project","name":"myproject","namespace":"project","url":"git@gitlab.com:mycompany/myproject/project.git","http_url":"https://gitlab.com/mycompany/myproject/project.git","description":"subversion: mycompany/myproject/project","git_ssh_url":"git@gitlab.com:mycompany/myproject/project.git","path_with_namespace":"mycompany/myproject/project","config_path":null,"id":12345678,"web_url":"https://gitlab.com/mycompany/myproject/project","visibility_level":0,"avatar_url":null,"git_http_url":"https://gitlab.com/mycompany/myproject/project.git"},"work_in_progress":false,"labels":[],"target_branch":"master","title":"Correct exception handling issue for rollback","assignee_ids":[],"action":"approved","author_id":1234567,"merge_error":null,"time_estimate":0,"merge_status":"can_be_merged","milestone_id":null,"last_commit":{"message":"Add to log StatementInterruptedException\n","title":"Add to log StatementInterruptedException","timestamp":"2022-10-27T13:56:06-05:00","url":"https://gitlab.com/mycompany/myproject/project/-/commit/3f4311889f03883fc436fd86ae168b3862a553b9","author":{"email":"jondoe@mycompany.com","name":"JDoe"},"id":"3f4311815468461ae168b3862a553b9"}},"labels":[],"changes":{},"repository":{"name":"myproject","url":"git@gitlab.com:mycompany/myproject/project.git","description":"subversion: project/common/services/myproject","homepage":"https://gitlab.com/mycompany/myproject/project"},"object_kind":"merge_request","event_type":"merge_request"}
Sample Parsing¶
metadata.event_timestamp.seconds = 1666898401
metadata.event_timestamp.nanos = 534321000
metadata.event_type = "GENERIC_EVENT"
metadata.description = "subversion: project/common/services/myproject"
metadata.vendor_name = "GitLab"
metadata.product_name = "GitLab"
metadata.product_event_type = "merge_request"
metadata.description = "subversion: mycompany/myproject/project"
principal.user.userid = "jdoe1"
principal.user.user_display_name = "Jon Doe"
principal.user.email_addresses = "jondoe@mycompany.com"
target.url = "git@gitlab.com:mycompany/myproject/project.git"
target.resource.name = "myproject"
target.namespace = "project"
target.asset.product_object_id = "12345678"
event.idm.read_only_udm.additional.fields.key = "title"
event.idm.read_only_udm.additional.fields.value = "Correct exception handling issue for rollback"
event.idm.read_only_udm.additional.fields.key = "message"
event.idm.read_only_udm.additional.fields.value = "Add to log StatementInterruptedException\n"
Parser Alerting¶
This product currently does not have any Parser-based Alerting