diff --git a/ExpressAPI/src/helpers/GlobalHelper.ts b/ExpressAPI/src/helpers/GlobalHelper.ts
new file mode 100644
index 0000000000000000000000000000000000000000..c97328d8e5cbc2d99b7339da2a94219e4ef01618
--- /dev/null
+++ b/ExpressAPI/src/helpers/GlobalHelper.ts
@@ -0,0 +1,33 @@
+import express          from 'express';
+import GitlabRepository from '../shared/types/Gitlab/GitlabRepository';
+import logger           from '../shared/logging/WinstonLogger';
+import GitlabManager    from '../managers/GitlabManager';
+import { AxiosError }   from 'axios';
+import { StatusCodes }  from 'http-status-codes';
+import DojoStatusCode   from '../shared/types/Dojo/DojoStatusCode';
+
+
+class GlobalHelper {
+    async repositoryCreationError(message: string, error: any, req: express.Request, res: express.Response, gitlabError: DojoStatusCode, internalError: DojoStatusCode, repositoryToRemove?: GitlabRepository): Promise<void> {
+        logger.error(message);
+        logger.error(error);
+
+        try {
+            if ( repositoryToRemove ) {
+                await GitlabManager.deleteRepository(repositoryToRemove.id);
+            }
+        } catch ( error ) {
+            logger.error('Repository deletion error');
+            logger.error(error);
+        }
+
+        if ( error instanceof AxiosError ) {
+            return req.session.sendResponse(res, StatusCodes.INTERNAL_SERVER_ERROR, {}, `Unknown gitlab error: ${ message }`, gitlabError);
+        }
+
+        return req.session.sendResponse(res, StatusCodes.INTERNAL_SERVER_ERROR, {}, `Unknown error: ${ message }`, internalError);
+    };
+}
+
+
+export default new GlobalHelper();
\ No newline at end of file