Documentation / Collaboration and integrations
Jira, Jenkins, CloudBees and My tasks
Your tickets, your pipelines and your deployments inside the IDE. The agent reads what it needs and every write waits for your approval.
Yuli connects the IDE to Jira, Jenkins and CloudBees CD/RO. You see your tickets, builds and deployments without leaving the editor, and the agent uses them as tools: it can read freely, but anything that changes something waits for your approval.
Where to configure it
| Service | Where |
|---|---|
| Jira | An entry in MCP servers. |
| Jenkins | An entry in MCP servers for the agent, and in CI connections to see the pipelines. |
| CloudBees CD/RO | CI connections, with an API token or your user and password (used for reading only). |
| Project settings | .ai/devops.json: branch format, Jenkins job and CloudBees scope. |
CI connections brings together Jenkins, GitLab CI, GitHub Actions and CloudBees. Credentials go to the system keychain.
Jira
Yuli works with Jira Cloud (email and API token) and Data Center (Personal Access Token).
| Tool | What it does | Approval |
|---|---|---|
jira.search_issues |
Searches tickets. | No |
jira.get_issue |
Reads a ticket. | No |
jira.list_projects |
Lists projects. | No |
jira.list_boards |
Lists boards. | No |
jira.list_sprints |
Lists sprints. | No |
jira.list_transitions |
Lists the statuses a ticket can move to. | No |
jira.create_issue |
Creates a ticket. | Yes |
jira.update_issue |
Changes a ticket. | Yes |
jira.transition_issue |
Changes a ticket's status. | Yes |
jira.add_comment |
Comments on a ticket. | Yes |
jira.attach_branch |
Links a branch to a ticket. | Yes |
When the agent links a branch without naming the project, Yuli uses the project the agent is working on.
A branch from a ticket
In the Git panel, My Jira tickets lists your tickets. Create branch from ticket creates the branch with the project's format and offers to move the ticket to the in-progress status.
The format is defined in .ai/devops.json, which is versioned with the team:
{
"branchFormat": "{prefix}/{key}-{slug}",
"typePrefixes": { "bug": "bugfix", "hotfix": "hotfix" },
"defaultPrefix": "feature",
"maxSlugLength": 40
}| Placeholder | Replaced with |
|---|---|
{prefix} |
The prefix for the ticket type (bugfix for a bug, hotfix for an incident; feature for everything else). |
{key} |
The ticket key, for example PAY-214. |
{slug} |
The ticket title in lower case with hyphens. |
{type} |
The ticket type. |
{project} |
The Jira project. |
With the default format, story PAY-214 "Validar importe" becomes the branch feature/PAY-214-validar-importe. The slug drops accents and punctuation: "Añadir inicio de sesión con SSO (Azure)" becomes anadir-inicio-de-sesion-con-sso-azure.
Jenkins
| Tool | What it does | Approval |
|---|---|---|
jenkins.list_jobs |
Lists jobs. | No |
jenkins.get_job |
Reads a job. | No |
jenkins.get_build |
Reads a build. | No |
jenkins.get_console_log |
Reads a build's console. | No |
jenkins.get_queue |
Reads the queue. | No |
jenkins.trigger_build |
Starts a build. | Yes |
Ask the agent, for example: "Why did the last build of this branch fail?". It reads the console and tells you the cause.
CloudBees CD/RO
The agent has a single read-only tool, cloudbees. With it, it sees pipeline runs with their stages and tasks, the jobs (steps, errors and logs), the configuration (with secrets masked) and the pods of the project's Kubernetes workload.
The scope is what you configured in .ai/devops.json → cloudbees: your project's pipelines, environments and workload. The agent cannot start, approve or change anything: it tells you what to do.
In the IDE you see it in Deployments (CloudBees).
My tasks
My tasks brings together in one list your Jira tickets, your forge's issues and your pull or merge requests (GitHub, GitLab, Bitbucket and Azure). Open it with the My tasks command (Git group) or from the status bar, at Branch task:.
| Filter | Options |
|---|---|
| Scope | Mine in the sprint, Active sprint (team) |
| Source | All, Issues, Pull requests |
| Action | What it does |
|---|---|
| Start | Creates the task's branch and, if you want, moves the ticket. |
| Switch to its branch | Switches to that task's branch. |
If nothing is connected, My tasks asks you to connect Jira (in MCP servers) or a GitHub or GitLab account.
See also Git and CI/CD and Yuli as an MCP server.