Skip to content

Add Python scripts to consume internal APIs (SMASH, SMELT, Bugzilla)#1431

Open
NamelessOne91 wants to merge 39 commits intoSUSE:masterfrom
NamelessOne91:bsc_list_generator
Open

Add Python scripts to consume internal APIs (SMASH, SMELT, Bugzilla)#1431
NamelessOne91 wants to merge 39 commits intoSUSE:masterfrom
NamelessOne91:bsc_list_generator

Conversation

@NamelessOne91
Copy link
Copy Markdown
Contributor

@NamelessOne91 NamelessOne91 commented Oct 11, 2024

Related to https://github.com/SUSE/spacewalk/issues/24524

Adds Python classes and files needed for 2 new CLIs:

  1. smash_issues_finder.py is a CLI that allows to consume SMASH REST API to filter the available issues and store them as JSON or a formatted BSC link -summary list that can be used for tracking in GitHub cards

  2. bsc_finder.py is a CLI that consumes Bugzilla REST API to filter and store the available BSCs as JSON or a formatted BSC link -summary list that can be used for tracking in GitHub cards

  3. smelt_client.py is a placeholder implementation for a SMELT GraphQL API client

Includes also fixes for broken tests related to the JSON generator CLI and refactors.

@NamelessOne91 NamelessOne91 self-assigned this Oct 11, 2024
@NamelessOne91 NamelessOne91 force-pushed the bsc_list_generator branch 3 times, most recently from c7f3be1 to 505a54b Compare October 15, 2024 14:54
@nodeg nodeg requested a review from Copilot January 13, 2026 08:16
@nodeg
Copy link
Copy Markdown
Member

nodeg commented Jan 13, 2026

At some point, we should merge this. We already tested it as working, so why not have it merged.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request adds Python scripts and classes to consume internal APIs (SMASH, SMELT, Bugzilla) for tracking and managing bug reports and maintenance issues. The PR also includes test fixes and refactoring of existing code.

Changes:

  • Adds two new CLIs: smash_issues_finder.py for consuming SMASH REST API and bsc_finder.py for consuming Bugzilla REST API
  • Introduces a placeholder SMELT GraphQL API client implementation
  • Includes test data files and comprehensive test coverage for new functionality
  • Refactors existing code to support API token authentication and removes hardcoded parameters

Reviewed changes

Copilot reviewed 17 out of 18 changed files in this pull request and generated 23 comments.

Show a summary per file
File Description
jenkins_pipelines/scripts/tests/testdata/test_release_notes.changes Test data for release notes parsing
jenkins_pipelines/scripts/tests/testdata/test_invalid_release_notes.changes Test data for invalid release notes format
jenkins_pipelines/scripts/tests/testdata/bugzilla_bugs.json Mock Bugzilla API response data for tests
jenkins_pipelines/scripts/tests/test_maintenance_json_generator.py Test fixes for maintenance JSON generator
jenkins_pipelines/scripts/tests/test_bugzilla_client.py Tests for new Bugzilla client functionality
jenkins_pipelines/scripts/tests/test_bsc_finder.py Tests for BSC finder CLI
jenkins_pipelines/scripts/tests/mock_response.py Updated mock responses to support Bugzilla testing
jenkins_pipelines/scripts/tests/init.py Updated path configuration for new modules
jenkins_pipelines/scripts/json_generator/smelt_client.py New SMELT GraphQL API client implementation
jenkins_pipelines/scripts/json_generator/smash_issues_finder.py New CLI for SMASH issues retrieval
jenkins_pipelines/scripts/json_generator/smash_client.py Enhanced SMASH client with token authentication and issues endpoint
jenkins_pipelines/scripts/json_generator/maintenance_json_generator_README.md Documentation updates
jenkins_pipelines/scripts/json_generator/maintenance_json_generator.py Refactored to remove version parameter dependency
jenkins_pipelines/scripts/json_generator/ibs_osc_client.py Enhanced with SMASH API token support and issues retrieval
jenkins_pipelines/scripts/bsc_list_generator/bugzilla_client.py New Bugzilla REST API client
jenkins_pipelines/scripts/bsc_list_generator/bsc_finder_README.md Documentation for BSC finder CLI
jenkins_pipelines/scripts/bsc_list_generator/bsc_finder.py New CLI for Bugzilla bug report retrieval
jenkins_pipelines/scripts/bsc_list_generator/init.py Package initialization file

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread jenkins_pipelines/scripts/json_generator/ibs_osc_client.py Outdated
Comment thread jenkins_pipelines/scripts/json_generator/ibs_osc_client.py Outdated
Comment thread jenkins_pipelines/scripts/bsc_list_generator/bugzilla_client.py Outdated
Comment thread jenkins_pipelines/scripts/tests/test_bugzilla_client.py Outdated
Comment thread jenkins_pipelines/scripts/bsc_list_generator/bsc_finder.py Outdated
Comment thread jenkins_pipelines/scripts/json_generator/smash_client.py
Comment thread jenkins_pipelines/scripts/tests/test_bugzilla_client.py Outdated
Comment thread jenkins_pipelines/scripts/json_generator/smelt_client.py Outdated
Comment thread jenkins_pipelines/scripts/bsc_list_generator/bugzilla_client.py Outdated
Comment thread jenkins_pipelines/scripts/json_generator/ibs_osc_client.py Outdated
@NamelessOne91
Copy link
Copy Markdown
Contributor Author

NamelessOne91 commented Jan 13, 2026

Now updated to support MLM 5.1 and addressed issues/suggestions found by Copilot

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants