{"id":19488603,"url":"https://github.com/abdulsmapara/mattermost-plugin-issue-resolver","last_synced_at":"2026-06-19T10:32:15.003Z","repository":{"id":64303766,"uuid":"244035280","full_name":"abdulsmapara/mattermost-plugin-issue-resolver","owner":"abdulsmapara","description":"A plugin that helps to resolve issues directly through Mattermost application","archived":false,"fork":false,"pushed_at":"2020-07-09T07:56:01.000Z","size":57216,"stargazers_count":1,"open_issues_count":2,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-25T19:28:31.138Z","etag":null,"topics":["bot","mattermost","mattermost-bot-hackfest","mattermost-plugin","plugin"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/abdulsmapara.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-02-29T20:17:56.000Z","updated_at":"2020-07-12T07:53:28.000Z","dependencies_parsed_at":"2023-01-15T10:00:57.789Z","dependency_job_id":null,"html_url":"https://github.com/abdulsmapara/mattermost-plugin-issue-resolver","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/abdulsmapara/mattermost-plugin-issue-resolver","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdulsmapara%2Fmattermost-plugin-issue-resolver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdulsmapara%2Fmattermost-plugin-issue-resolver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdulsmapara%2Fmattermost-plugin-issue-resolver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdulsmapara%2Fmattermost-plugin-issue-resolver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abdulsmapara","download_url":"https://codeload.github.com/abdulsmapara/mattermost-plugin-issue-resolver/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdulsmapara%2Fmattermost-plugin-issue-resolver/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34528134,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-19T02:00:06.005Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bot","mattermost","mattermost-bot-hackfest","mattermost-plugin","plugin"],"created_at":"2024-11-10T21:04:22.007Z","updated_at":"2026-06-19T10:32:14.981Z","avatar_url":"https://github.com/abdulsmapara.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\t\u003ch1 align=\"center\"\u003eMattermost Issue Resolver Plugin\u003c/h1\u003e\n\t\u003ch5 align=\"center\"\u003eA plugin that helps to resolve issues directly through Mattermost application\u003c/h5\u003e\n\u003c/p\u003e\n\n\n## Table of Content\n- [About-the-plugin](#about-the-plugin)\n- [Installation](#installation)\n- [Working](#working)\n\t* [Managing Skills](#managing-skills)\n\t* [Resolving the issue](#resolving-the-issue)\n- [Features](#features)\n    * [Slash Commands](#slash-commands)\n        + ```/skills```\n        + ```/resolve```\n- [Development](#development)\n- [Hackathon-Mattermost-bot-hackfest](#hackathon-mattermost-bot-hackfest)\n     * [Idea Phase Submission](#idea-phase-submission)\n     * [Project Submission](#project-submission)\n     * [Prizes \u0026 Recognition](#prizes-and-recognition)\n- [Demo Video](#demo-video)\n- [Additional Info](#additional-info)\n\n## About the plugin\nThis plugin helps to resolve issues directly through Mattermost application. It enables the users to get solutions to their issues/questions if a similar/related question is found on [stackoverflow](https://www.stackoverflow.com). If a similar/related question is not found on stackoverflow, it suggests contacting a user who is skilled in the domain of the question/issue.\n\n## Installation\nDownload the latest version of the [release](https://github.com/abdulsmapara/mattermost-plugin-issue-resolver/releases) directory. Go to `System Console` and upload the latest release in plugins section. For help on how to install a custom plugin, please refer [installing custom plugin docs](https://docs.mattermost.com/administration/plugins.html#custom-plugins).\n\n## Working\n1. This plugin works with the help of slash commands. Headover to any channel and write the slash command ```/resolve``` followed by your issue/question.\n1. If a similar question/issue is found (that has an accepted answer) on stackoverflow, then the issue_resolver bot will reply with the question found and the accepted solution.\nThe following screenshot(s) show that the user's issue was \"/resolve Java: Array out of bounds exception\" which is searched on stackoverflow, and the complete question (along with its title) and the accepted solution on stackoverflow is fetched and displayed to the user by the bot. \n![User's issue](https://github.com/abdulsmapara/Github-Media/blob/master/screenshot1.png)\n![Similar/Related Question Found](https://github.com/abdulsmapara/Github-Media/blob/master/screenshot2.png)\n![Accepted Solution](https://github.com/abdulsmapara/Github-Media/blob/master/screenshot3.png)\n\n1. If a similar question/issue is not found by the `issue_resolver` bot or there is no accepted answer for the question on stackoverflow, then the bot tries to return a user who possesses the skill required to solve the issue.\n\nThe following screenshot shows that the user's issue was \"call golang code from haskell\", which we understand requires the skills \"golang, haskell\". The bot suggests a user who has mentioned \"golang, haskell\" among his/her skills.\n![Suggestion-to-contact-a-User](https://github.com/abdulsmapara/Github-Media/blob/master/screenshot4.png)\n\n## Features\n#### Slash Commands\n```/skills```\n\nThe plugin suggests contacting a user who is skilled in the domain of the question/issue posted if a similar/related issue/question is not found on stackoverflow. In order to accomplish this task, users are required to update their skills.\n\nIn order to manage his/her skills, the user should use the slash command ```/skills``` and an optional command along with it. \n\nIf no command is mentioned along with ```/skills```, the system lists the skills of the user stored.\n\nIf the command ```list \u003cprefix (optional)\u003e``` is used, the system prints the list of skills any user can have that starts with the given prefix. (If no prefix is mentioned, all the possible skills are listed). That is, there is a huge predefined set of skills, that any user can have. \n\nIf the command ```add \u003ccomma separated list of skills\u003e``` is used, the system adds all the skills for the user that are mentioned and are among the predefined list.\n\nIf the command ```delete \u003ccomma separated list of skills\u003e``` is used, the system deletes all the skills mentioned for the user if he/she possessed that skill beforehand.\n\nThe GIF below depicts the usage of ```/skills```\n![Usage of ```/skills```](https://github.com/abdulsmapara/Github-Media/blob/master/gif1.gif)\n\n```/resolve \u003cissue/question\u003e```\n\nThe issue/question mentioned is searched on stackoverflow. If a similar question/issue is found that has an accepted answer on stackoverflow, then the `issue_resolver` bot will reply with the question found and the accepted solution.\n\nIf a similar question/issue with an accepted answer is not found, then a user will be searched who possesses the skill for resolving the issue. If such a user is found, the username of the user found is suggested by the bot for contact. \nThe GIF below depicts the usage of ```/resolve```\n\n![Usage of ```/resolve```](https://github.com/abdulsmapara/Github-Media/blob/master/gif2.gif)\n\n#### Note : \n1. The plugin logs important events at appropriate log levels.\n1. The plugin is tested on [Mattermost Server version 5.19.0](https://github.com/mattermost/mattermost-server/releases/tag/v5.19.0)\n\n## Development\n\n1. This plugin contains only the server.\n\n1. Use `make check-style` to check the style.\n\n1. Use `make test` to test the plugin.\n\n1. Use `make dist` to build distributions of the plugin that can be uploaded to a Mattermost server\n\n1. Alternatively, use `make` to check the style, test and build distributions of the plugin that you can upload to a Mattermost server (all at once).\n\n1. Use `make deploy` to deploy the plugin to your local server. Before running `make deploy`, you need to set a few environment variables:\n\t```\n\t\texport MM_SERVICESETTINGS_SITEURL=http://localhost:8065\n\t\texport MM_ADMIN_USERNAME=admin\n\t\texport MM_ADMIN_PASSWORD=password\n\t```\n\n1. If you want to deploy the plugin by using `System Console`:\n\t\n\t1. On the the server, in the file `config/config.json`, change `EnableUploads` in the `Plugin Settings` to `true`\n\n\t1. Login to Mattermost server with admin privileges.\n\n\t1. Headover to `System Console` and upload the tar.gz file created in `dist/` directory to the plugins section.\n\tFor help on how to install a custom plugin, please refer [installing custom plugin docs](https://docs.mattermost.com/administration/plugins.html#custom-plugins).\n\n\t1. Enable the plugin in the section `Installed Plugins` on the same page.\n\n\n## Hackathon [Mattermost Bot Hackfest](https://www.hackerearth.com/challenges/hackathon/mattermost-bot-hackfest/)\n#### Idea Phase Submission\n\n- Link to the ppt describing the idea - [Idea Presentation](https://he-s3.s3.amazonaws.com/media/sprint/mattermost-bot-hackfest/team/782765/8a5bcbfcodeblooded_mattermost_hackfest.pptx?Signature=QVDAn%2F2SPbab8UJbYXv2Jb%2FWjBA%3D\u0026Expires=1583084663\u0026AWSAccessKeyId=AKIA6I2ISGOYH7WWS3G5)\n\n#### Project Submission\n\n- Link to the submitted file - [File for project submission](https://github.com/mattermost/mattermost-hackathon-hackerearth-jan2020/blob/master/hackathon-submissions/abdulsmapara-mattermost-plugin-issue-resolver.md)\n\n- Link to the pull request for submitting the project - [Project Submission](https://github.com/mattermost/mattermost-hackathon-hackerearth-jan2020/pull/13)\n\n#### Prizes and Recognition\n\n- Awarded the [Mattermost Swag Kit](https://mattermost.com/wp-content/uploads/2020/04/Mattermost-swag.png)\n- The project received an \u003cb\u003eHonorable Mention\u003c/b\u003e at [Mattermost Blog Post](https://mattermost.com/blog/mattermost-bot-hackfest-winners/)\n- The project landed among the runners-up in the [Mattermost Bot Hackfest](https://www.hackerearth.com/challenges/hackathon/mattermost-bot-hackfest/)\n\n## Demo Video\n\nLink - [https://vimeo.com/394781065/](https://vimeo.com/394781065/)\n\n\n\n## Additional Info\n\n\nThis plugin is created for demonstration of the idea submitted at [Mattermost Bot Hackfest](#hackathon-mattermost-bot-hackfest).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdulsmapara%2Fmattermost-plugin-issue-resolver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabdulsmapara%2Fmattermost-plugin-issue-resolver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdulsmapara%2Fmattermost-plugin-issue-resolver/lists"}