Skip to content

MSA-API-Management/AutoGuard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 

Repository files navigation

AutoGuard

AutoGuard is a tool that automatically detects breaking changes of REST APIs in services developed with the popular Java Spring Boot framework. We published AutoGuard as a tool paper.

We provide an example project with AutoGuard set up on GitHub and a demonstration video on YouTube.

GitHub action

The action uses AutoGuard-gen (currently implemented with AutoOAS) and AutoGuard-diff to find breaking REST API changes in Java Spring Boot web services.

Usage

- uses: MSA-API-Management/AutoGuard@v1
  with:
    # Path to the Maven source directory
    # default: '${{github.workspace}}'
    source_dir:
    # The branch, tag or commit SHA of the old API version
    # default: '${{github.base_ref}}' (Base branch reference of a pull request)
    base_ref:
    # The branch, tag or commit SHA of the old API version
    # default: '${{github.head_ref}}' (Head branch reference of a pull request)
    head_ref:

GitLab template

The template implements the AutoGuard-spec (again implemented with AutoOAS) and AutoGuard-diff directly.

Usage

include:
  - remote: 'https://raw.githubusercontent.com/MSA-API-Management/AutoGuard/refs/tags/v1/AutoGuard.gitlab-ci.yml'
    inputs:
        source_dir: "."

# Extend .autoGuard job to add configuration like a job rule or stage 
autoGuard:
  extends: .autoGuard
  rules:
    - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
  stage: test

Academic Use

If you use this project in your academic work, please cite the following paper:

A. Lercher, C. Bauer, C. Macho and M. Pinzger, "AutoGuard: Reporting Breaking Changes of REST APIs from Java Spring Boot Source Code," 2025 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER), Montreal, QC, Canada, 2025, pp. 814-818, doi: 10.1109/SANER64311.2025.00083.

@INPROCEEDINGS{10992426,
  author={Lercher, Alexander and Bauer, Clemens and Macho, Christian and Pinzger, Martin},
  booktitle={2025 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)}, 
  title={AutoGuard: Reporting Breaking Changes of REST APIs from Java Spring Boot Source Code}, 
  year={2025},
  volume={},
  number={},
  pages={814-818},
  doi={10.1109/SANER64311.2025.00083}}

About

AutoGuard GitHub action and GitLab template.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •