Basic workflow
This workflow runs Junie CLI when the user adds a comment to an issue or a pull request tagging @junie-agent, mentions @junie-agent in the issue title or description, or submits a PR review that has @junie-agent tagged.
When finished, Junie CLI creates a new PR with all the necessary code changes. You can either approve the changes and merge the PR, or trigger Junie CLI to iterate on the task by mentioning @junie-agent and providing follow-up instructions in a comment to this PR.
# .github/workflows/junie.yml
name: Junie
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
issues:
types: [opened, assigned]
pull_request_review:
types: [submitted]
jobs:
junie:
if: | # The workflow is only triggered on explicit mentions of @junie-agent
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@junie-agent')) ||
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@junie-agent')) ||
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@junie-agent')) ||
(github.event_name == 'issues' && (contains(github.event.issue.body, '@junie-agent') || contains(github.event.issue.title, '@junie-agent')))
runs-on: ubuntu-latest
permissions:
contents: write # Required to create branches, make commits, and push changes
pull-requests: write # Required to create PRs, add comments to PRs, and update PR status
issues: write # Required to add comments to issues and update issue metadata
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Run Junie
id: junie
uses: JetBrains/junie-github-action@v0
with:
junie_api_key: ${{ secrets.JUNIE_API_KEY }}
use_single_comment: true # Updates a single comment for all Junie CLI runs instead of creating new comments every time
# Optional: Customize the default @junie-agent name which triggers Junie CLI when tagged in an issue or PR comment.
# Make sure to also change the default @junie-agent name in the trigger section of this workflow file
# trigger_phrase: "@my-custom-trigger-name"
# Optional: Customize to have Junie CLI always create new branches instead of committing to existing ones
# create_new_branch_for_pr: true
# Optional: Add custom instructions for Junie CLI
# prompt: |
# Your prompt text here
26 January 2026