Skip to content
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

Parsing of server sided endpoints #8429

Closed
Jan-Thurner opened this issue Apr 18, 2024 · 0 comments · Fixed by #8455
Closed

Parsing of server sided endpoints #8429

Jan-Thurner opened this issue Apr 18, 2024 · 0 comments · Fixed by #8455
Assignees
Labels
feature-proposal This issue is a feature proposal

Comments

@Jan-Thurner
Copy link
Contributor

Jan-Thurner commented Apr 18, 2024

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.

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.

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

  • Name
  • HTTP Method
  • Path
  • Class
  • Line

Requirements

Functional Requirements:

  1. FR: Value: The GitHub action must display newly created or changed files containing endpoints on the server side.
  2. FR: Value: The GitHub action must display every endpoint's name
  3. FR: Value: The GitHub action must display every endpoint's HTTP method
  4. FR: Value: The GitHub action must display every endpoint's class
  5. FR: Value: The GitHub action must display every endpoint's line

Nonfunctional Requirements:

  1. NFR: Supportability: Adaptability: The action needs to be adaptable to changes in or new types of endpoints.
  2. NFR: Usability: Performance: The action needs to provide the results within 10 Minutes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-proposal This issue is a feature proposal
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants