Training Provisioning Process
Obtaining the Scripts
Several bash scripts have been created to facilitate provisioning users. Pull down the Development Operations repository - within it you will find the following:
- JIRA
- executables
- jira-cli-3.9.0
- ...
- scripts
- include
- jira_constants.sh
- jira_credentials.sh
- assign_training.sh
- add_course.sh
- ..
- include
- executables
Executables
Contains versions of the open-source JIRA command line client (to be referenced by the utilities in the scripts directory.
Scripts
The scripts directory contains both the utilities necessary to provision new users as well as helpers in the include directory to facilitate these files. They will be discussed in detail in the Executing the Scripts section.
Include
jira_constants.sh
Contains any constants and helper functions for general use by the utilities in the top-level scripts directory. The active executable version is also defined here.
jira_credentials.sh
Contains the JIRA server URL, the username and the password to use for authentication:
#!/bin/sh SERVER=https://solutechnology.atlassian.net USER=[enter username] PASSWORD="[enter password]"
Update jira_credentials.sh with your own username and password, then add it to your .gitignore so you don't accidentally push your username and password to the shared repository.
Do not include the square brackets. The password needs to be enclosed by quotation marks.
Your username is your first initial and last name. Do not include the "@solutechnology.com"
Executing the Scripts
Any of the scripts in the scripts directory can be executed from the command line using standard syntax.
./[name-of-script] [argument-1] [argument-2] [...]
add_course.sh
Adds a new course to the backlog of available training courses.
Syntax
./add_course.sh "[course-name]" "[short-name]" "[category-list]" "[difficulty]" "[course-tracks]" "[course-url]" [sequence-id]
Example Usage
./add_course.sh "Explore and Master Chrome DevTools" "Chrome-DevTools" "Tools Browsers" "Intermediate" "Developer, Tester" "http://discover-devtools.codeschool.com/" 33
assign_training.sh
Assigns the default curriculum for the given course track to the named employee.
The target employee's account must be created prior to executing the assign_training.sh script.
Syntax
./assign_training.sh "[employee-name]" "[role-code]" [-s]
Example Usage
The following command will assign front-end developer training courses, including stretch courses, to Jake Peralta.
./assign_training.sh "Jake Peralta" "FE-DEV" -s
The `stretch` parameter takes a `-s` input flag that must be specified at the end of the command. When a role is given the stretch flag, the additional training will be applied if there is a stretch backlog associated with the role.
Role Codes
Technical Roles | ||
---|---|---|
Role | Role Code | Stretch? |
Front-End Developer | FE-DEV | yes |
Back-End Developer | BE-DEV | yes |
Python Developer | PYTHON-DEV | no |
Co-op | CO-OP | yes |
Test Engineer | TEST | yes |
Test Automation Engineer | TA | no |
Non-Technical Roles | ||
---|---|---|
Role | Role Code | Stretch? |
Scrum Master | SM | no |
Business Analyst | BA | no |
assign_course.sh
Adds the course(s) associated to the given course ID to the curriculum from the named employee.
Syntax
./assign_course.sh "[employee-name]" "[course-backlog-id-list]"
Example Usage
./assign_course.sh "Mark Chadbourne" "ONB-921 ONB-1128"
Any script that takes an employee name as an argument assumes the username associated to their account take the format of [first-initial][last-name] (i.e. Mark Chadbourne's username is mchadbourne)
add_agile_project.sh
Create a project with the given name/Key and assign a user to be the project lead.
Syntax
./add_agile_project.sh "[project-key]" "[project-name]" "[description]" "[lead]"
Example Usage
./add_agile_project.sh "TES" "Test Project" "This is a test project" "mchadbourne"
delete_project.sh
Delete a project with the given key.
Syntax
./delete_project.sh "[project-key]"
Example Usage
./delete_project.sh "TES"
add_user.sh
Create a new user with a temporary password.
Syntax
./add_user.sh "[user-full-name]"
Example Usage
./add_user.sh "Mark Chadbourne"