You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

403 lines
13 KiB

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#375EAB">
<title>jira - The Go Programming Language</title>
<link type="text/css" rel="stylesheet" href="../../../../../../lib/godoc/style.css">
<link rel="stylesheet" href="../../../../../../lib/godoc/jquery.treeview.css">
<script type="text/javascript">window.initFuncs = [];</script>
</head>
<body>
<div id='lowframe' style="position: fixed; bottom: 0; left: 0; height: 0; width: 100%; border-top: thin solid grey; background-color: white; overflow: auto;">
...
</div><!-- #lowframe -->
<div id="topbar" class="wide"><div class="container">
<div class="top-heading" id="heading-wide"><a href="http://localhost:6060/">The Go Programming Language</a></div>
<div class="top-heading" id="heading-narrow"><a href="http://localhost:6060/">Go</a></div>
<a href="index.html#" id="menu-button"><span id="menu-button-arrow">&#9661;</span></a>
<form method="GET" action="http://localhost:6060/search">
<div id="menu">
<a href="http://localhost:6060/doc/">Documents</a>
<a href="http://localhost:6060/pkg/">Packages</a>
<a href="http://localhost:6060/project/">The Project</a>
<a href="http://localhost:6060/help/">Help</a>
<a href="http://localhost:6060/blog/">Blog</a>
<input type="text" id="search" name="q" class="inactive" value="Search" placeholder="Search">
</div>
</form>
</div></div>
<div id="page" class="wide">
<div class="container">
<h1>Package jira</h1>
<div id="nav"></div>
<!--
Copyright 2009 The Go Authors. All rights reserved.
Use of this source code is governed by a BSD-style
license that can be found in the LICENSE file.
-->
<!--
Note: Static (i.e., not template-generated) href and id
attributes start with "pkg-" to make it impossible for
them to conflict with generated attributes (some of which
correspond to Go identifiers).
-->
<script type='text/javascript'>
document.ANALYSIS_DATA = null;
document.CALLGRAPH = null;
</script>
<div id="short-nav">
<dl>
<dd><code>import "github.com/matrix-org/go-neb/services/jira"</code></dd>
</dl>
<dl>
<dd><a href="index.html#pkg-overview" class="overviewLink">Overview</a></dd>
<dd><a href="index.html#pkg-index" class="indexLink">Index</a></dd>
<dd><a href="index.html#pkg-subdirectories">Subdirectories</a></dd>
</dl>
</div>
<!-- The package's Name is printed as title by the top-level template -->
<div id="pkg-overview" class="toggleVisible">
<div class="collapsed">
<h2 class="toggleButton" title="Click to show Overview section">Overview ▹</h2>
</div>
<div class="expanded">
<h2 class="toggleButton" title="Click to hide Overview section">Overview ▾</h2>
<p>
Package jira implements a command and webhook service for interacting with JIRA.
</p>
<p>
The service adds !commands and issue expansions, in addition to JIRA webhook support.
</p>
</div>
</div>
<div id="pkg-index" class="toggleVisible">
<div class="collapsed">
<h2 class="toggleButton" title="Click to show Index section">Index ▹</h2>
</div>
<div class="expanded">
<h2 class="toggleButton" title="Click to hide Index section">Index ▾</h2>
<!-- Table of contents for API; must be named manual-nav to turn off auto nav. -->
<div id="manual-nav">
<dl>
<dd><a href="index.html#pkg-constants">Constants</a></dd>
<dd><a href="index.html#Service">type Service</a></dd>
<dd>&nbsp; &nbsp; <a href="index.html#Service.Commands">func (s *Service) Commands(cli *matrix.Client) []types.Command</a></dd>
<dd>&nbsp; &nbsp; <a href="index.html#Service.Expansions">func (s *Service) Expansions(cli *matrix.Client) []types.Expansion</a></dd>
<dd>&nbsp; &nbsp; <a href="index.html#Service.OnReceiveWebhook">func (s *Service) OnReceiveWebhook(w http.ResponseWriter, req *http.Request, cli *matrix.Client)</a></dd>
<dd>&nbsp; &nbsp; <a href="index.html#Service.Register">func (s *Service) Register(oldService types.Service, client *matrix.Client) error</a></dd>
</dl>
</div><!-- #manual-nav -->
<h4>Package files</h4>
<p>
<span style="font-size:90%">
<a href="http://localhost:6060/src/github.com/matrix-org/go-neb/services/jira/jira.go">jira.go</a>
</span>
</p>
</div><!-- .expanded -->
</div><!-- #pkg-index -->
<div id="pkg-callgraph" class="toggle" style="display: none">
<div class="collapsed">
<h2 class="toggleButton" title="Click to show Internal Call Graph section">Internal call graph ▹</h2>
</div> <!-- .expanded -->
<div class="expanded">
<h2 class="toggleButton" title="Click to hide Internal Call Graph section">Internal call graph ▾</h2>
<p>
In the call graph viewer below, each node
is a function belonging to this package
and its children are the functions it
calls&mdash;perhaps dynamically.
</p>
<p>
The root nodes are the entry points of the
package: functions that may be called from
outside the package.
There may be non-exported or anonymous
functions among them if they are called
dynamically from another package.
</p>
<p>
Click a node to visit that function's source code.
From there you can visit its callers by
clicking its declaring <code>func</code>
token.
</p>
<p>
Functions may be omitted if they were
determined to be unreachable in the
particular programs or tests that were
analyzed.
</p>
<!-- Zero means show all package entry points. -->
<ul style="margin-left: 0.5in" id="callgraph-0" class="treeview"></ul>
</div>
</div> <!-- #pkg-callgraph -->
<h2 id="pkg-constants">Constants</h2>
<pre>const <span id="ServiceType">ServiceType</span> = &#34;jira&#34;</pre>
<p>
ServiceType of the JIRA Service
</p>
<h2 id="Service">type <a href="http://localhost:6060/src/github.com/matrix-org/go-neb/services/jira/jira.go?s=1412:2134#L41">Service</a></h2>
<pre>type Service struct {
<a href="../../types/index.html">types</a>.<a href="../../types/index.html#DefaultService">DefaultService</a>
<span class="comment">// The user ID to create issues as, or to create/delete webhooks as. This user</span>
<span class="comment">// is also used to look up issues for expansions.</span>
ClientUserID <a href="../../../../../builtin/index.html#string">string</a>
<span class="comment">// A map from Matrix room ID to JIRA realms and project keys.</span>
Rooms map[<a href="../../../../../builtin/index.html#string">string</a>]struct {
<span class="comment">// A map of realm IDs to project keys. The realm IDs determine the JIRA</span>
<span class="comment">// endpoint used.</span>
Realms map[<a href="../../../../../builtin/index.html#string">string</a>]struct {
<span class="comment">// A map of project keys e.g. &#34;SYN&#34; to config options.</span>
Projects map[<a href="../../../../../builtin/index.html#string">string</a>]struct {
<span class="comment">// True to expand issues with this key e.g &#34;SYN-123&#34; will be expanded.</span>
Expand <a href="../../../../../builtin/index.html#bool">bool</a>
<span class="comment">// True to add a webhook to this project and send updates into the room.</span>
Track <a href="../../../../../builtin/index.html#bool">bool</a>
}
}
}
<span class="comment">// contains filtered or unexported fields</span>
}</pre>
<p>
Service contains the Config fields for the JIRA service.
</p>
<p>
Before you can set up a JIRA Service, you need to set up a JIRA Realm.
</p>
<p>
Example request:
</p>
<pre>{
Rooms: {
&#34;!qmElAGdFYCHoCJuaNt:localhost&#34;: {
Realms: {
&#34;jira-realm-id&#34;: {
Projects: {
&#34;SYN&#34;: { Expand: true },
&#34;BOTS&#34;: { Expand: true, Track: true }
}
}
}
}
}
}
</pre>
<h3 id="Service.Commands">func (*Service) <a href="http://localhost:6060/src/github.com/matrix-org/go-neb/services/jira/jira.go?s=7327:7389#L231">Commands</a></h3>
<pre>func (s *<a href="index.html#Service">Service</a>) Commands(cli *<a href="../../matrix/index.html">matrix</a>.<a href="../../matrix/index.html#Client">Client</a>) []<a href="../../types/index.html">types</a>.<a href="../../types/index.html#Command">Command</a></pre>
<p>
Commands supported:
</p>
<pre>!jira create KEY &#34;issue title&#34; &#34;optional issue description&#34;
</pre>
<p>
Responds with the outcome of the issue creation request. This command requires
a JIRA account to be linked to the Matrix user ID issuing the command. It also
requires there to be a project with the given project key (e.g. &#34;KEY&#34;) to exist
on the linked JIRA account. If there are multiple JIRA accounts which contain the
same project key, which project is chosen is undefined. If there
is no JIRA account linked to the Matrix user ID, it will return a Starter Link
if there is a known public project with that project key.
</p>
<h3 id="Service.Expansions">func (*Service) <a href="http://localhost:6060/src/github.com/matrix-org/go-neb/services/jira/jira.go?s=7971:8037#L248">Expansions</a></h3>
<pre>func (s *<a href="index.html#Service">Service</a>) Expansions(cli *<a href="../../matrix/index.html">matrix</a>.<a href="../../matrix/index.html#Client">Client</a>) []<a href="../../types/index.html">types</a>.<a href="../../types/index.html#Expansion">Expansion</a></pre>
<p>
Expansions expands JIRA issues represented as:
</p>
<pre>KEY-12
</pre>
<p>
Where &#34;KEY&#34; is the project key and 12&#34; is an issue number. The Service Config will be used
to map the project key to a realm, and subsequently the JIRA endpoint to hit.
If there are multiple projects with the same project key in the Service Config, one will
be chosen arbitrarily.
</p>
<h3 id="Service.OnReceiveWebhook">func (*Service) <a href="http://localhost:6060/src/github.com/matrix-org/go-neb/services/jira/jira.go?s=8363:8459#L260">OnReceiveWebhook</a></h3>
<pre>func (s *<a href="index.html#Service">Service</a>) OnReceiveWebhook(w <a href="../../../../../net/http/index.html">http</a>.<a href="../../../../../net/http/index.html#ResponseWriter">ResponseWriter</a>, req *<a href="../../../../../net/http/index.html">http</a>.<a href="../../../../../net/http/index.html#Request">Request</a>, cli *<a href="../../matrix/index.html">matrix</a>.<a href="../../matrix/index.html#Client">Client</a>)</pre>
<p>
OnReceiveWebhook receives requests from JIRA and possibly sends requests to Matrix as a result.
</p>
<h3 id="Service.Register">func (*Service) <a href="http://localhost:6060/src/github.com/matrix-org/go-neb/services/jira/jira.go?s=2256:2337#L65">Register</a></h3>
<pre>func (s *<a href="index.html#Service">Service</a>) Register(oldService <a href="../../types/index.html">types</a>.<a href="../../types/index.html#Service">Service</a>, client *<a href="../../matrix/index.html">matrix</a>.<a href="../../matrix/index.html#Client">Client</a>) <a href="../../../../../builtin/index.html#error">error</a></pre>
<p>
Register ensures that the given realm IDs are valid JIRA realms and registers webhooks
with those JIRA endpoints.
</p>
<h2 id="pkg-subdirectories">Subdirectories</h2>
<div class="pkg-dir">
<table>
<tr>
<th class="pkg-name">Name</th>
<th class="pkg-synopsis">Synopsis</th>
</tr>
<tr>
<td colspan="2"><a href="../index.html">..</a></td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="webhook/index.html">webhook</a>
</td>
<td class="pkg-synopsis">
</td>
</tr>
</table>
</div>
<div id="footer">
Build version go1.6.<br>
Except as <a href="https://developers.google.com/site-policies#restrictions">noted</a>,
the content of this page is licensed under the
Creative Commons Attribution 3.0 License,
and code is licensed under a <a href="http://localhost:6060/LICENSE">BSD license</a>.<br>
<a href="http://localhost:6060/doc/tos.html">Terms of Service</a> |
<a href="http://www.google.com/intl/en/policies/privacy/">Privacy Policy</a>
</div>
</div><!-- .container -->
</div><!-- #page -->
<!-- TODO(adonovan): load these from <head> using "defer" attribute? -->
<script type="text/javascript" src="../../../../../../lib/godoc/jquery.js"></script>
<script type="text/javascript" src="../../../../../../lib/godoc/jquery.treeview.js"></script>
<script type="text/javascript" src="../../../../../../lib/godoc/jquery.treeview.edit.js"></script>
<script type="text/javascript" src="../../../../../../lib/godoc/godocs.js"></script>
</body>
</html>