Notes from the work

One email when a tutorial or migration write-up goes live. Nothing else, and an unsubscribe link in every email.

LeanZero

Two people in Romania doing Atlassian migrations, Forge apps and practical AI work for teams that would rather talk to the person doing the job. Most of what we learn ends up on this site.

Services

  • Atlassian Migrations
  • Atlassian FastShift
  • Atlassian Maintenance
  • Forge App Development
  • AI Development Consultation

Topics

  • Jira
  • Jira Service Management
  • Confluence
  • Bitbucket
  • Atlassian Forge
  • Cloud Migration
  • Local AI
  • AI Coding
  • Certifications
  • Atlassian Team
  • All topics

Company

  • Blog
  • Tutorials
  • Contact

Community

  • Join Discord
  • Support this site

© 2026 LeanZero. All rights reserved.

Privacy PolicyTerms of Service24/7 SupportTrust CenterSecurityDPALegal notice
  1. Home
  2. Tutorials
Tutorials

AI & Atlassian Tutorials

Step-by-step AI & Atlassian guides with real code examples.

Browse tutorialsRead the blog
Forge guidesBuild and test apps on Atlassian ForgeCloud migrationsWork through the details of moving to CloudAI codingExplore coding agents and practical development workflows

Tutorials 69

All topicsAI CodingAtlassian ForgeAtlassian TeamBitbucketCertificationsCloud MigrationCogniRunnerConfluenceCost SlasherJiraJira Service ManagementLeanZero ManagementLocal AISentinel Vaultgoose Local Edition
How to Block Time Logging on Specific Work Types in Jira Cloud (Using Workflow Properties)
TutorialJira

How to Block Time Logging on Specific Work Types in Jira Cloud (Using Workflow Properties)

Your organisation uses Tempo Timesheets and needs to prevent users from logging time against certain Jira issue types — like Risk, Assumption, or any work type that exists for tracking purposes only. There's no toggle for this in Tempo. But there's a workflow property that does exactly what you need, and it takes five minutes once you know where to look.

Gabriela PerdumApr 9, 20265 min read

More Tutorials

(5 available)
The Jira Cloud Default Value Trap: When "None" Disappears and How to Get It Back
TutorialJira

The Jira Cloud Default Value Trap: When "None" Disappears and How to Get It Back

Set a default value on a Jira Cloud single select field and "None" silently vanishes from the dropdown — with zero UI option to bring it back. Here's what's actually happening under the hood and the exact curl command that fixes it.

Gabriela PerdumMar 11, 20265 min read
Dark Mode Done Right in Forge Custom UI
TutorialAtlassian Forge

Dark Mode Done Right in Forge Custom UI

Confluence supports dark mode. Your Forge app should too. This tutorial covers the full theme implementation for a production Custom UI app -- from Forge Bridge detection to a comprehensive CSS variable system that switches automatically.

Mihai PerdumFeb 18, 202615 min read
Making Atlassian Cloud Migrations Predictable
TutorialCloud Migration

Making Atlassian Cloud Migrations Predictable

The real work in a cloud migration is getting to zero data loss. That starts with a thorough assessment -- knowing exactly what you have, what will not migrate automatically, and what needs hands-on validation. This is a practical guide to gathering that data using SQL queries, REST API scripts, and ScriptRunner Groovy snippets.

Mihai PerdumFeb 9, 202620 min read
Microsoft Graph to Jira Assets User Ingestion
TutorialJiraJira Service Management

Microsoft Graph to Jira Assets User Ingestion

This comprehensive guide demonstrates how to build a robust user ingestion system that transfers users from Microsoft Graph API (Azure Entra ID) to Jira Service Management Cloud Assets. The solution handles complex scenarios without complete public API documentation by implementing custom logic for object reference attributes, user type attributes, and sophisticated error handling mechanisms.

Mihai PerdumFeb 1, 202630 min read
Uploading Attachments to Jira Service Management Cloud Assets Without Public API Documentation
TutorialJira Service Management

Uploading Attachments to Jira Service Management Cloud Assets Without Public API Documentation

Jira Service Management Cloud has no public API documentation for uploading attachments to Assets objects. This guide explains the three-step process I discovered through reverse-engineering the API, showing how to get upload credentials, upload files to the media service, and link them to Assets objects.

Mihai PerdumJan 30, 20265 min read
Previous
Page8of 8
Next

Found My Advice Helpful?

If I helped you solve something for free, coffee money is always appreciated (but never expected).

Buy Me a Coffee

Join the Community

Join the community to ask questions, share your work, and connect with other professionals.

Join Discord

Recent Tutorials

View all
Rovo Code Reviewer moves to Rovo credits on 3 December: pricing, setup and review budget
TutorialJira

Rovo Code Reviewer moves to Rovo credits on 3 December: pricing, setup and review budget

Mihai Perdum14 min read
How to check Rovo credits usage for each user, and send them a monthly report
TutorialJira

How to check Rovo credits usage for each user, and send them a monthly report

Gabriela Perdum13 min read
Jira Coder: Build a Forge App and Deploy It Through CI/CD in Bitbucket Pipelines
TutorialCogniRunner

Jira Coder: Build a Forge App and Deploy It Through CI/CD in Bitbucket Pipelines

Mihai Perdum16 min read
Jira CAB approval: a change advisory board process in Jira Service Management, end to end
TutorialJira

Jira CAB approval: a change advisory board process in Jira Service Management, end to end

Mihai Perdum16 min read
Rovo usage limit: set or turn off extra usage before 3 December
TutorialJira

Rovo usage limit: set or turn off extra usage before 3 December

Mihai Perdum13 min read