[{"data":1,"prerenderedAt":647},["ShallowReactive",2],{"content-\u002Fplugins\u002Faio-saas-tools\u002Faio-atlassian":3,"children-\u002Fplugins\u002Faio-saas-tools\u002Faio-atlassian":646,"twin-\u002Fplugins\u002Faio-saas-tools\u002Faio-atlassian":641},{"id":4,"title":5,"author":6,"body":7,"budget_tier":6,"build_tags":6,"created":6,"description":637,"document_type":638,"extension":639,"game":6,"install":36,"investment_tier":6,"league":6,"meta":640,"navigation":641,"patch":6,"path":642,"plugin":24,"profit_per_hour":6,"ratings":6,"seo":643,"skills_count":6,"status":6,"stem":644,"strategy_tier":6,"tags":6,"updated":6,"version":6,"weight":6,"__hash__":645},"content\u002Fplugins\u002Faio-saas-tools\u002Faio-atlassian.md","aio-atlassian",null,{"type":8,"value":9,"toc":612},"minimark",[10,37,42,58,63,103,107,117,120,126,137,144,152,159,172,175,179,184,190,200,204,210,214,220,224,230,234,240,256,261,270,276,304,310,315,385,390,415,419,425,438,442,448,452,458,462,468,470,474,480,495,504,506,510,514,537,541,553,557,574,578,596,600],[11,12,13],"blockquote",{},[14,15,16,17,25,26,25,30,33,34],"p",{},"From plugin ",[18,19,21],"a",{"href":20},"\u002Fplugins\u002Faio-saas-tools",[22,23,24],"strong",{},"aio-saas-tools"," · ",[27,28,29],"code",{},"v1.0.2",[22,31,32],{},"Install:"," ",[27,35,36],{},"\u002Fplugin install aio-saas-tools@aiocean-plugins",[38,39,41],"h1",{"id":40},"atlassian-cli","Atlassian CLI",[14,43,44,45,51,52,57],{},"Jira and Confluence operations via CLI tools from ",[18,46,50],{"href":47,"rel":48},"https:\u002F\u002Fgithub.com\u002Fnguyenvanduocit\u002Fjira-mcp",[49],"nofollow","nguyenvanduocit\u002Fjira-mcp"," and ",[18,53,56],{"href":54,"rel":55},"https:\u002F\u002Fgithub.com\u002Fnguyenvanduocit\u002Fconfluence-mcp",[49],"nguyenvanduocit\u002Fconfluence-mcp",".",[59,60,62],"h2",{"id":61},"environment","Environment",[64,65,66,73,79,85,91,97],"ul",{},[67,68,69,70],"li",{},"Go: !",[27,71,72],{},"which go 2>\u002Fdev\u002Fnull || echo \"NOT INSTALLED\"",[67,74,75,76],{},"jira-cli: !",[27,77,78],{},"which jira-cli 2>\u002Fdev\u002Fnull || echo \"NOT INSTALLED\"",[67,80,81,82],{},"confluence-cli: !",[27,83,84],{},"which confluence-cli 2>\u002Fdev\u002Fnull || echo \"NOT INSTALLED\"",[67,86,87,88],{},"ATLASSIAN_HOST: !",[27,89,90],{},"echo ${ATLASSIAN_HOST:-NOT SET}",[67,92,93,94],{},"ATLASSIAN_EMAIL: !",[27,95,96],{},"echo ${ATLASSIAN_EMAIL:-NOT SET}",[67,98,99,100],{},"ATLASSIAN_TOKEN: !",[27,101,102],{},"[ -n \"$ATLASSIAN_TOKEN\" ] && echo \"SET\" || echo \"NOT SET\"",[59,104,106],{"id":105},"install","Install",[108,109,115],"pre",{"className":110,"code":112,"language":113,"meta":114},[111],"language-bash","go install github.com\u002Fnguyenvanduocit\u002Fjira-mcp\u002Fcmd\u002Fjira-cli@latest\ngo install github.com\u002Fnguyenvanduocit\u002Fconfluence-mcp\u002Fcmd\u002Fconfluence-cli@latest\n","bash","",[27,116,112],{"__ignoreMap":114},[14,118,119],{},"Or via Homebrew (confluence-cli only):",[108,121,124],{"className":122,"code":123,"language":113,"meta":114},[111],"brew install nguyenvanduocit\u002Ftap\u002Fconfluence-mcp\n",[27,125,123],{"__ignoreMap":114},[14,127,128,131,132,136],{},[22,129,130],{},"Credentials"," (get token from ",[18,133,134],{"href":134,"rel":135},"https:\u002F\u002Fid.atlassian.com\u002Fmanage-profile\u002Fsecurity\u002Fapi-tokens",[49],"):",[14,138,139,140,143],{},"Create a ",[27,141,142],{},".env"," file:",[108,145,150],{"className":146,"code":148,"language":149},[147],"language-text","ATLASSIAN_HOST=https:\u002F\u002Fyour-company.atlassian.net\nATLASSIAN_EMAIL=your-email@company.com\nATLASSIAN_TOKEN=your-api-token\n","text",[27,151,148],{"__ignoreMap":114},[14,153,154,155,158],{},"All CLI commands accept ",[27,156,157],{},"--env .env"," to load credentials from this file.",[14,160,161,33,164,167,168,171],{},[22,162,163],{},"Global flags:",[27,165,166],{},"--env \u003Cpath>"," (load .env file), ",[27,169,170],{},"--output text|json"," (output format, default: text)",[173,174],"hr",{},[59,176,178],{"id":177},"jira-cli","Jira CLI",[180,181,183],"h3",{"id":182},"issues","Issues",[108,185,188],{"className":186,"code":187,"language":113,"meta":114},[111],"# Get issue (full details with transitions, changelog, subtasks, description)\njira-cli get-issue --issue-key PROJ-123 --env .env\njira-cli get-issue --issue-key PROJ-123 --fields summary,status --output json\njira-cli get-issue --issue-key PROJ-123 --expand transitions,changelog\n\n# Search issues with JQL\njira-cli search-issues --jql \"project = PROJ AND status = 'In Progress'\" --env .env\njira-cli search-issues --jql \"assignee = currentUser() AND sprint in openSprints()\" --max-results 10 --env .env\njira-cli search-issues --jql \"project = PROJ AND created >= -7d\" --fields summary,status --env .env\n\n# Create issue\njira-cli create-issue --project PROJ --summary \"Bug title\" --type Bug --env .env\njira-cli create-issue --project PROJ --summary \"New feature\" --type Story \\\n  --description \"## Overview\\nA new feature\" --priority High --env .env\njira-cli create-issue --project PROJ --summary \"Task\" --type Task \\\n  --assignee 5a1234b --priority Medium --env .env\n\n# Create child issue (subtask)\njira-cli create-child-issue --parent-key PROJ-100 --summary \"Subtask 1\" --env .env\njira-cli create-child-issue --parent-key PROJ-100 --summary \"Subtask\" \\\n  --description \"Details here\" --type Subtask --env .env\n\n# Update issue\njira-cli update-issue --issue-key PROJ-123 --summary \"Updated title\" --env .env\njira-cli update-issue --issue-key PROJ-123 --priority High --assignee 5a1234b --env .env\njira-cli update-issue --issue-key PROJ-123 --description \"## New description\" --env .env\n\n# Delete issue (cannot be undone)\njira-cli delete-issue --issue-key PROJ-123 --env .env\n\n# List available issue types\njira-cli list-issue-types --env .env\n",[27,189,187],{"__ignoreMap":114},[14,191,192,195,196,199],{},[22,193,194],{},"Issue types:"," Bug, Task, Story, Epic, Subtask\n",[22,197,198],{},"Priorities:"," Highest, High, Medium, Low, Lowest",[180,201,203],{"id":202},"workflow-status-transitions","Workflow (Status & Transitions)",[108,205,208],{"className":206,"code":207,"language":113,"meta":114},[111],"# Step 1: see available transitions\njira-cli get-transitions --issue-key PROJ-123 --env .env\n# Step 2: apply transition\njira-cli transition-issue --issue-key PROJ-123 --transition-id 31 --env .env\n\n# List all statuses for a project\njira-cli list-statuses --project-key PROJ --env .env\n",[27,209,207],{"__ignoreMap":114},[180,211,213],{"id":212},"sprints","Sprints",[108,215,218],{"className":216,"code":217,"language":113,"meta":114},[111],"# List sprints for a project\njira-cli list-sprints --project-key PROJ --env .env\njira-cli list-sprints --board-id 42 --env .env\n\n# Get active sprint\njira-cli get-active-sprint --project-key PROJ --env .env\n\n# Get specific sprint by ID\njira-cli get-sprint --sprint-id 42 --env .env\n\n# Search sprints by name (substring match by default)\njira-cli search-sprint --name \"Sprint 23\" --project-key PROJ --env .env\njira-cli search-sprint --name \"Sprint 23\" --project-key PROJ --exact-match --env .env\n",[27,219,217],{"__ignoreMap":114},[180,221,223],{"id":222},"comments","Comments",[108,225,228],{"className":226,"code":227,"language":113,"meta":114},[111],"jira-cli add-comment --issue-key PROJ-123 --comment \"Fixed in PR #456\" --env .env\njira-cli get-comments --issue-key PROJ-123 --env .env\n",[27,229,227],{"__ignoreMap":114},[180,231,233],{"id":232},"worklogs","Worklogs",[108,235,238],{"className":236,"code":237,"language":113,"meta":114},[111],"# Log time spent\njira-cli add-worklog --issue-key PROJ-123 --time-spent 2h30m --env .env\njira-cli add-worklog --issue-key PROJ-123 --time-spent 1h \\\n  --comment \"Code review\" --started \"2025-01-15T09:00:00.000+0700\" --env .env\n",[27,239,237],{"__ignoreMap":114},[14,241,242,33,245,248,249,248,252,255],{},[22,243,244],{},"Time format:",[27,246,247],{},"1h30m",", ",[27,250,251],{},"3h",[27,253,254],{},"30m",", or seconds. No spaces between units.",[257,258,260],"h4",{"id":259},"rich-formatting-markdown-supported","Rich Formatting — Markdown Supported",[14,262,263,265,266,269],{},[27,264,177],{}," automatically converts ",[22,267,268],{},"Markdown to ADF"," (Atlassian Document Format) for all text fields — comments, descriptions, and issue updates. Just write standard Markdown:",[108,271,274],{"className":272,"code":273,"language":113,"meta":114},[111],"jira-cli add-comment --issue-key PROJ-123 --comment \"## Investigation Results\n\nFound **3 issues** across all shops.\n\n- Shop A: $1,234.56\n- Shop B: $2,345.67\n\n\\`\\`\\`go\nfunc main() { fmt.Println(\\\"hello\\\") }\n\\`\\`\\`\" --env .env\n",[27,275,273],{"__ignoreMap":114},[11,277,278],{},[14,279,280,283,284,248,287,248,290,248,293,248,296,299,300,303],{},[22,281,282],{},"NEVER use Jira wiki markup"," (",[27,285,286],{},"h2.",[27,288,289],{},"||header||",[27,291,292],{},"{code}",[27,294,295],{},"*bold*",[27,297,298],{},"#"," lists).\nIt will appear as ",[22,301,302],{},"literal ugly text",". Always use Markdown — jira-cli handles conversion.",[14,305,306,309],{},[22,307,308],{},"Supported Markdown elements:"," headings, bold, italic, inline code, code blocks (with language), bullet lists, ordered lists, links, strikethrough, blockquotes, horizontal rules.",[14,311,312],{},[22,313,314],{},"Text Marks (for REST API direct usage):",[316,317,318,331],"table",{},[319,320,321],"thead",{},[322,323,324,328],"tr",{},[325,326,327],"th",{},"Mark",[325,329,330],{},"Example",[332,333,334,345,355,365,375],"tbody",{},[322,335,336,340],{},[337,338,339],"td",{},"Bold",[337,341,342],{},[27,343,344],{},"\"marks\": [{\"type\": \"strong\"}]",[322,346,347,350],{},[337,348,349],{},"Italic",[337,351,352],{},[27,353,354],{},"\"marks\": [{\"type\": \"em\"}]",[322,356,357,360],{},[337,358,359],{},"Code",[337,361,362],{},[27,363,364],{},"\"marks\": [{\"type\": \"code\"}]",[322,366,367,370],{},[337,368,369],{},"Color",[337,371,372],{},[27,373,374],{},"\"marks\": [{\"type\": \"textColor\", \"attrs\": {\"color\": \"#bf2600\"}}]",[322,376,377,380],{},[337,378,379],{},"Link",[337,381,382],{},[27,383,384],{},"\"marks\": [{\"type\": \"link\", \"attrs\": {\"href\": \"https:\u002F\u002F...\"}}]",[14,386,387],{},[22,388,389],{},"When to use which:",[64,391,392,399,409],{},[67,393,394,395,398],{},"All comments (simple or rich) → ",[27,396,397],{},"jira-cli add-comment --comment \"markdown text\""," (auto-converts to ADF)",[67,400,401,402,405,406],{},"Issue description → ",[27,403,404],{},"jira-cli create-issue --description \"markdown\""," or ",[27,407,408],{},"jira-cli update-issue --description \"markdown\"",[67,410,411,412],{},"Deleting a comment → ",[27,413,414],{},"curl -X DELETE ...\u002Frest\u002Fapi\u002F3\u002Fissue\u002FPROJ-123\u002Fcomment\u002F{commentId}",[180,416,418],{"id":417},"relationships-links","Relationships & Links",[108,420,423],{"className":421,"code":422,"language":113,"meta":114},[111],"jira-cli link-issues --inward-issue PROJ-100 --outward-issue PROJ-101 --link-type Blocks --env .env\njira-cli link-issues --inward-issue PROJ-1 --outward-issue PROJ-2 --link-type Relates --comment \"Related work\" --env .env\njira-cli get-related-issues --issue-key PROJ-100 --env .env\n",[27,424,422],{"__ignoreMap":114},[14,426,427,428,248,431,248,434,437],{},"Common link types: ",[27,429,430],{},"Blocks",[27,432,433],{},"Duplicate",[27,435,436],{},"Relates"," (capitalized)",[180,439,441],{"id":440},"versions","Versions",[108,443,446],{"className":444,"code":445,"language":113,"meta":114},[111],"jira-cli get-version --version-id 10001 --env .env\njira-cli list-project-versions --project-key PROJ --env .env\n",[27,447,445],{"__ignoreMap":114},[180,449,451],{"id":450},"development-info","Development Info",[108,453,456],{"className":454,"code":455,"language":113,"meta":114},[111],"# Get linked PRs, branches, commits, builds for an issue\njira-cli get-development-info --issue-key PROJ-123 --env .env\njira-cli get-development-info --issue-key PROJ-123 \\\n  --include-branches true --include-pull-requests true \\\n  --include-commits true --include-builds true --env .env\n",[27,457,455],{"__ignoreMap":114},[180,459,461],{"id":460},"history-attachments","History & Attachments",[108,463,466],{"className":464,"code":465,"language":113,"meta":114},[111],"jira-cli get-issue-history --issue-key PROJ-123 --env .env\njira-cli download-attachment --attachment-id 10500 --env .env\n",[27,467,465],{"__ignoreMap":114},[173,469],{},[59,471,473],{"id":472},"confluence-cli","Confluence CLI",[108,475,478],{"className":476,"code":477,"language":113,"meta":114},[111],"confluence-cli search-page --query \"type = page AND space = DEV AND text ~ 'deploy'\" --env .env\nconfluence-cli get-page --page-id 12345 --env .env\nconfluence-cli create-page --space-key DEV --title \"Title\" --content \"\u003Cp>HTML\u003C\u002Fp>\" --env .env\nconfluence-cli update-page --page-id 12345 --title \"Title\" --content \"\u003Cp>HTML\u003C\u002Fp>\" --version 2 --env .env\nconfluence-cli get-comments --page-id 12345 --env .env\nconfluence-cli list-spaces --env .env\n",[27,479,477],{"__ignoreMap":114},[14,481,482,483,486,487,490,491,494],{},"Note: ",[27,484,485],{},"update-page"," requires ",[27,488,489],{},"--version"," = current version + 1. Get current version via ",[27,492,493],{},"get-page"," first.",[14,496,497,498,501,502],{},"Flags: ",[27,499,500],{},"--env"," (path to .env), ",[27,503,170],{},[173,505],{},[59,507,509],{"id":508},"workflows","Workflows",[180,511,513],{"id":512},"fix-a-bug","Fix a Bug",[515,516,517,522,527,532],"ol",{},[67,518,519],{},[27,520,521],{},"jira-cli search-issues --jql \"status = 'In Progress' AND assignee = currentUser()\" --env .env",[67,523,524],{},[27,525,526],{},"jira-cli get-transitions --issue-key PROJ-123 --env .env",[67,528,529],{},[27,530,531],{},"jira-cli transition-issue --issue-key PROJ-123 --transition-id 31 --env .env",[67,533,534],{},[27,535,536],{},"jira-cli add-comment --issue-key PROJ-123 --comment \"Fixed in PR #X\" --env .env",[180,538,540],{"id":539},"sprint-planning","Sprint Planning",[515,542,543,548],{},[67,544,545],{},[27,546,547],{},"jira-cli get-active-sprint --project-key PROJ --env .env",[67,549,550],{},[27,551,552],{},"jira-cli search-issues --jql \"sprint = 42 AND status != Done\" --max-results 50 --env .env",[180,554,556],{"id":555},"story-with-subtasks","Story with Subtasks",[515,558,559,564,569],{},[67,560,561],{},[27,562,563],{},"jira-cli create-issue --project PROJ --summary \"User auth\" --type Story --env .env",[67,565,566],{},[27,567,568],{},"jira-cli create-child-issue --parent-key PROJ-100 --summary \"Backend\" --env .env",[67,570,571],{},[27,572,573],{},"jira-cli create-child-issue --parent-key PROJ-100 --summary \"Frontend\" --env .env",[180,575,577],{"id":576},"find-and-update-confluence-page","Find and Update Confluence Page",[515,579,580,585,591],{},[67,581,582],{},[27,583,584],{},"confluence-cli search-page --query \"space = DEV AND text ~ 'deploy'\" --env .env",[67,586,587,590],{},[27,588,589],{},"confluence-cli get-page --page-id 12345 --env .env","  ← note the version number",[67,592,593],{},[27,594,595],{},"confluence-cli update-page --page-id 12345 --title \"Title\" --content \"\u003Cp>Updated\u003C\u002Fp>\" --version 3 --env .env",[180,597,599],{"id":598},"build-doc-hierarchy-in-confluence","Build Doc Hierarchy in Confluence",[515,601,602,607],{},[67,603,604],{},[27,605,606],{},"confluence-cli create-page --space-key DEV --title \"Parent Doc\" --content \"\u003Cp>Overview\u003C\u002Fp>\" --env .env",[67,608,609],{},[27,610,611],{},"confluence-cli create-page --space-key DEV --title \"Child Doc\" --content \"\u003Cp>Details\u003C\u002Fp>\" --parent-id \u003Cparent-page-id> --env .env",{"title":114,"searchDepth":613,"depth":613,"links":614},2,[615,616,617,629,630],{"id":61,"depth":613,"text":62},{"id":105,"depth":613,"text":106},{"id":177,"depth":613,"text":178,"children":618},[619,621,622,623,624,625,626,627,628],{"id":182,"depth":620,"text":183},3,{"id":202,"depth":620,"text":203},{"id":212,"depth":620,"text":213},{"id":222,"depth":620,"text":223},{"id":232,"depth":620,"text":233},{"id":417,"depth":620,"text":418},{"id":440,"depth":620,"text":441},{"id":450,"depth":620,"text":451},{"id":460,"depth":620,"text":461},{"id":472,"depth":613,"text":473},{"id":508,"depth":613,"text":509,"children":631},[632,633,634,635,636],{"id":512,"depth":620,"text":513},{"id":539,"depth":620,"text":540},{"id":555,"depth":620,"text":556},{"id":576,"depth":620,"text":577},{"id":598,"depth":620,"text":599},"Manage Jira issues, sprints, workflows, and Confluence pages via CLI.","skill","md",{},true,"\u002Fplugins\u002Faio-saas-tools\u002Faio-atlassian",{"title":5,"description":637},"plugins\u002Faio-saas-tools\u002Faio-atlassian","km1Jl5g6RIDmaT6J2sY152n3Vc00_Ew_Qkz8pRYGZdg",[],1779712313812]