diff --git a/types/Gitlab/GitlabCommit.ts b/types/Gitlab/GitlabCommit.ts
new file mode 100644
index 0000000000000000000000000000000000000000..5f94c2e431b220b4247e0dc3bf0222fba14f2a1c
--- /dev/null
+++ b/types/Gitlab/GitlabCommit.ts
@@ -0,0 +1,17 @@
+interface GitlabCommit {
+    id: string;
+    short_id: string;
+    created_at: string;
+    parent_ids: Array<string>;
+    title: string;
+    message: string;
+    author_name: string;
+    author_email: string;
+    authored_date: string;
+    committer_name: string;
+    committer_email: string;
+    committed_date: string;
+}
+
+
+export default GitlabCommit;
\ No newline at end of file
diff --git a/types/Gitlab/GitlabMilestone.ts b/types/Gitlab/GitlabMilestone.ts
new file mode 100644
index 0000000000000000000000000000000000000000..a7285cd9ee3683aeaf4ebc1ea85ab778af1e970c
--- /dev/null
+++ b/types/Gitlab/GitlabMilestone.ts
@@ -0,0 +1,19 @@
+interface GitlabMilestone {
+    id: number;
+    iid: number;
+    project_id: number;
+    title: string;
+    description: string;
+    state: string;
+    created_at: string;
+    updated_at: string;
+    due_date: string;
+    start_date: string;
+    web_url: string;
+    issue_stats: {
+        total: number; closed: number;
+    };
+}
+
+
+export default GitlabMilestone;
\ No newline at end of file
diff --git a/types/Gitlab/GitlabRelease.ts b/types/Gitlab/GitlabRelease.ts
new file mode 100644
index 0000000000000000000000000000000000000000..a7c68d770e4e88c7acd2f6f6eb1305329c42f61d
--- /dev/null
+++ b/types/Gitlab/GitlabRelease.ts
@@ -0,0 +1,29 @@
+import GitlabUser      from './GitlabUser';
+import GitlabCommit    from './GitlabCommit';
+import GitlabMilestone from './GitlabMilestone';
+
+
+interface GitlabRelease {
+    tag_name: string;
+    description: string;
+    created_at: string;
+    released_at: string;
+    author: GitlabUser;
+    commit: GitlabCommit;
+    milestones: Array<GitlabMilestone>;
+    commit_path: string;
+    tag_path: string;
+    assets: {
+        count: number; sources: Array<{
+            format: string; url: string;
+        }>; links: Array<{
+            id: number; name: string; url: string; link_type: string;
+        }>; evidence_file_path: string;
+    };
+    evidences: Array<{
+        sha: string; filepath: string; collected_at: string;
+    }>;
+}
+
+
+export default GitlabRelease; 
\ No newline at end of file
diff --git a/types/Gitlab/GitlabRoute.ts b/types/Gitlab/GitlabRoute.ts
index 76c3a80b04c0d72abcaa7821037ca146f993faff..bdeccc68f582f5f477bd6fb9d8f3fe665680ca5d 100644
--- a/types/Gitlab/GitlabRoute.ts
+++ b/types/Gitlab/GitlabRoute.ts
@@ -9,6 +9,7 @@ enum GitlabRoute {
     REPOSITORY_FORK             = '/projects/{{id}}/fork',
     REPOSITORY_MEMBER_ADD       = '/projects/{{id}}/members',
     REPOSITORY_MEMBERS_GET      = '/projects/{{id}}/members/all',
+    REPOSITORY_RELEASES_GET     = '/projects/{{id}}/releases',
     REPOSITORY_BADGES_ADD       = '/projects/{{id}}/badges',
     REPOSITORY_VARIABLES_ADD    = '/projects/{{id}}/variables',
     REPOSITORY_BRANCHES_PROTECT = '/projects/{{id}}/protected_branches',