Add README, rename tool to match repo, add .gitignore.
This commit is contained in:
		
							
								
								
									
										5
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| *.sw? | ||||
| *.csv | ||||
| *.json | ||||
| jira_analysis | ||||
| postgres.container.id | ||||
							
								
								
									
										55
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,55 @@ | ||||
| Script to extract data from JIRA and pull it into a postgres DB for analysis. | ||||
|  | ||||
| ## Setup | ||||
|  | ||||
| 1. Install [docker][docker-desktop] | ||||
| 2. [Generate an API token for your JIRA user.][jira-api-key] | ||||
| 3. Pull the database container: | ||||
|  | ||||
|    ```sh | ||||
|    make createdb | ||||
|    ``` | ||||
|  | ||||
|    Feel free to edit the Makefile to view or change the default | ||||
|    username/password combination. | ||||
|  | ||||
| 4. Build the tool: | ||||
|  | ||||
|    ```sh | ||||
|    nimble build | ||||
|    ``` | ||||
|  | ||||
| ## Usage | ||||
|  | ||||
| - Start the database container: | ||||
|  | ||||
|   ```sh | ||||
|   make startdb | ||||
|   ``` | ||||
|  | ||||
| - Pull issues from your JIRA instance into the DB: | ||||
|  | ||||
|   ```sh | ||||
|   ./jira_analysis api-sync <jira-base-url> <username> <api-token> | ||||
|   ``` | ||||
|  | ||||
| - Connect to the database for analysis: | ||||
|  | ||||
|   ```sh | ||||
|   make connect | ||||
|   ``` | ||||
|  | ||||
| ## Convenient PostgreSQL commands | ||||
|  | ||||
| From within a `psql` session: | ||||
|  | ||||
| - Export tables to CSV: | ||||
|  | ||||
|   ```psql | ||||
|   \copy features TO features-export.csv DELIMITER ',' CSV HEADER; | ||||
|   \copy issues TO issues-export.csv DELIMITER ',' CSV HEADER; | ||||
|   \copy change_logs TO changelog-export.csv DELIMITER ',' CSV HEADER; | ||||
|   ``` | ||||
|  | ||||
| [docker-desktop]: https://www.docker.com/products/docker-desktop | ||||
| [jira-api-key]: https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/ | ||||
| @@ -5,7 +5,7 @@ author        = "Jonathan Bernard" | ||||
| description   = "A new awesome nimble package" | ||||
| license       = "MIT" | ||||
| srcDir        = "src/nim" | ||||
| bin           = @["tm_pm"] | ||||
| bin           = @["jira_analysis"] | ||||
| 
 | ||||
| 
 | ||||
| # Dependencies | ||||
| @@ -1,6 +1,6 @@ | ||||
| import csvtools, docopt, fiber_orm, db_postgres, sequtils, sets, strutils | ||||
| 
 | ||||
| import ./tm_pmpkg/jira_api | ||||
| import ./jira_analysispkg/jira_api | ||||
| 
 | ||||
| type | ||||
|   Feature* = object | ||||
| @@ -27,11 +27,11 @@ when isMainModule: | ||||
| 
 | ||||
|   let doc = """ | ||||
| Usage: | ||||
|   tm_pm import-csv <import-file> | ||||
|   tm_pm api-sync <username> <api-key> | ||||
|   jira_analysis import-csv <import-file> | ||||
|   jira_analysis api-sync <url-base> <username> <api-key> | ||||
| """ | ||||
| 
 | ||||
|   let args = docopt(doc, version = "0.1.0") | ||||
|   let args = docopt(doc, version = "0.2.0") | ||||
|   let db = connect("host=localhost port=5500 dbname=tegra118 user=postgres password=password") | ||||
| 
 | ||||
|   if args["import-csv"]: | ||||
| @@ -58,7 +58,7 @@ Usage: | ||||
|       #   db.createJiraIssue(issue); | ||||
| 
 | ||||
|   if args["api-sync"]: | ||||
|     initJiraClient("https://tegra118.atlassian.net", $args["<username>"], $args["<api-key>"]) | ||||
|     initJiraClient($args["<url-base>"], $args["<username>"], $args["<api-key>"]) | ||||
|     let issuesAndChangelogs = searchIssues( | ||||
|       "project = \"UUP\" and (labels is empty or labels != \"Design&Reqs\") ORDER BY key ASC", | ||||
|       includeChangelog = true | ||||
		Reference in New Issue
	
	Block a user