This tutorial shows you how to build a board configuration page in Jira Software, by using a Jira Software module in your app. We won't go into the details of adding settings to the page, but this tutorial will provide a good starting point if you want your app to have separate configurations per board.
To create this board configuration page, you'll be creating a new web panel located in jira.agile.board.configuration, then adding code to render the web panel.
If you haven't built a Connect app before, read the Getting started tutorial. You'll learn the fundamentals of Connect development and build a basic Connect app that you can use with this tutorial.
To create a board configuration page, you'll need to create a web panel with the label and location set to jira.agile.board.tools.
Edit the atlassian-connect.json file in your app project.
Add the following code to the modules context:
1 2"webPanels": [ { "key": "my-configuration-page", "url": "configuration?id={board.id}&type={board.type}", "name": { "value": "My Configuration Page" }, "location": "jira.agile.board.configuration", "weight": 1 } ]
Save your changes.
The server-side code required to render the web panel is shown below. This code is for atlassian-connect-express, the Node.js framework (with Express), but you can use a different technology stack if you wish.
Navigate to the routes directory in your app project and edit the index.js file.
Add the following code to the file and save it:
1 2app.get('/configuration', function(req,res){ res.render("configuration", {id : req.query['id'], type : req.query['type'] }); });
This adds the 'configuration' route to your app.
Navigate to the views directory in your app project and create a new configuration.hbs file.
Add the following code to the configuration.hbs file and save it:
1 2<!DOCTYPE html> <html> <head> <link rel="stylesheet" href="//aui-cdn.atlassian.com/aui-adg/5.9.17/css/aui.min.css" media="all"> <script src="https://ac-getting-started.atlassian.net/atlassian-connect/all.js"></script> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <script src="//aui-cdn.atlassian.com/aui-adg/5.9.17/js/aui.min.js"></script> </head> <body class="aui-page-focused aui-page-focused-xlarge"> <div id="page" class="ac-content"> <section id="content"> <header class="aui-page-header"> <div class="aui-page-header-inner"> <div class="aui-page-header-main"> <h2>Example board configuration page</h2> <p id="custom-message">This is an example configuration page for board ID: {{id}} with board type: {{type}}.</p> </div> </div> </header> </section> </div> </body> </html>
Notice that we've used two context parameters used in the template above: id (for board Id) and type (for board type).
npm start) to your Jira Cloud instance, if it's not running already.
If you've finished this tutorial, check out these other Jira Software tutorials.
Rate this page: