jira-term
Version:
CLI for Jira based on jira-cli
216 lines (182 loc) • 33.5 kB
HTML
<html> <head> <title>jira.coffee</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <link rel="stylesheet" media="all" href="docco.css" /> </head> <body> <div id="container"> <div id="background"></div> <div id="jump_to"> Jump To … <div id="jump_wrapper"> <div id="jump_page"> <a class="source" href="data-utils.html"> data-utils.coffee </a> <a class="source" href="format-options.html"> format-options.coffee </a> <a class="source" href="jira-cli.html"> jira-cli.coffee </a> <a class="source" href="jira.html"> jira.coffee </a> <a class="source" href="pretty-printer.html"> pretty-printer.coffee </a> </div> </div> </div> <table cellpadding="0" cellspacing="0"> <thead> <tr> <th class="docs"> <h1> jira.coffee </h1> </th> <th class="code"> </th> </tr> </thead> <tbody> <tr id="section-1"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-1">¶</a> </div> <h1>Jira Command Line Client</h1>
<p>This client depends on you having a json file in your home directory
named <code>.jiraclirc.json</code> it must contain:</p>
<pre><code>{
"user": "USERNAME",
"password": "PASSWORD",
"host": "xxxxxx.atlassian.net",
"project": 10100
}
</code></pre>
<p>For SSL this the <code>.jiraclirc.json</code> may look like:</p>
<pre><code>{
"user": "USERNAME",
"password": "PASSWORD",
"host": "xxxxxxx.atlassian.net",
"project": "ACME",
"protocol": "https:"
}
</code></pre>
<p>If not present, it will enter an interactive mode to create it with you</p>
<p>jira-term is on <a href="https://github.com/bryangrimes/jira-term">github</a>
and is a fork off of the work done by Chris Moultrie
in the <a href="https://github.com/tebriel/jira-cli">jira-cli</a> project. Cheers.</p> </td> <td class="code"> <div class="highlight"><pre><span class="nv">fs = </span><span class="nx">require</span> <span class="s">'fs'</span>
<span class="nv">path = </span><span class="nx">require</span> <span class="s">'path'</span></pre></div> </td> </tr> <tr id="section-2"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-2">¶</a> </div> <p><a href="jira-cli.html">JiraHelper docs/source</a></p> </td> <td class="code"> <div class="highlight"><pre><span class="nv">JiraHelper = </span><span class="nx">require</span><span class="p">(</span><span class="s">'./jira-cli'</span><span class="p">).</span><span class="nx">JiraHelper</span></pre></div> </td> </tr> <tr id="section-3"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-3">¶</a> </div> <p><a href="data-utils.html">dutils docs/source</a></p> </td> <td class="code"> <div class="highlight"><pre><span class="nv">dutils = </span><span class="nx">require</span><span class="p">(</span><span class="s">'./data-utils'</span><span class="p">)</span></pre></div> </td> </tr> <tr id="section-4"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-4">¶</a> </div> <h2>Create Config File</h2>
<p>Creates a config file when one doesn't exist</p> </td> <td class="code"> <div class="highlight"><pre><span class="nv">createConfigFile = </span><span class="nf">(aConfigFile) -></span>
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span> <span class="s">"No config file found, answer these questions to create one!"</span>
<span class="nx">dutils</span><span class="p">.</span><span class="nx">ask</span> <span class="s">"Username"</span><span class="p">,</span> <span class="sr">/.+/</span><span class="p">,</span> <span class="nf">(username) -></span>
<span class="nx">dutils</span><span class="p">.</span><span class="nx">ask</span> <span class="s">"Password"</span><span class="p">,</span> <span class="sr">/.+/</span><span class="p">,</span> <span class="nf">(password) -></span>
<span class="nx">dutils</span><span class="p">.</span><span class="nx">ask</span> <span class="s">"Jira Host"</span><span class="p">,</span> <span class="sr">/.+/</span><span class="p">,</span> <span class="nf">(host) -></span>
<span class="nx">dutils</span><span class="p">.</span><span class="nx">ask</span> <span class="s">"Jira Port"</span><span class="p">,</span> <span class="sr">/.+/</span><span class="p">,</span> <span class="nf">(port) -></span>
<span class="nx">dutils</span><span class="p">.</span><span class="nx">ask</span> <span class="s">"Default Project"</span><span class="p">,</span> <span class="sr">/.*/</span><span class="p">,</span> <span class="nf">(project) -></span>
<span class="nv">config =</span>
<span class="nx">user</span><span class="o">:</span><span class="nx">username</span>
<span class="nx">password</span><span class="o">:</span><span class="nx">password</span>
<span class="nx">host</span><span class="o">:</span><span class="nx">host</span>
<span class="nx">port</span><span class="o">:</span><span class="nx">port</span>
<span class="nx">project</span><span class="o">:</span><span class="nx">project</span>
<span class="nx">fs</span><span class="p">.</span><span class="nx">writeFileSync</span> <span class="nx">aConfigFile</span><span class="p">,</span>
<span class="nx">JSON</span><span class="p">.</span><span class="nx">stringify</span><span class="p">(</span><span class="nx">config</span><span class="p">),</span> <span class="s">'utf8'</span>
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span> <span class="s">"File created and saved as </span><span class="si">#{</span><span class="nx">aConfigFile</span><span class="si">}</span><span class="s">"</span>
<span class="nx">process</span><span class="p">.</span><span class="nx">exit</span><span class="p">()</span></pre></div> </td> </tr> <tr id="section-5"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-5">¶</a> </div> <h2>Check for Text Parameter</h2>
<p>Optimist returns a <code>bool</code> if the param is given but with nothing following it</p> </td> <td class="code"> <div class="highlight"><pre><span class="nv">paramIsText = </span><span class="nf">(param)-></span>
<span class="k">if</span> <span class="k">typeof</span><span class="p">(</span><span class="nx">param</span><span class="p">)</span> <span class="o">is</span> <span class="s">"boolean"</span>
<span class="nx">argv</span><span class="p">.</span><span class="nx">showHelp</span><span class="p">()</span>
<span class="k">return</span> <span class="kc">false</span>
<span class="kc">true</span></pre></div> </td> </tr> <tr id="section-6"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-6">¶</a> </div> <h2>Load the Config File</h2> </td> <td class="code"> <div class="highlight"><pre><span class="nv">loadConfigFile = </span><span class="nf">(configFilePath) -></span>
<span class="nv">configFile = </span><span class="nx">fs</span><span class="p">.</span><span class="nx">readFileSync</span> <span class="nx">configFilePath</span>
<span class="nx">JSON</span><span class="p">.</span><span class="nx">parse</span> <span class="nx">configFile</span></pre></div> </td> </tr> <tr id="section-7"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-7">¶</a> </div> <h2>Transition Item</h2>
<p>This takes the issueId, lists the transitions available for the item and then
lets the user apply that transition to the item. Optionally the user can
specify a comment which will then prompt for time spent. This adds a work log
item to the item before the transition.</p> </td> <td class="code"> <div class="highlight"><pre><span class="nv">transitionItem = </span><span class="nf">(issueId) -></span>
<span class="nx">jiraCli</span><span class="p">.</span><span class="nx">listTransitions</span> <span class="nx">issueId</span><span class="p">,</span> <span class="nf">(transitions) -></span>
<span class="nx">transitions</span><span class="p">.</span><span class="nx">sort</span> <span class="nx">dutils</span><span class="p">.</span><span class="nx">itemSorter</span>
<span class="k">for</span> <span class="nx">transition</span><span class="p">,</span> <span class="nx">index</span> <span class="k">in</span> <span class="nx">transitions</span>
<span class="nx">jiraCli</span><span class="p">.</span><span class="nx">pp</span><span class="p">.</span><span class="nx">prettyPrintTransition</span> <span class="nx">transition</span><span class="p">,</span> <span class="nx">index</span> <span class="o">+</span> <span class="mi">1</span>
<span class="nv">allowedTypes = </span><span class="p">[</span><span class="mi">1</span><span class="p">..</span><span class="nx">transitions</span><span class="p">.</span><span class="nx">length</span><span class="p">]</span>
<span class="nx">dutils</span><span class="p">.</span><span class="nx">ask</span> <span class="s">"Transtion Type "</span><span class="p">,</span> <span class="nx">allowedTypes</span><span class="p">,</span> <span class="nf">(type)-></span>
<span class="nx">dutils</span><span class="p">.</span><span class="nx">ask</span> <span class="s">"Comment for worklog (blank to skip)"</span><span class="p">,</span> <span class="sr">/.*/</span><span class="p">,</span> <span class="nf">(comment)-></span>
<span class="k">if</span> <span class="nx">comment</span><span class="p">.</span><span class="nx">length</span> <span class="o">is</span> <span class="mi">0</span>
<span class="nx">jiraCli</span><span class="p">.</span><span class="nx">transitionIssue</span> <span class="nx">issueId</span><span class="p">,</span> <span class="nx">transitions</span><span class="p">[</span><span class="nx">type</span> <span class="o">-</span> <span class="mi">1</span><span class="p">].</span><span class="nx">id</span>
<span class="k">return</span>
<span class="nx">dutils</span><span class="p">.</span><span class="nx">ask</span> <span class="s">"Time Spent (for worklog)"</span><span class="p">,</span> <span class="sr">/.+/</span><span class="p">,</span> <span class="nf">(timeSpent)-></span>
<span class="nx">jiraCli</span><span class="p">.</span><span class="nx">addWorklog</span> <span class="nx">issueId</span><span class="p">,</span> <span class="nx">comment</span><span class="p">,</span> <span class="nx">timeSpent</span><span class="p">,</span> <span class="kc">false</span>
<span class="nx">jiraCli</span><span class="p">.</span><span class="nx">transitionIssue</span> <span class="nx">issueId</span><span class="p">,</span> <span class="nx">transitions</span><span class="p">[</span><span class="nx">type</span> <span class="o">-</span> <span class="mi">1</span><span class="p">].</span><span class="nx">id</span>
<span class="p">,</span> <span class="nx">allowedTypes</span></pre></div> </td> </tr> <tr id="section-8"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-8">¶</a> </div> <h2>Add Work Log</h2>
<p>This will add a comment and time spent as a worklog item attached to the
issue</p> </td> <td class="code"> <div class="highlight"><pre><span class="nv">addWorklog = </span><span class="nf">(issueId) -></span>
<span class="nx">dutils</span><span class="p">.</span><span class="nx">ask</span> <span class="s">"Comment for worklog"</span><span class="p">,</span> <span class="sr">/.+/</span><span class="p">,</span> <span class="nf">(comment)-></span>
<span class="nx">dutils</span><span class="p">.</span><span class="nx">ask</span> <span class="s">"Time Spent (for worklog)"</span><span class="p">,</span> <span class="sr">/.+/</span><span class="p">,</span> <span class="nf">(timeSpent)-></span>
<span class="nx">jiraCli</span><span class="p">.</span><span class="nx">addWorklog</span> <span class="nx">issueId</span><span class="p">,</span> <span class="nx">comment</span><span class="p">,</span> <span class="nx">timeSpent</span><span class="p">,</span> <span class="kc">true</span></pre></div> </td> </tr> <tr id="section-9"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-9">¶</a> </div> <h2>List Projects</h2>
<p>This will list all the projects available to you</p> </td> <td class="code"> <div class="highlight"><pre><span class="nv">listProjects = </span><span class="nf">-></span>
<span class="nv">projects = </span><span class="nx">jiraCli</span><span class="p">.</span><span class="nx">getMyProjects</span> <span class="nf">(projects)-></span>
<span class="k">for</span> <span class="nx">project</span> <span class="k">in</span> <span class="nx">projects</span>
<span class="nx">jiraCli</span><span class="p">.</span><span class="nx">pp</span><span class="p">.</span><span class="nx">prettyPrintProject</span> <span class="nx">project</span></pre></div> </td> </tr> <tr id="section-10"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-10">¶</a> </div> <h2>Get Project</h2>
<p>Here we ask the user for their project, giving them an option for the
default, ? for a list, or they can type in a number directly</p>
<p>It calls itself if we list the projects, so that it can still be used to for
what it was called to do</p> </td> <td class="code"> <div class="highlight"><pre><span class="nv">getProject = </span><span class="nf">(callback, defaultProj)-></span>
<span class="nx">dutils</span><span class="p">.</span><span class="nx">ask</span> <span class="s">"Project (Enter for Default/? for list) [</span><span class="si">#{</span><span class="nx">defaultProj</span><span class="si">}</span><span class="s">] "</span><span class="p">,</span><span class="sr">/.*/</span><span class="p">,</span>
<span class="nf">(project) -></span>
<span class="k">unless</span> <span class="nx">project</span> <span class="o">is</span> <span class="s">'?'</span>
<span class="nx">callback</span> <span class="nx">configFile</span><span class="p">.</span><span class="nx">project</span>
<span class="k">return</span>
<span class="nv">projects = </span><span class="nx">jiraCli</span><span class="p">.</span><span class="nx">getMyProjects</span> <span class="nf">(projects)-></span>
<span class="k">for</span> <span class="nx">project</span> <span class="k">in</span> <span class="nx">projects</span>
<span class="nx">jiraCli</span><span class="p">.</span><span class="nx">pp</span><span class="p">.</span><span class="nx">prettyPrintProject</span> <span class="nx">project</span>
<span class="nx">getProject</span> <span class="nx">callback</span><span class="p">,</span> <span class="nx">defaultProj</span></pre></div> </td> </tr> <tr id="section-11"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-11">¶</a> </div> <h2>Add Item</h2>
<p>Adds an item to Jira. The project passed in comes from getProject currently.
Takes a summary and a description then lists the issue types for the user to
choose from</p> </td> <td class="code"> <div class="highlight"><pre><span class="nv">addItem = </span><span class="nf">(project)-></span></pre></div> </td> </tr> <tr id="section-12"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-12">¶</a> </div> <p>Gather the summary, description, an type</p> </td> <td class="code"> <div class="highlight"><pre> <span class="nx">dutils</span><span class="p">.</span><span class="nx">ask</span> <span class="s">"Summary"</span><span class="p">,</span> <span class="sr">/.+/</span><span class="p">,</span> <span class="nf">(summary)-></span>
<span class="nx">dutils</span><span class="p">.</span><span class="nx">ask</span> <span class="s">"Description"</span><span class="p">,</span> <span class="sr">/.+/</span><span class="p">,</span> <span class="nf">(description)-></span>
<span class="nx">dutils</span><span class="p">.</span><span class="nx">ask</span> <span class="s">"QA Aceptance Criteria"</span><span class="p">,</span> <span class="sr">/.+/</span><span class="p">,</span> <span class="nf">(criteria)-></span>
<span class="nx">jiraCli</span><span class="p">.</span><span class="nx">getIssueTypes</span> <span class="nf">(issueTypes)-></span>
<span class="nx">issueTypes</span><span class="p">.</span><span class="nx">sort</span> <span class="nx">dutils</span><span class="p">.</span><span class="nx">itemSorter</span>
<span class="k">for</span> <span class="nx">type</span><span class="p">,</span> <span class="nx">index</span> <span class="k">in</span> <span class="nx">issueTypes</span>
<span class="nx">jiraCli</span><span class="p">.</span><span class="nx">pp</span><span class="p">.</span><span class="nx">prettyPrintIssueTypes</span> <span class="nx">type</span><span class="p">,</span> <span class="nx">index</span> <span class="o">+</span> <span class="mi">1</span>
<span class="nv">allowedTypes = </span><span class="p">[</span><span class="mi">1</span><span class="p">..</span><span class="nx">issueTypes</span><span class="p">.</span><span class="nx">length</span><span class="p">]</span>
<span class="nv">addIssueCallback = </span><span class="nf">(type)-></span>
<span class="nx">jiraCli</span><span class="p">.</span><span class="nx">addIssue</span> <span class="nx">summary</span><span class="p">,</span> <span class="nx">description</span><span class="p">,</span>
<span class="nx">issueTypes</span><span class="p">[</span><span class="nx">type</span> <span class="o">-</span> <span class="mi">1</span><span class="p">].</span><span class="nx">id</span><span class="p">,</span> <span class="nx">project</span><span class="p">,</span> <span class="nx">criteria</span>
<span class="nx">dutils</span><span class="p">.</span><span class="nx">ask</span> <span class="s">"Type "</span><span class="p">,</span> <span class="nx">allowedTypes</span><span class="p">,</span>
<span class="nx">addIssueCallback</span><span class="p">,</span> <span class="nx">allowedTypes</span></pre></div> </td> </tr> <tr id="section-13"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-13">¶</a> </div> <h2>Main entry point</h2>
<p>Parses the arguments and then calls a function above</p> </td> <td class="code"> <div class="highlight"><pre><span class="k">if</span> <span class="nx">require</span><span class="p">.</span><span class="nx">main</span> <span class="o">is</span> <span class="nx">module</span>
<span class="nv">argv = </span><span class="p">(</span><span class="nx">require</span> <span class="s">'optimist'</span><span class="p">)</span>
<span class="p">.</span><span class="nx">options</span><span class="p">(</span><span class="s">'f'</span><span class="p">,</span>
<span class="nx">alias</span><span class="o">:</span><span class="s">'find'</span>
<span class="nx">describe</span><span class="o">:</span><span class="s">'Finds the specified Jira ID'</span>
<span class="p">).</span><span class="nx">options</span><span class="p">(</span><span class="s">'a'</span><span class="p">,</span>
<span class="nx">alias</span><span class="o">:</span><span class="s">'add'</span>
<span class="nx">describe</span><span class="o">:</span><span class="s">'Allows you to add a new Jira Task'</span>
<span class="p">).</span><span class="nx">options</span><span class="p">(</span><span class="s">'t'</span><span class="p">,</span>
<span class="nx">alias</span><span class="o">:</span><span class="s">'transition'</span>
<span class="nx">describe</span><span class="o">:</span><span class="s">'Allows you to resolve a specific Jira ID'</span>
<span class="p">).</span><span class="nx">options</span><span class="p">(</span><span class="s">'l'</span><span class="p">,</span>
<span class="nx">alias</span><span class="o">:</span><span class="s">'list'</span>
<span class="nx">describe</span><span class="o">:</span><span class="s">'Lists all your open issues'</span>
<span class="p">).</span><span class="nx">options</span><span class="p">(</span><span class="s">'c'</span><span class="p">,</span>
<span class="nx">alias</span><span class="o">:</span><span class="s">'list-all'</span>
<span class="nx">describe</span><span class="o">:</span><span class="s">'Lists all your issues'</span>
<span class="p">).</span><span class="nx">options</span><span class="p">(</span><span class="s">'d'</span><span class="p">,</span>
<span class="nx">alias</span><span class="o">:</span><span class="s">'details'</span>
<span class="nx">describe</span><span class="o">:</span><span class="s">'Shows expanded details'</span>
<span class="p">).</span><span class="nx">options</span><span class="p">(</span><span class="s">'p'</span><span class="p">,</span>
<span class="nx">alias</span><span class="o">:</span><span class="s">'projects'</span>
<span class="nx">describe</span><span class="o">:</span><span class="s">'Lists all your viewable projects'</span>
<span class="p">).</span><span class="nx">options</span><span class="p">(</span><span class="s">'o'</span><span class="p">,</span>
<span class="nx">describe</span><span class="o">:</span><span class="s">'Limits list to only this project'</span>
<span class="p">).</span><span class="nx">options</span><span class="p">(</span><span class="s">'w'</span><span class="p">,</span>
<span class="nx">alias</span><span class="o">:</span><span class="s">'worklog'</span>
<span class="nx">describe</span><span class="o">:</span><span class="s">'Adds work to your task'</span>
<span class="p">).</span><span class="nx">options</span><span class="p">(</span><span class="s">'s'</span><span class="p">,</span>
<span class="nx">alias</span><span class="o">:</span><span class="s">'search'</span>
<span class="nx">describe</span><span class="o">:</span><span class="s">'Pass a jql string to jira'</span>
<span class="p">).</span><span class="nx">options</span><span class="p">(</span><span class="s">'h'</span><span class="p">,</span>
<span class="nx">alias</span><span class="o">:</span><span class="s">'help'</span>
<span class="nx">describe</span><span class="o">:</span><span class="s">'Shows this help message'</span>
<span class="p">).</span><span class="nx">usage</span><span class="p">(</span><span class="s">'Usage:\n\tjira -f EG-143\n\tjira -f EG-143 -d\n\tjira -l'</span><span class="p">)</span>
<span class="p">.</span><span class="nx">boolean</span><span class="p">(</span><span class="s">'d'</span><span class="p">)</span>
<span class="p">.</span><span class="nx">string</span><span class="p">(</span><span class="s">'s'</span><span class="p">)</span>
<span class="p">.</span><span class="nx">string</span><span class="p">(</span><span class="s">'f'</span><span class="p">)</span>
<span class="p">.</span><span class="nx">string</span><span class="p">(</span><span class="s">'t'</span><span class="p">)</span>
<span class="p">.</span><span class="nx">string</span><span class="p">(</span><span class="s">'w'</span><span class="p">)</span>
<span class="k">if</span> <span class="nx">argv</span><span class="p">.</span><span class="nx">argv</span><span class="p">.</span><span class="nx">help</span>
<span class="nx">argv</span><span class="p">.</span><span class="nx">showHelp</span><span class="p">()</span>
<span class="k">return</span>
<span class="nv">args = </span><span class="nx">argv</span><span class="p">.</span><span class="nx">argv</span>
<span class="nv">configFilePath = </span><span class="nx">path</span><span class="p">.</span><span class="nx">join</span> <span class="nx">process</span><span class="p">.</span><span class="nx">env</span><span class="p">.</span><span class="nx">HOME</span><span class="p">,</span> <span class="s">'.jiraclirc.json'</span>
<span class="k">unless</span> <span class="nx">fs</span><span class="p">.</span><span class="nx">existsSync</span> <span class="nx">configFilePath</span>
<span class="nx">createConfigFile</span> <span class="nx">configFilePath</span>
<span class="k">return</span>
<span class="nv">configFile = </span><span class="nx">loadConfigFile</span><span class="p">(</span><span class="nx">configFilePath</span><span class="p">)</span>
<span class="nv">jiraCli = </span><span class="k">new</span> <span class="nx">JiraHelper</span> <span class="nx">configFile</span>
<span class="k">if</span> <span class="nx">args</span><span class="p">.</span><span class="nx">o</span><span class="o">?</span>
<span class="k">if</span> <span class="nx">args</span><span class="p">.</span><span class="nx">o</span> <span class="k">instanceof</span> <span class="nb">Array</span>
<span class="nv">args.o = </span><span class="nx">args</span><span class="p">.</span><span class="nx">o</span><span class="p">.</span><span class="nx">join</span> <span class="s">','</span>
<span class="nv">args.o = </span><span class="s">" AND project in (</span><span class="si">#{</span><span class="nx">args</span><span class="p">.</span><span class="nx">o</span><span class="si">}</span><span class="s">)"</span>
<span class="k">if</span> <span class="nx">args</span><span class="p">.</span><span class="nx">l</span>
<span class="nx">jiraCli</span><span class="p">.</span><span class="nx">getMyIssues</span> <span class="kc">true</span><span class="p">,</span> <span class="nx">args</span><span class="p">.</span><span class="nx">d</span><span class="p">,</span> <span class="nx">args</span><span class="p">.</span><span class="nx">o</span>
<span class="k">else</span> <span class="k">if</span> <span class="nx">args</span><span class="p">.</span><span class="nx">c</span>
<span class="nx">jiraCli</span><span class="p">.</span><span class="nx">getMyIssues</span> <span class="kc">false</span><span class="p">,</span> <span class="nx">args</span><span class="p">.</span><span class="nx">d</span><span class="p">,</span> <span class="nx">args</span><span class="p">.</span><span class="nx">o</span>
<span class="k">else</span> <span class="k">if</span> <span class="nx">args</span><span class="p">.</span><span class="nx">s</span>
<span class="k">return</span> <span class="k">unless</span> <span class="nx">paramIsText</span> <span class="nx">args</span><span class="p">.</span><span class="nx">s</span>
<span class="k">if</span> <span class="nx">args</span><span class="p">.</span><span class="nx">o</span><span class="o">?</span>
<span class="nx">args</span><span class="p">.</span><span class="nx">s</span> <span class="o">+=</span> <span class="nx">args</span><span class="p">.</span><span class="nx">o</span>
<span class="nx">jiraCli</span><span class="p">.</span><span class="nx">searchJira</span> <span class="nx">args</span><span class="p">.</span><span class="nx">s</span><span class="p">,</span> <span class="nx">args</span><span class="p">.</span><span class="nx">d</span>
<span class="k">else</span> <span class="k">if</span> <span class="nx">args</span><span class="p">.</span><span class="nx">p</span>
<span class="nx">listProjects</span><span class="p">()</span>
<span class="k">else</span> <span class="k">if</span> <span class="nx">args</span><span class="p">.</span><span class="nx">a</span>
<span class="nx">getProject</span> <span class="nx">addItem</span><span class="p">,</span> <span class="nx">configFile</span><span class="p">.</span><span class="nx">project</span>
<span class="k">else</span> <span class="k">if</span> <span class="nx">args</span><span class="p">.</span><span class="nx">f</span><span class="o">?</span>
<span class="k">return</span> <span class="k">unless</span> <span class="nx">paramIsText</span> <span class="nx">args</span><span class="p">.</span><span class="nx">f</span>
<span class="nx">jiraCli</span><span class="p">.</span><span class="nx">getIssue</span> <span class="nx">args</span><span class="p">.</span><span class="nx">f</span><span class="p">,</span> <span class="nx">args</span><span class="p">.</span><span class="nx">d</span>
<span class="k">else</span> <span class="k">if</span> <span class="nx">args</span><span class="p">.</span><span class="nx">w</span><span class="o">?</span>
<span class="k">return</span> <span class="k">unless</span> <span class="nx">paramIsText</span> <span class="nx">args</span><span class="p">.</span><span class="nx">w</span>
<span class="nx">addWorklog</span> <span class="nx">args</span><span class="p">.</span><span class="nx">w</span>
<span class="k">else</span> <span class="k">if</span> <span class="nx">args</span><span class="p">.</span><span class="nx">t</span><span class="o">?</span>
<span class="k">return</span> <span class="k">unless</span> <span class="nx">paramIsText</span> <span class="nx">args</span><span class="p">.</span><span class="nx">t</span>
<span class="nx">transitionItem</span> <span class="nx">args</span><span class="p">.</span><span class="nx">t</span>
<span class="k">else</span>
<span class="nx">argv</span><span class="p">.</span><span class="nx">showHelp</span><span class="p">()</span>
</pre></div> </td> </tr> </tbody> </table> </div> </body> </html>