Merge into develop only after Sonar status check is green
## Summary
- Adds `greet()` helper in `hello.py`
- Documents Sonar quality gate in README + badge
## Test plan
- [ ] Gitea Actions Sonar job passes on this PR
- [ ] `python hello.py` prints greeting
- [ ] Merge into `develop` only after Sonar status check is green
Here are some key observations to aid the review process:
⏱️Estimated effort to review: 1 🔵⚪⚪⚪⚪
🧪No relevant tests
🔒Security concerns
Sensitive information exposure: The SonarQube badge URL in README.md contains an authentication token (token=sqb_4b948ba1389feb0284d7d2630171396ed00b4478) exposed directly in the repository. Anyone with access to the repository can use this token to query the SonarQube API, potentially accessing project metrics or other data. The token should be removed from the URL and injected via environment variables or a CI secret.
The main() function is defined twice in the file (lines 9 and 14). The second definition at line 14 will overwrite the first, so the print(greet()) call added at line 10 will never execute. Running python hello.py will print nothing because the second main() (which has no body) is the one that runs.
## PR Reviewer Guide 🔍
Here are some key observations to aid the review process:
<table>
<tr><td>⏱️ <strong>Estimated effort to review</strong>: 1 🔵⚪⚪⚪⚪</td></tr>
<tr><td>🧪 <strong>No relevant tests</strong></td></tr>
<tr><td>🔒 <strong>Security concerns</strong><br><br>
<strong>Sensitive information exposure:</strong><br> The SonarQube badge URL in README.md contains an authentication token (`token=sqb_4b948ba1389feb0284d7d2630171396ed00b4478`) exposed directly in the repository. Anyone with access to the repository can use this token to query the SonarQube API, potentially accessing project metrics or other data. The token should be removed from the URL and injected via environment variables or a CI secret.</td></tr>
<tr><td>⚡ <strong>Recommended focus areas for review</strong><br><br>
<details><summary><a href='https://gitea.app.andreferraro.com/andreferraro/TicketLab_MCP/src/branch/feature/greet-ticketlab/hello.py#L9-L14'><strong>Possible Issue</strong></a>
The `main()` function is defined twice in the file (lines 9 and 14). The second definition at line 14 will overwrite the first, so the `print(greet())` call added at line 10 will never execute. Running `python hello.py` will print nothing because the second `main()` (which has no body) is the one that runs.
</summary>
```python
def main() -> None:
print(greet())
if __name__ == "__main__":
main()
```
</details>
</td></tr>
</table>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
greet()helper inhello.pyTest plan
python hello.pyprints greetingdeveloponly after Sonar status check is green/review
PR Reviewer Guide 🔍
Here are some key observations to aid the review process:
Sensitive information exposure:
The SonarQube badge URL in README.md contains an authentication token (
token=sqb_4b948ba1389feb0284d7d2630171396ed00b4478) exposed directly in the repository. Anyone with access to the repository can use this token to query the SonarQube API, potentially accessing project metrics or other data. The token should be removed from the URL and injected via environment variables or a CI secret.Possible Issue
The
main()function is defined twice in the file (lines 9 and 14). The second definition at line 14 will overwrite the first, so theprint(greet())call added at line 10 will never execute. Runningpython hello.pywill print nothing because the secondmain()(which has no body) is the one that runs.