{"id":17973965,"url":"https://github.com/austinlparker/ticketgen","last_synced_at":"2025-03-25T14:31:50.871Z","repository":{"id":74245122,"uuid":"85116997","full_name":"austinlparker/ticketgen","owner":"austinlparker","description":"A Python utility to automate the creation of tedious tasks.","archived":false,"fork":false,"pushed_at":"2017-03-15T20:22:26.000Z","size":5,"stargazers_count":2,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-24T11:52:44.508Z","etag":null,"topics":["automation","devops","jira","python"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/austinlparker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-03-15T20:19:18.000Z","updated_at":"2024-02-26T10:47:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"38d5b295-217e-4997-a9b3-71453d8f5001","html_url":"https://github.com/austinlparker/ticketgen","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/austinlparker%2Fticketgen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/austinlparker%2Fticketgen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/austinlparker%2Fticketgen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/austinlparker%2Fticketgen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/austinlparker","download_url":"https://codeload.github.com/austinlparker/ticketgen/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245480455,"owners_count":20622323,"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":["automation","devops","jira","python"],"created_at":"2024-10-29T17:05:17.330Z","updated_at":"2025-03-25T14:31:50.862Z","avatar_url":"https://github.com/austinlparker.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ticketgen.py\n\nThis utility will create tickets for you based on options contained in the `options.ini` file. \n\n## How To Run Locally\n1. Ensure you have Python 2.7.12+ installed with `python` available on your system path.\n2. Clone this repository.\n3. Ensure the `options.ini` file is updated with the appropriate information in the `[JiraOptions]` and `[VersionInfo]` sections.\n4. Switch to your checkout directory and `python main.py -u \u003cjira username\u003e -p \u003cjira password\u003e -c \u003cpath to config file\u003e -j \u003cjira url\u003e`\n\n## How To Build and Run Via Docker \n1. Ensure you have Docker installed and running.\n2. Clone this repository.\n3. Perform whatever updates you'd like to make to the `options.ini` file.\n4. In the checkout, run `docker build -t taskgen .`\n5. You can then run the image with `docker run taskgen`\n\n## Using The `options.ini` File\n\nThe options file should be fairly self explanatory. There's a few things to keep in mind, though.\n\n- You **must** update the `VersionInfo` section for each release to include the correct `from_versions` and the correct `to_version`.\n- **Ensure that the `JiraOptions` section has the proper `parent_ticket` and `project` entries** depending on if you're testing a new version or running the tool in production.\n\nThe following table summarizes the possible options and acceptable values for each configuration block.\n\n| Section | Value | Description |\n| ------- | ----- | ----------- |\n| JiraOptions | parent_ticket | The 'parent' ticket for all generated tasks |\n| JiraOptions | project | The JIRA project that issues will be created in. |\n| JiraOptions | issue_type | The JIRA issue type that issues should be created as. Case-sensitive. These can be discovered through JIRA Rest API calls. |\n| VersionInfo | to_version | The **new** software version that will be created. |\n| VersionInfo | from_versions | An array of versions the new version will be upgradeable from |\n| *Section/Ticket | summary | The ticket summary (title). Can be token-switched. |\n| *Section/Ticket | description | The ticket description (body text). Can be token-switched. |\n\nThe `CleanInstall` and `Upgrade` sections are special cases that are handled uniquely by the script. This is because their summary formatting is different than the normal tickets.\n\n### Adding a new ticket\nAdding a ticket is very straightforward. Simply create a new configuration block at the end of the file where the config name ends with `Ticket`, for example -\n```\n[TestTicket]\nsummary: rel-{0}: New ticket to be generated\ndescription: Do a thing!\n  # step 1\n  # step 2\n  Now you're done!\n```\nYou can create multiline bodies by simply adding a new line to the description. Make sure that you indent your new lines! Any JIRA markdown should work.\n\n### Modifying a ticket\nChange the description text in the `options.ini` file.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faustinlparker%2Fticketgen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faustinlparker%2Fticketgen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faustinlparker%2Fticketgen/lists"}