<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/ai-driven-development-with-tekton-and-claude-code-on-openshift-h3zc7abry" -->

---
title: AI-Driven Development with Tekton and Claude Code on...
description: A Tekton pipeline on OpenShift can run Claude Code as an automated developer triggered by GitHub issue comments. A GitHub webhook fires when a comment starts...
canonical: https://daily.dev/posts/ai-driven-development-with-tekton-and-claude-code-on-openshift-h3zc7abry
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: AI-Driven Development with Tekton and Claude Code on OpenShift | daily.dev
og:description: A Tekton pipeline on OpenShift can run Claude Code as an automated developer triggered by GitHub issue comments. A GitHub webhook fires when a comment starts...
og:url: https://daily.dev/posts/ai-driven-development-with-tekton-and-claude-code-on-openshift-h3zc7abry
og:image: https://api.daily.dev/og/posts/H3zc7AbRY.png
og:image:alt: AI-Driven Development with Tekton and Claude Code on OpenShift
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# AI-Driven Development with Tekton and Claude Code on OpenShift

**[Piotr Minkowski TechBlog](https://daily.dev/sources/piotr-minkowski)** · 13 min read · 0 upvotes · 0 comments

## Summary

A Tekton pipeline on OpenShift can run Claude Code as an automated developer triggered by GitHub issue comments. A GitHub webhook fires when a comment starts with '@tekton', and Tekton Triggers creates a PipelineRun using a TriggerBinding, TriggerTemplate, and EventListener with a CEL filter. The pipeline clones the repo, strips the '@tekton' prefix, runs 'claude -p --model sonnet --permission-mode acceptEdits' with limited tools, commits any changes, and uses GitHub CLI to open a pull request. The demo bumps a Maven pom.xml version and updates the README. The author notes a production setup should separate the GitHub write token from the AI agent's task.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://piotrminkowski.com/2026/10/29/ai-driven-development-with-tekton-and-claude-code-on-openshift>

## Questions this post answers

### How can I trigger Claude Code automatically from a GitHub issue comment using Tekton on OpenShift?

Set up Tekton Triggers with a TriggerBinding, TriggerTemplate, and EventListener that uses a CEL interceptor to filter 'issue_comment' events whose body starts with '@tekton'. The EventListener creates a PipelineRun that clones the repo, strips the '@tekton' prefix from the comment, and runs 'claude -p --model sonnet --permission-mode acceptEdits --allowedTools "Read,Edit,Write,Glob,Grep"' to implement the change before pushing a branch and opening a pull request via GitHub CLI.

_daily.dev surfaces Tekton and Claude Code integration guides for teams automating AI-driven pull requests._

### What command-line flags does Claude Code need to run non-interactively in a CI pipeline?

Use 'claude -p --model sonnet --permission-mode acceptEdits --allowedTools "Read,Edit,Write,Glob,Grep"', piping the prompt in via stdin. The '-p' flag runs it in non-interactive mode, 'acceptEdits' lets it apply file edits without prompting, and the allowedTools list restricts it to reading, editing, writing, and searching files, without push or secret access.

_developers wiring claude code into pipelines can track non-interactive usage patterns on daily.dev._

### What security precaution should I take when letting an AI agent push code and open pull requests in a CI pipeline?

Keep the GitHub write token out of the same task that runs the AI agent whenever possible. In a demo setup, Claude Code execution and GitHub push/PR creation were combined in a single Tekton task for simplicity, but a production pipeline should separate these steps to avoid exposing the GitHub write token directly to the AI agent.

_security-conscious teams follow AI-agent pipeline hardening tips like this on daily.dev._

## Similar posts on daily.dev

- [OpenCode on GitHub with Kubernetes](https://daily.dev/posts/opencode-on-github-with-kubernetes-f8ojewaao) · Piotr Minkowski TechBlog · 0 upvotes · 0 comments
- [Integrate Claude Code with Red Hat AI Inference Server on OpenShift](https://daily.dev/posts/integrate-claude-code-with-red-hat-ai-inference-server-on-openshift-nlq4jemv5) · Red Hat Developer · 0 upvotes · 0 comments

---

Tags: [#kubernetes](https://daily.dev/tags/kubernetes), [#cicd](https://daily.dev/tags/cicd), [#claude-code](https://daily.dev/tags/claude-code), [#openshift](https://daily.dev/tags/openshift)

[View this post on daily.dev](https://daily.dev/posts/ai-driven-development-with-tekton-and-claude-code-on-openshift-h3zc7abry)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"AI-Driven Development with Tekton and Claude Code on OpenShift","url":"https://daily.dev/posts/ai-driven-development-with-tekton-and-claude-code-on-openshift-h3zc7abry","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/ai-driven-development-with-tekton-and-claude-code-on-openshift-h3zc7abry"},"datePublished":"2026-10-29T19:58:07.940Z","dateModified":"2026-10-29T20:05:44.773Z","description":"A Tekton pipeline on OpenShift can run Claude Code as an automated developer triggered by GitHub issue comments. A GitHub webhook fires when a comment starts...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/2633a561b0a162584d115423a74f3f6f?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/2633a561b0a162584d115423a74f3f6f?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Piotr Minkowski TechBlog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Piotr Minkowski TechBlog","logo":"https://media.daily.dev/image/upload/s--776ytlEM--/f_auto,q_auto/v1773648765/logos/piotr-minkowski?_a=BAMAMiiu0","url":"https://daily.dev/sources/piotr-minkowski"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/ai-driven-development-with-tekton-and-claude-code-on-openshift-h3zc7abry","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"kubernetes,cicd,claude-code,openshift","timeRequired":"PT13M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Piotr Minkowski TechBlog","item":"https://daily.dev/sources/piotr-minkowski"},{"@type":"ListItem","position":3,"name":"AI-Driven Development with Tekton and Claude Code on OpenShift"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/ai-driven-development-with-tekton-and-claude-code-on-openshift-h3zc7abry#faq","mainEntity":[{"@type":"Question","name":"How can I trigger Claude Code automatically from a GitHub issue comment using Tekton on OpenShift?","acceptedAnswer":{"@type":"Answer","text":"Set up Tekton Triggers with a TriggerBinding, TriggerTemplate, and EventListener that uses a CEL interceptor to filter 'issue_comment' events whose body starts with '@tekton'. The EventListener creates a PipelineRun that clones the repo, strips the '@tekton' prefix from the comment, and runs 'claude -p --model sonnet --permission-mode acceptEdits --allowedTools \"Read,Edit,Write,Glob,Grep\"' to implement the change before pushing a branch and opening a pull request via GitHub CLI. daily.dev surfaces Tekton and Claude Code integration guides for teams automating AI-driven pull requests."}},{"@type":"Question","name":"What command-line flags does Claude Code need to run non-interactively in a CI pipeline?","acceptedAnswer":{"@type":"Answer","text":"Use 'claude -p --model sonnet --permission-mode acceptEdits --allowedTools \"Read,Edit,Write,Glob,Grep\"', piping the prompt in via stdin. The '-p' flag runs it in non-interactive mode, 'acceptEdits' lets it apply file edits without prompting, and the allowedTools list restricts it to reading, editing, writing, and searching files, without push or secret access. developers wiring claude code into pipelines can track non-interactive usage patterns on daily.dev."}},{"@type":"Question","name":"What security precaution should I take when letting an AI agent push code and open pull requests in a CI pipeline?","acceptedAnswer":{"@type":"Answer","text":"Keep the GitHub write token out of the same task that runs the AI agent whenever possible. In a demo setup, Claude Code execution and GitHub push/PR creation were combined in a single Tekton task for simplicity, but a production pipeline should separate these steps to avoid exposing the GitHub write token directly to the AI agent. security-conscious teams follow AI-agent pipeline hardening tips like this on daily.dev."}}]}
```

