curl --request GET \ --url 'https://softwaresolutions.mantishub.io/api/rest/issues?filter_id=unassigned' \ --header 'Authorization:h58meqhpRzLfnGRf6Pu8FA8thjWGvBFd'
At MantisHub we have been working for a while on the new modern REST API for remotely accessing MantisHub data and configuration. We now feel that we have enough coverage of MantisHub functionality to encourage our users to switch to it. The API can provide a great way to integrate MantisHub into your build system, IDEs, test management systems, other SaaS applications, or your own applications.
Tools for using the API
Similar to what you expect from any REST API, you should be able to easily leverage it from your preferred language and platform. You can get the documentation for the API from our API documentation. The API is published via Postman API network enabling you to easily download Postman definitions for the API and start hacking away. If you don’t already have Postman, you can download it from Postman website. For command line access to MantisHub, we developed PowerShell module which can be used from Windows, Mac or Linux. You can also use curl which is available by default for Mac and Linux.
For accessing the API you will need to authenticate, and for this you will need to generate a secure API token from within your MantisHub rather than passing username password. Instructions for generating a token can be found in our KB article here. Remember to record your generated token since it will only be displayed on generation and once you exit out you won’t be able to get it again. You should, of course, have separate tokens for each of your integrations which provides you with the ability to manage each integration independently and associate such integrations with appropriate users or system accounts in your system (e.g. a build user account).
Individual users, as well as administrators, can generate tokens so make sure the user has access to the functionality needed for the integration. For example, if a token is generated for user Bob who is a reporter for Project X and you run an API call using the token to update an existing issue or delete it, the call will fail. The only time you won’t need a token is if you have anonymous access enabled for your MantisHub and the integration only requires read-only access.
API endpoint and Resources
The Endpoint for your API will be
Following are examples of API capabilities around entities defined in MantisHub:
- Issues – Retrieve one issue, retrieve issues matching a filter, create, delete or update issues, add notes, tags, relationships, attachments, etc.
- Projects – Get a full list of all projects accessible to logged in user along with project specific configuration like categories, versions, custom fields, etc.
- Filters – Retrieve all filters definitions, a single filter definition, or delete filters.
- Users – Create or delete users or retrieve your user information.
- Configuration – Retrieve one or many configuration options.
- Localized Strings – Retrieve one or many Local Strings.
The API library is still growing so be sure to refer to the documentation for the most up-to-date API definitions.
MantisHub has a wide range of features and customizations that allow you to get the cover most of your software bug tracking and general issue tracking needs. We also provide a number of plugins and integrations including chat apps Slack and Hipchat, Source control integrations with GitHub and Bitbucket, JetBrains, TestLodge for test case management and more. And now with the REST API… your options just got even bigger!
**MantisHub’s previously supported SOAP API is now on the deprecation path in favor of the REST API.
Some of you Mantis users out there are most likely in need or already using a test case management tool to pickup any bugs in your software product. You may be thinking “How useful would it be to have my issue tracker and test case manager work together!” Well there are a number of test case managers out there that do advertise integration with Mantis and their instruction are available for you to test out.
MantisHub team is currently working on testing some of these out for you but if you’re after tried and true, we’ve been working with our friends at TestLodge and have developed step by step instructions to allow you to integrate MantisHub with their popular test case managment tool. Known for its clean and simple interface (sound familiar? 😉 you can starting running through test cases straight away. Linked with your clean and simple MantisHub service, this can save you a heap of time.
It’s really easy to setup the integration, you can check out our knowledge base article for the full procedure and functionality details. TestLodge have even produced a short video tutorial to help get you going that you can find linked in our article.
With the TestLodge integration you can connect to your MantisHub service using an easily generated, secure API token. We recommend you create a new, appropriately named user within MantisHub to use for linking to TestLodge so it’s easy to identify TestLodge generated issues. Once linked, you can automatically create issues with MantisHub when tests cases fail. You can setup within TestLodge the MantisHub project that you want these issues to be created in and also set the MantisHub issue’s assigned user, category, priority and severity all from within TestLodge. There’s even the capability to pull status updates on MantisHub issues via API and re-run tests based on the current issues status (e.g. resolved).
Our friends at TestLodge are offering a great deal to all MantisHub users, sign up for a free TestLodge trial and integrate it with your MantisHub service and they’ll give you a 10% discount on your TestLodge subscription. Reach out to their team at help.testlodge.com quoting the coupon Mantis10 before your free trial ends to receive this offer.
Pair MantisHub’s intuitive powerful tracker with this popular and efficient test case manager to even further simplify your software project delivery process.
You will rarely be using MantisHub issue tracker in isolation. As long as you have an internet connection you can be on a remote island connected to MantisHub but I bet you won’t be the only one on. Hopefully you have a whole team of users, reporters, managers, stakeholders, collaborators that you can bring together to make your visions a reality. That’s the goal right?
So lots of users with different roles and different access. Some sensitive data you don’t want everyone to see. Actions and functionality you only want specific users to perform. Does this sound like you?
User access options within MantisHub are quite extensive and you’ll find there is so much you can do in this space. Let’s go through what functionality you’ll come across.
Inviting Users, Access Levels and Workflow thresholds
First of all let’s assume you want to give users login access to your MantisHub. For these users your first step is to invite them to create a password and login. To create a user account you just need to enter a username, email address and a real name. These all should be unique. You will also need to define their access level. You have 6 to choose from. As usual with access levels the higher levels inherit the functionality of the lower level with some additional permissions. You can head to Manage – Manage Configuration – Permissions Report and Workflow Thresholds to see exactly what each access level can do but here is a brief summary below:
- Viewer – this is for someone who has read-only access to view the issue details.
- Reporter – these are users that will create issues, add notes and view issue details after creation but cannot handle (be assigned) or update issues.
- Updater – adds the ability to update issue details.
- Developer – adds the ability to handle (be assigned) issues and view private notes.
- Manager – can also manage projects including adding users to a project and creating categories, versions and linking to custom fields. They also get access to reporting.
- Administrator – full system access to all projects and issues as administrative functions.
Users accounts are created by administrators via the Manage – Manager Users section. When creating a user you are defining their global access for public projects. You can define a different access level for the same user at a project level which will override their global access level for that project. So for example someone can have reporter global access but for a specific project they can have developer access.
While the above listed user access levels are the default settings and should make sense for most setups (that’s kinda why we made them that way :)) you can tailor what functionality these access level have via Workflow Thresholds. Head to Manage – Manage Configuration – Workflow Thresholds and you can tweak it. Perhaps for example you want a reporter to be able to close the issue once it’s complete or move it to another project.
When a user becomes inactive, MantisHub recommends you disable users rather than deleting them. This way they no longer have access to your system but you retain your user history as well as saving a user license.
Public or Private
If you want any control over who sees what in your MantisHub you need to consider making your projects private. Public projects will be available to all users in your MantisHub according to their access level. If you wish to set up MantisHub such that users can only see the projects you specify, then you should make projects private, only administrators will have access to these projects by default. You can then go in and specifically add the users to the projects that they need access to. Projects are public by default on creation but within MantisHub you can also configure the system so that the default for new projects is private.
You can add further restrictions by making use of private issues or private notes within your issues. This allows you to have your developers, managers and administrators collaborate on issues without exposing your internal conversation to the viewers, reporters and updaters. By default only developers and above can see all private notes and issues or change the view status. Reporters and updaters can only see their own private issues and notes. This is configurable in your Workflow Thresholdsas well as whether your users are able to see the option to set an issue or note to private. You can also define whether they are public or private by default through configuration options.
Alternatives to creating accounts.
There are a few alternative to having your administrators create a heap of user accounts to allow others to submit or view issues in your MantisHub.
1. Self Sign-up
Some companies may want to open up their tracker to allow users to sign up and create Reporter accounts themselves within their system. This is particularly common with open-source software projects and other wide-spread software. This way your users can sign up themselves whenever they wish to submit issues to your tracker. Administrators will get notifications of all new signups.
In these cases, companies may also pair this up with a simpler option for Viewer accounts by enabling anonymous access. This makes your MantisHub public projects viewable without requiring a customer to login. This can also enable search engines to index your MantisHub issues.
2. MantisHub Helpdesk
Another option for companies, is to use MantisHub Helpdesk to allow customers to email in issues. This is typically used as a customer support or service desk solution. Customer can email your MantisHub email address (or you can re-direct your company support email address) to automatically create issues within your MantisHub tracker. Your internal team can respond to issues by adding public notes that will trigger responses to the customer. You can also still collaborate internally with your team behind the scenes using private notes. Your email reporter (and any cc’d parties) will get notifications of creation, public note additions and closure of their email submitted MantisHub issues. All without needing direct access to your system.
Your MantisHub users can tap into a few other features when collaborating as a team.
It’s a delicate balance knowing what to notify the team of in your system. You want to avoid having users filter out any MantisHub communications or just deleting them. Have a think about all the ways you can keep your team across what’s happening including those mentioned below to keep from spamming the team. Don’t forget you also have the timeline in your My View dashboard.
- @mentions – This feature is a particular favorite of mine. We use it to death and it’s super handy. Pull other users into issue for comment by @ mentioning their username within the issue. They will get an email notification with your note and a link to the issue so that they can respond or take action as requested. This way you can retain ownership of the ticket and still have advise or help from a colleague as needed. @mention emails avoid duplication, so if you are have been mentioned in a note and receive an @mentions email you will not received the ‘Note added’ email notification as this is now redundant.
- Email notification settings – You can set what activity your team gets notified of in MantisHub. This can be set quite flexibly for the system as a whole, or for specific projects and access levels. Users can even override the system settings in their own personal account preferences. MantisHub also provides a way for you to turn on logging for email notifications to help you troubleshoot any issues you might have if it’s not working as you expect. Again, have a good think of what you want to turn on here as the last thing you need is inbox overflow. You may even want to consider saving users from unnecessary emails but not adding them to a project they wont be using or changing their access level for the project. Last things to note here is that you can turn verbose or non-verbose notifications depending on if you want to get just the updated content or all the issue details.
- Monitoring – if you don’t necessarily want notifications for all issues within a project and so have only default or limited notifications set but are particularly interested in one issue, you can add yourself as a monitor of an issue to receive all notifications relating to it. Another use-case is that perhaps you have reported an issue and as reporter are notified of all status changes and updates and yet you have a college also needing to keep across the issue, you can add them as a monitor of the issue.
Your managers and team can keep track of project version/release progress and updates using the Changelog and also project roadmap goals using the Roadmap page. These pages are available to all users by default but this again is configurable via workflow thresholds and configuration options.
The summary page for statistical information and graphs on your MantisHub usage is initially only available to managers and admins but can also be tailored via configuration option view_summary_threshold and using the user access level codes to set the minimum.
So you can see there is so much you can do with MantisHub to manage you users. Just taking a bit of time to plan out how you set up the team and your customers interactions will make things run that little more smoothly for you. Jump onto our knowledge base here or follow the links in this article to find out about even more options that we didn’t get a chance to tell you about as well as specific step by step instructions. And you can always reach out to the support team with any questions.
May your team grow and prosper ;).
One thing we are proud of at MantisHub is the versatility of the product. We have customers using our service for general task management, software development as well as project management. Some use it internally within the team and some use it to streamline collaboration with their clients. The simplicity and flexibility of MantisHub means you can engineer it to address a wide variety of needs.
MantisHub is used for Project Management by about 70% of MantisHub users and we have a number of handy features designed to help out our project managers including the Changelog and Roadmap features.
Highly rated by our customers, both these features come into effect once you decide to split your projects into versions (or releases or iterations or milestones… whatever terminology fits in your use-case). For software projects it’s common place to both Agile and waterfall frameworks that you would manage your software development and updates in terms of versions, releases or sprints. When doing this, two helpful thing to know:
1. What are the changes in a specific version?
2. What is the planned work for a specific version and how are we progressing towards that goal?
The Changelog helps you answer the 1st question by allowing you to set a ‘fixed in version’ field when issues are resolved. As you go through and resolve issues with MantisHub and set the ‘fixed in version’ field. The Changelog then groups resolved issues by version they were fixed in. This information is the pre-curser to your release notes for software or communication to partner teams within the company or clients externally. It’s also handy for reporting up the line on team and project goals met.
The Roadmap answers the 2nd questions allowing you to set a vision and your goals for future versions/releases by setting the ‘target version’ field. You can use this to let customers, partner teams, and team members know what you have coming down the track as well as helping you keep track of development progress and project milestones etc.
So here are our 10 tips for making the most of your Changelog and Roadmap
1. Make use of your version fields
There are some fields you should take note of when setting up your versions that can add value to your CL & RM.:
- Consider adding a description to version to be shown on CL/RM.
- The release date you have set in the version will impact the CL/RM as it will display versions with the most recent release date at the top.
- Version names on CL/RM are hyperlinked, hence, it is easy to link a project or a specific version from your blog, website, wiki, etc. Access may require user to sign-in if anonymous access is not enabled.
2. Keep your version status up to date
To make your CL/RM relevant you should keep you version status up to date. Once a version is released, make sure that it is marked as such to have it removed from the Roadmap. Once a version is too old and not needed on the Changelog page, then mark it as obsolete.
3. Take advantage of ‘View Issues’ button and group actions
Don’t underestimate the use of the ‘View Issues’ button in your RM & CL information to have the issues opened in View Issues page. This handy shortcut will allow you to take further action with all relevant issues such as printing or exporting but we find the most useful way to take advantage of this is using group actions.
For example you have a list of un-assigned issues in your Roadmap for version 2.0, bring them up by clicking ‘View Issues’ out of your Roadmap view, select a sub-set or even all the issues listed and assign it to your victim… umm… developer. Check out Tip 9 for another example use.
4. Use issue relationships to save you time
Make use of the relationships feature in MantisHub to define dependancies in your issues. This is useful for many reasons (have a read of this article). Issues on the RM/CL are grouped together under parent issue, providing an easy way to group related issues.
5. When resolving issues for maintenance & feature releases
If you have a fix to an issue that was applied to previous release maintenance branch as well as a future feature release, you can clone the issue and mark the clone as fixed on the second branch. This way it shows up in the Changelog for both releases. Alternatively you can open a related issue to port the fix to a different branch and marked as fixed in the appropriate target branch.
6. Meaningful Issue titles
Keep in mind that issue titles appear in CL/RM and will be presented to a CL/RM audience. When creating issues, set guidelines for your issue titles. Make sure you don’t use jargon your audience won’t understand and make titles meaningful, showing the value added by delivering the issue, rather than how it was done. You can also go back and edit issue titles for those that don’t meet your guidelines.
7. Meaningful Categories
Category information is also displayed in your CL/RM so similar to tip 6, name your categories in-line with with how you present your feature groupings to your customers. This way they can easily locate what issues they care about. For example, categories can include administration, api, localization, integrations, etc.
8. Don’t feel shy to add issues to RM even if they have already been resolved
If an issue wasn’t planned for a release, until after it was resolved, go ahead and still set the ‘target version‘ so that it shows up in the roadmap. Your customers will still want to know it is coming in the upcoming release.
9. Factor shipping into your workflow.
CL/RM are all about project management and delivering value to your users. Hence, it is important that your teams workflow also reflect that. For example, we often use the “Resolved” status to reflect an issue that the team fixed, and use “Closed” status to reflect that it was published in an official release or deployed to production.
Hence, a common part of the workflow is that only after version X is released/deployed, are issues with ‘fixed-in version’ X closed. See tip 3 for the easy way to do this using group actions.
10. Create future versions to enable planning
Often the team triage incoming issues and target them for appropriate releases. For example, an issue may be needed as a hot fix, vs. next minor release vs. next major release. Hence, it is important to have such versions available for your team to start targeting issues for as they are being triaged.
Depending on what you are using MantisHub to manage, there are probably more ways to leverage Changelog and Roadmap for your usage, or even hide them completely, if you are going for minimal task management with no equivalent of deployments / releases.
Share with us on twitter @mantishub your own tips and tricks for using MantisHub and boosting your team’s productivity.
Once upon a time products were mostly built based on in-house code, but with the rise of open source and re-usable components, more and more of the work is delegated to such components. Now this is a good thing, since it allows developers to focus on the core problem they are solving, rather than a lot of mechanical or repetitive work.
However, occasionally issues pop up in your software due to a dependency in an external system. If for this or any other reason you need to track an issue in a remote service within your internal issue and it can become a little cumbersome. You would generally reference a link to the external service in your internal issue then updates on the status of this remote issue is manual. So you would need remember to periodically chase this up to find out if you can progress your internal issue.
So to save you such hassle MantisHub have introduced Live Links for any url references to external entities. Live Links will automatically check any links within your MantisHub issue for a supported remote service when you open up the referring issue.
Similar to MantisHub’s relationships feature, it will pull relevant information on the remote issue like current status, category, reporter and handler and display it for you within your internal issue. MantisHub Live links supports links to:
- Github Issues
- Github Pull Requests
- Github Gists
- MantisHub Issues
- MantisBT Issues
This makes it easier than ever to track your upstream dependencies and work in Github and MantisBT.
Go ahead and enable Live Links in your MantisHub by following instructions found in Live Links KB article.
Just another way MantisHub is working to make life easier.
Markdown support has just been introduced in MantisHub with our latest release. We chose to implement markdown to provide a simple way for our users to format their text within issue notes and descriptions. Markdown uses simple markup that gets translated in to HTML so you can display formatted text in MantisHub.
Development focused sites such as GitHub, Bitbucket and Visual Studio Online, use the power of markdown to greatly enhance their online user discussions. HTML is quite cumbersome to have to write up just to format your text so markdown is a huge time saver.
Now Markdown doesn’t do any of the really fancy stuff like changing font size or color, or adding borders but it covers the basics like italics, bold, lists, linked text, embedded images, code snippets, etc. The emphasis of markdown language being ease of use as well as making sure your notes are still readable even when not rendered into HTML.
It was originally developed by John Gruber who supported the ideas of different implementations to suit individual user requirements so there are a few versions out there and many extensions on the functionality included in the original. The supported format for MantisHub can be found at parsedown.org.
If you are unfamiliar with Markdown, it’s very simple to pick up, just as emojis have become second nature, you’ll find it’s the same with markdown. Take a few minutes to familiarize yourself with shorthand and you’ll be using it seamlessly when updating your tickets. To get you started, we recommend checking out this short tutorial.
There’s also a cheat sheet you can keep bookmarked as you become more fluent.
For details on how to set up markdown in your MantisHub, check out our KB article.
Our customer feedback was that you all wanted the option for simplified updates. We get it, sometimes we just want our emails to get to the point already :). MantisHubs latest release includes some changes to email notifcations that we’ve been looking forward to telling you about.
Now with our latest release, you have further flexibility with the option for either verbose or non-verbose email notifications so you can simplify and streamline your notifications.
For those of you who don’t already know, MantisHub email notifications provide really flexible options for our users. They can be set depending on the users access level or on a users relation to the issue. You can also turn them on or off for a variety of trigger actions, have different settings for different projects and change the settings for your individual account. Our customers have found this feature really useful for keeping everyone in the know. You can learn all about how to configure your email notifications in our KB article.
In addition to a wide range of setup options, we provide tips and plug-ins tohelp you troubleshoot your email notifications if needed.
So what have we changed exactly?
1. Non-verbose mode – New note only updates with relevant note ID.
Previously when a note was added to an issue the full issue details were sent out according to your notification settings, now by default email notification for notes being added will only contain the new note and reference the relevant note ID. So your update will no longer include the full issue information including all previous notes.
If you’re un-impressed but this news right now because you loved how we included all the details & notes in the notification, not to worry! You can turn it back on! Whilst non-verbose notifications is the default, you can change your system or individual preferences back to verbose notifications.
2. @mention emails aren’t duplicated
If a user receives an @mention email notification they will no longer receive a ‘note added’ notification as well. Now when a user is @mentioned, the system will withhold the note added email to prevent duplication.
3. Attachment information is included
When an attachment is added to an issue then this is now displayed along with the attachment file name in the notification.
We hope you enjoy these new features we’ve added for you and it perhaps makes your inbox that little bit less cluttered and confusing.
Just another way to make your life easier, MantisHub has just rolled out single sign-on support for GitHub and Bitbucket accounts. We know you’ve been waiting for it and now it is a single click away to enable it for all users of your MantisHub!
MantisHub is fast becoming a developers’ best friend. With integrations for IDE, test management, team chat via Slack/Hipchat and now SSO with the most popular code hosting services.
One less password to remember, cause you can now simply head to your MantisHub login page and click on GitHub or Bitbucket to login using these providers.
As well as adding convenience this can also provide extra security. GitHub and Bitbucket support two factor authentication (2FA), so having your users access MantisHub with either of these can deliver even better security for your data. And you’re not potentially re-cycling your passwords from other systems.As the MantisHub administrator, you would just need to install the “Single sign-on via Auth0” plugin. For users to be able to login, their email address registered in MantisHub must be also associated with GitHub/Bitbucket accounts as a verified email address.
If you have customer sign-up enabled on your service you can also utilize this for automatic account creation. If there is no email match with the providers account when a user attempts to login using single sign-on, MantisHub will automatically create a new user account with reporter access to your public projects with the providers primary verified email address and same username as the service used to sign-in.
Check out all the details in our KB article.
In the natural world the praying Mantis and the Grasshopper are not mates. In fact a grasshopper better run if it sees the Mantis coming :).
In our world however they are totally compatible. Using the Grasshopper phone service with your MantisHub is a great little plugin you can utilize.
Grasshopper lets you set up one or more phone numbers and extensions for your business. You can have extensions such as 1 for Sales, 2 for support and direct extensions to talk to an individual team member. These extensions forward onto real numbers or to voicemails and the voicemails can be setup to be emailed to an address of your choice.
Now this is where MantisHub comes into play. Couple Grasshoppers ability to email your voicemails with MantisHub Helpdesk for email reporting and you can capture your customer communications as an issue directly into the right project in your bug tracker!
Voicemails are sent with text transcriptions that are plugged into your issue description as well as attaching the recording as an mp3 file.
Read more about this great plugin in our KB article.
Kinda excited about this one! We’ve now re-invented our hugely popular email reporting functionality and it’s been reborn as our MantisHub Helpdesk!
Customers can email your MantisHub Helpdesk email address to report issues straight into your issue tracker. Your customers will be notified via email when issues are updated with public notes or if the issues are resolved, closed, or re-opened.
It’s sooo simple to get going. It’s installed by default so all you need to do is to enable it! All the configurations options are there for you to tailor as you wish or just leave our common sense defaults.
MantisHub Helpdesk provides you with the following features:
- Your customers can email in support requests and they will be automatically added to the appropriate MantisHub project. They don’t need to be registered as users in your MantisHub.
- Your teams can use MantisHub to manage all their internal and customer reported issues. No need to work with multiple tools.
- Teams can interact with customers by adding notes and resolving the issues.
- Teams can use private notes to collaborate on the issue, without customers receiving notifications about such internal communication.
- Customers are able to reply to any of the issue related email notifications and their responses will be captured as notes on the issue.
Check out our KB article on how to use MantisHub Helpdesk.
You can also check out the Snippets plugin which is used to create pre-canned responses for those common helpdesk questions.
These 2 features combined can set you on the way to having a integrated software issue tracking and helpdesk support system!
Told you it was exciting :).