{"id":19643842,"url":"https://github.com/prathik/sprintbot","last_synced_at":"2026-05-15T23:06:52.020Z","repository":{"id":70192276,"uuid":"93772275","full_name":"prathik/sprintbot","owner":"prathik","description":"Slack bot for Jira to handle Sprints","archived":false,"fork":false,"pushed_at":"2017-06-21T08:35:31.000Z","size":96,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-09T20:09:42.562Z","etag":null,"topics":["jira","slack","sprint-planning","standup-meetings"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/prathik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-06-08T16:53:00.000Z","updated_at":"2020-01-06T07:30:04.000Z","dependencies_parsed_at":"2023-04-04T05:55:56.412Z","dependency_job_id":null,"html_url":"https://github.com/prathik/sprintbot","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prathik%2Fsprintbot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prathik%2Fsprintbot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prathik%2Fsprintbot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prathik%2Fsprintbot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prathik","download_url":"https://codeload.github.com/prathik/sprintbot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240950495,"owners_count":19883565,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["jira","slack","sprint-planning","standup-meetings"],"created_at":"2024-11-11T14:24:15.542Z","updated_at":"2026-05-15T23:06:46.999Z","avatar_url":"https://github.com/prathik.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sprint Bot\n[![Build Status](https://travis-ci.org/prathik/sprintbot.svg?branch=master)](https://travis-ci.org/prathik/sprintbot) [![Coverage Status](https://coveralls.io/repos/github/prathik/sprintbot/badge.svg?branch=master)](https://coveralls.io/github/prathik/sprintbot?branch=master)\n\n![Demo Image](demo.png?raw=true \"Demo Image\")\n\n## Features\n\n* For all open tasks ask the status\n* If no task is present as to create one\n* Resolve as done on reply as Yes\n* Start progress when reply is In Progress or In progress\n* Ask status only for start date less than or equal to current date\n* Recieve digest at a specified time\n* Very easy to add custom handlers for answers\n\n## Setup\n\nCreate config.properties in `src/main/resources`.\n\n```\nusername=jirausername\npassword=jirapassword\nslackToken=slacktoken\nendpoint=https://jira.corp.domain.com\n```\n\nAdd your users in `src/main/resources/users.xml`.\n\n## Running\n\nCreate the jar using `mvn package`.\n\nRun the `jar` file in `/target/`.\n\n## Adding new answer handlers\n\nAnswer handlers are interfaced using `AnswerActionHandler`. \n\nThe lifecycle is that a question is first asked to the user and then it is polled for an answer by the `Question` class.\n\n`CommonHandlersFactory` has a getCommonHandlers method which has all the handlers used by a `Question`. \n \n You can add your handler in that method.\n \n ```java\n public static List\u003cAnswerActionHandler\u003e getCommonHandlers(Jira jira) {\n        if(handlersMap.get(jira) == null) {\n            final AnswerActionHandler answerActionHandler = new ResolveOnYes(jira);\n            handlersMap.put(jira, new ArrayList\u003cAnswerActionHandler\u003e() {{\n                add(answerActionHandler);\n            }});\n        }\n        return handlersMap.get(jira);\n    }\n```\n\nCreate a new class similar to `ResolveOnYes` interfaced using ActionHandler and add it using the `add method` on to the list.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprathik%2Fsprintbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprathik%2Fsprintbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprathik%2Fsprintbot/lists"}