Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 76292c8393 | |||
| b504842293 | |||
| 4973316155 |
Vendored
+2
-2
@@ -1,10 +1,10 @@
|
|||||||
pipeline {
|
pipeline {
|
||||||
agent any
|
agent any
|
||||||
environment {
|
environment {
|
||||||
OPENAI_API_KEY = credentials('OPENAI_API_KEY')
|
XAI_API_KEY = credentials('XAI_API_KEY')
|
||||||
GITEA_TOKEN = credentials('GITEA_TOKEN')
|
GITEA_TOKEN = credentials('GITEA_TOKEN')
|
||||||
GITEA_URL = 'https://git.jb9.uk'
|
GITEA_URL = 'https://git.jb9.uk'
|
||||||
CODEX_MODEL = 'gpt-4'
|
XAI_MODEL = 'grok-4.3'
|
||||||
AI_REVIEW_FAIL_ON_FINDINGS = 'false'
|
AI_REVIEW_FAIL_ON_FINDINGS = 'false'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,22 +2,26 @@
|
|||||||
|
|
||||||
## Jenkins AI Review
|
## Jenkins AI Review
|
||||||
|
|
||||||
The Jenkins pipeline can run an OpenAI-powered review and report back to Gitea.
|
The Jenkins pipeline can run an x.ai-powered review and report back to Gitea.
|
||||||
|
|
||||||
Required Jenkins secrets and variables:
|
Required Jenkins secrets and variables:
|
||||||
|
|
||||||
- `OPENAI_API_KEY`
|
- `XAI_API_KEY`
|
||||||
- `GITEA_TOKEN`
|
- `GITEA_TOKEN`
|
||||||
- `GITEA_URL`
|
- `GITEA_URL`
|
||||||
|
|
||||||
Optional variables:
|
Optional variables:
|
||||||
|
|
||||||
- `CODEX_MODEL`
|
- `AI_REVIEW_MODEL`
|
||||||
|
- `XAI_MODEL`
|
||||||
|
- `XAI_BASE_URL`
|
||||||
- `AI_REVIEW_FAIL_ON_FINDINGS`
|
- `AI_REVIEW_FAIL_ON_FINDINGS`
|
||||||
- `GITEA_REPO_OWNER`
|
- `GITEA_REPO_OWNER`
|
||||||
- `GITEA_REPO_NAME`
|
- `GITEA_REPO_NAME`
|
||||||
- `GITEA_PR_NUMBER`
|
- `GITEA_PR_NUMBER`
|
||||||
|
|
||||||
|
The default review model is `grok-4.3`, using the OpenAI Python SDK against `https://api.x.ai/v1`.
|
||||||
|
|
||||||
## Build
|
## Build
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|||||||
@@ -190,12 +190,19 @@ def request_review(diff_text: str) -> str:
|
|||||||
"The 'openai' package is not installed. Install it with 'pip install openai'."
|
"The 'openai' package is not installed. Install it with 'pip install openai'."
|
||||||
) from exc
|
) from exc
|
||||||
|
|
||||||
api_key = os.getenv("OPENAI_API_KEY")
|
api_key = os.getenv("XAI_API_KEY") or os.getenv("OPENAI_API_KEY")
|
||||||
if not api_key:
|
if not api_key:
|
||||||
raise RuntimeError("OPENAI_API_KEY is not set.")
|
raise RuntimeError("XAI_API_KEY is not set.")
|
||||||
|
|
||||||
model = os.getenv("CODEX_MODEL") or os.getenv("OPENAI_MODEL") or "gpt-4.1"
|
model = (
|
||||||
client = OpenAI(api_key=api_key)
|
os.getenv("AI_REVIEW_MODEL")
|
||||||
|
or os.getenv("XAI_MODEL")
|
||||||
|
or os.getenv("CODEX_MODEL")
|
||||||
|
or os.getenv("OPENAI_MODEL")
|
||||||
|
or "grok-4.3"
|
||||||
|
)
|
||||||
|
base_url = os.getenv("XAI_BASE_URL") or "https://api.x.ai/v1"
|
||||||
|
client = OpenAI(api_key=api_key, base_url=base_url)
|
||||||
|
|
||||||
response = client.responses.create(
|
response = client.responses.create(
|
||||||
model=model,
|
model=model,
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
std::string get_greeting() {
|
const std::string& get_greeting() {
|
||||||
return "Hello, world!";
|
return "Hello, world!";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user