-
Notifications
You must be signed in to change notification settings - Fork 276
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Development
: Add parsing of server sided endpoints
#8455
Development
: Add parsing of server sided endpoints
#8455
Conversation
changed another file to test action
…ing-endpoint-connections' into development/github-action-analyzing-endpoint-connections
Co-authored-by: Lucas Welscher <ga53foy@mytum.de>
…of the head and base of a PR
Co-authored-by: Timor Morrien <timor.morrien@tum.de>
Co-authored-by: Timor Morrien <timor.morrien@tum.de>
Also, change a file containing endpoints and one not containing endpoints for testing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code looks good + Output on https://github.com/ls1intum/Artemis/actions/runs/9330613868/job/25684362494?pr=8455 looks good.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
...int-connections/src/main/java/de/tum/cit/endpointanalysis/AnalysisOfEndpointConnections.java
Show resolved
Hide resolved
...int-connections/src/main/java/de/tum/cit/endpointanalysis/AnalysisOfEndpointConnections.java
Show resolved
Hide resolved
...int-connections/src/main/java/de/tum/cit/endpointanalysis/AnalysisOfEndpointConnections.java
Show resolved
Hide resolved
Development
: Parsing of server sided endpointsDevelopment
: Add parsing of server sided endpoints
Context
This issue builds up on the GitHub action created in this PR. The action identifies the code files for client and server modified in a PR. The gathered Information will be the foundation of the analysis of server-sided endpoints. A concise
Problem
Many Artemis developers have little experience in the field of software development, and the Artemis codebase is extensive and complex. Thus, the code review process is time-consuming, difficult, and error-prone. The time required for purely manual reviewing leads to several disadvantages:
Motivation
To make the review process more efficient for developers and maintainers and reduce the amount of undiscovered issues in the code, the review process needs to be partially automated. The time saved during the review process and the saved time by preventing bugs that need to be identified, debugged, and fixed manually, can be used for improving existing features or even developing new ones.
Requirements Engineering
Existing (Problematic) Solution / System
Currently, the review process is performed manually by multiple developers and maintainers, testing newly developed or modified features and reviewing changes made in the source code. For example, Changes in server-sided URIs that have not been migrated to every REST API call by the client will cause the features left out to malfunction. As there currently is no concise overview of all existing endpoints and REST calls, identifying endpoints in seemingly endless amounts of lines of code is overwhelming and tedious.
Proposed System
The new solution is the extension of a GitHub action. The action will run on every pushed commit and identify new or modified endpoints on the server. The Endpoints will be parsed out utilizing the QDox library. The action will output essential Information regarding the endpoints contained in modified files. The output information contains the endpoint's
Requirements
Functional Requirements:
Nonfunctional Requirements:
Steps for Testing
Review Progress