Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 32346fb92e |
Vendored
+2
-2
@@ -1,10 +1,10 @@
|
|||||||
pipeline {
|
pipeline {
|
||||||
agent any
|
agent any
|
||||||
environment {
|
environment {
|
||||||
XAI_API_KEY = credentials('XAI_API_KEY')
|
OPENAI_API_KEY = credentials('OPENAI_API_KEY')
|
||||||
GITEA_TOKEN = credentials('GITEA_TOKEN')
|
GITEA_TOKEN = credentials('GITEA_TOKEN')
|
||||||
GITEA_URL = 'https://git.jb9.uk'
|
GITEA_URL = 'https://git.jb9.uk'
|
||||||
XAI_MODEL = 'grok-4.3'
|
CODEX_MODEL = 'gpt-4'
|
||||||
AI_REVIEW_FAIL_ON_FINDINGS = 'false'
|
AI_REVIEW_FAIL_ON_FINDINGS = 'false'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,26 +2,22 @@
|
|||||||
|
|
||||||
## Jenkins AI Review
|
## Jenkins AI Review
|
||||||
|
|
||||||
The Jenkins pipeline can run an x.ai-powered review and report back to Gitea.
|
The Jenkins pipeline can run an OpenAI-powered review and report back to Gitea.
|
||||||
|
|
||||||
Required Jenkins secrets and variables:
|
Required Jenkins secrets and variables:
|
||||||
|
|
||||||
- `XAI_API_KEY`
|
- `OPENAI_API_KEY`
|
||||||
- `GITEA_TOKEN`
|
- `GITEA_TOKEN`
|
||||||
- `GITEA_URL`
|
- `GITEA_URL`
|
||||||
|
|
||||||
Optional variables:
|
Optional variables:
|
||||||
|
|
||||||
- `AI_REVIEW_MODEL`
|
- `CODEX_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,19 +190,12 @@ 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("XAI_API_KEY") or os.getenv("OPENAI_API_KEY")
|
api_key = os.getenv("OPENAI_API_KEY")
|
||||||
if not api_key:
|
if not api_key:
|
||||||
raise RuntimeError("XAI_API_KEY is not set.")
|
raise RuntimeError("OPENAI_API_KEY is not set.")
|
||||||
|
|
||||||
model = (
|
model = os.getenv("CODEX_MODEL") or os.getenv("OPENAI_MODEL") or "gpt-4.1"
|
||||||
os.getenv("AI_REVIEW_MODEL")
|
client = OpenAI(api_key=api_key)
|
||||||
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,
|
||||||
|
|||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
const std::string& get_greeting() {
|
std::string get_greeting() {
|
||||||
return "Hello, world!";
|
return "Hello, world!";
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -10,6 +10,6 @@ int add_6(int cx) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
std::cout << "Hello, world!" << add_6(5) << std::endl;
|
std::cout << "Hello, world!" << add_6(5) << get_greeting() << "/n";
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user