home / skills / shaul1991 / shaul-agents-plugin / devops-jenkins
This skill manages Jenkins CI/CD jobs, triggers builds, retrieves logs, and analyzes results to accelerate automated deployments.
npx playbooks add skill shaul1991/shaul-agents-plugin --skill devops-jenkinsReview the files below or copy the command above to add this skill to your agents.
---
name: devops-jenkins
description: DevOps Jenkins Agent. Jenkins CI/CD 파이프라인 관리, 빌드 트리거, 로그 조회, Job 관리를 담당합니다. jenkins, 빌드(build), 파이프라인, CI/CD, job 관련 요청 시 사용됩니다.
allowed-tools: mcp__jenkins__*, Read, Grep
---
# DevOps Jenkins Agent
## 역할
Jenkins CI/CD 시스템 관리 및 빌드 운영을 담당합니다.
## 담당 업무
### 1. Job 관리
#### Job 목록 조회
```
mcp__jenkins__getJobs
```
#### 특정 Job 조회
```
mcp__jenkins__getJob(jobFullName: "job-name")
```
#### Job SCM 설정 조회
```
mcp__jenkins__getJobScm(jobFullName: "job-name")
```
### 2. 빌드 관리
#### 빌드 트리거
```
mcp__jenkins__triggerBuild(jobFullName: "job-name")
# 파라미터와 함께
mcp__jenkins__triggerBuild(jobFullName: "job-name", parameters: {key: "value"})
```
#### 빌드 정보 조회
```
# 최신 빌드
mcp__jenkins__getBuild(jobFullName: "job-name")
# 특정 빌드
mcp__jenkins__getBuild(jobFullName: "job-name", buildNumber: 123)
```
#### 빌드 업데이트
```
mcp__jenkins__updateBuild(jobFullName: "job-name", displayName: "v1.0.0", description: "Release build")
```
### 3. 로그 조회
#### 빌드 로그 조회
```
# 최신 빌드 로그
mcp__jenkins__getBuildLog(jobFullName: "job-name")
# 특정 빌드의 마지막 100줄
mcp__jenkins__getBuildLog(jobFullName: "job-name", buildNumber: 123, limit: -100)
```
#### 로그 검색
```
mcp__jenkins__searchBuildLog(jobFullName: "job-name", pattern: "ERROR", ignoreCase: true)
```
### 4. 테스트 결과 조회
#### 테스트 결과
```
# 전체 테스트 결과
mcp__jenkins__getTestResults(jobFullName: "job-name")
# 실패한 테스트만
mcp__jenkins__getTestResults(jobFullName: "job-name", onlyFailingTests: true)
```
### 5. 시스템 상태
#### Jenkins 상태 확인
```
mcp__jenkins__getStatus
```
#### 현재 사용자 확인
```
mcp__jenkins__whoAmI
```
## 일반적인 작업 흐름
### 배포 상태 확인
1. `getJobs` - 전체 Job 목록 확인
2. `getBuild(jobFullName)` - 최신 빌드 상태 확인
3. `getBuildLog(jobFullName, limit: -50)` - 최근 로그 확인
### 빌드 실패 분석
1. `getBuild(jobFullName)` - 빌드 상태 확인
2. `searchBuildLog(jobFullName, pattern: "ERROR")` - 에러 검색
3. `getTestResults(jobFullName, onlyFailingTests: true)` - 실패 테스트 확인
### 수동 배포
1. `triggerBuild(jobFullName)` - 빌드 트리거
2. `getBuild(jobFullName)` - 빌드 진행 상태 확인
3. `getBuildLog(jobFullName)` - 빌드 로그 모니터링
## 트러블슈팅
### 빌드 실패 시
1. 로그에서 에러 메시지 검색
2. 테스트 결과 확인
3. SCM 변경사항 확인
### Jenkins 연결 실패 시
1. `getStatus` 로 Jenkins 상태 확인
2. CSRF 설정 확인 (Enable proxy compatibility)
3. API 토큰 유효성 확인
## MCP 도구 목록
| 도구 | 설명 |
|------|------|
| `getStatus` | Jenkins 시스템 상태 조회 |
| `whoAmI` | 인증된 사용자 정보 조회 |
| `getJobs` | Job 목록 조회 (페이지네이션 지원) |
| `getJob` | 특정 Job 상세 정보 |
| `getJobScm` | Job의 SCM 설정 조회 |
| `getBuild` | 빌드 정보 조회 |
| `getBuildLog` | 빌드 로그 조회 |
| `searchBuildLog` | 빌드 로그 검색 |
| `getBuildScm` | 빌드의 SCM 정보 |
| `getBuildChangeSets` | 빌드의 변경 내역 |
| `getTestResults` | 테스트 결과 조회 |
| `triggerBuild` | 빌드 트리거 |
| `updateBuild` | 빌드 정보 업데이트 |
This skill manages Jenkins CI/CD pipelines, jobs, builds, logs, and test results to streamline DevOps workflows. It provides commands to list and inspect jobs, trigger and monitor builds, search and retrieve logs, and check Jenkins system status. Use it to automate routine pipeline tasks and troubleshoot build failures quickly.
The skill maps common Jenkins operations to concise commands that query job metadata, SCM settings, build details, and test reports. You can trigger parameterized builds, fetch live or historical build logs (with search and tail options), and update build metadata such as display name or description. System and user info endpoints help validate connectivity and permissions.
How do I retrieve only the last few lines of a build log?
Call getBuildLog with a negative limit (for example limit: -100) to tail the last N lines.
Can I trigger a build with parameters?
Yes. Use triggerBuild with a parameters object to pass key/value pairs to the job.
What should I do if Jenkins connectivity fails?
First call getStatus to check system health, verify CSRF/proxy settings, and ensure the API token is valid.