Jira - Opérations#
Jira#
Récupération des secrets#
On récupère le compte admin local de Jira via Vault :
export VAULT_ADDR='https://vault.corp.caascad.com'
vault token lookup || vault login -method oidc
export JIRA_LOGIN=$(vault kv get -field=username secret/applications/jira/users/admin)
export JIRA_PASSWORD=$(vault kv get -field=password secret/applications/jira/users/admin)
Connexion sur le serveur#
Récupérer la clé SSH corp depuis le vault infra :
export VAULT_ADDR="https://vault.infra-prd.caascad.com"
vault token lookup || vault login -method oidc
rm -vf ~/.ssh/corp.caascad.com.pem
vault read -field private_key_pem secret/zones/fe/corp/keypair | base64 -d > ~/.ssh/corp.caascad.com.pem
chmod -v 400 ~/.ssh/corp.caascad.com.pem
Se connecter sur le serveur Jira :
ssh -i ~/.ssh/corp.caascad.com.pem cloud@jira-stg.corp.caascad.com
ssh -i ~/.ssh/corp.caascad.com.pem cloud@jira.corp.caascad.com
(Re)démarrer le service#
Pour (re)démarrer le service jira :
sudo systemctl restart jira ; sleep 3s ; sudo systemctl status jira
Warning
Le redémarrage du service jira peut durer quelques minutes.
Il est possible de connaître l'avancement de l'initialisation du service en rafraîchissant la page Jira dans le navigateur.
Logs applicatifs#
Les logs Jira sont stockés dans :
# Logs Jira
/opt/atlassian/jira/logs/
/var/atlassian/jira/log/
Usage des API#
Quelques exemples d'usage de l'API Jira Server avec Curl :
API_URL='https://jira-stg.corp.caascad.com'
API_USER='gabitbol'
API_PASSWORD='xxxxxx'
# Get user
curl -s -u ${API_USER}:${API_PASSWORD} -X GET -H "Content-Type: application/json" ${API_URL}/rest/api/2/user/?username=gabitbol | jq
# Get Application role
curl -s -u ${API_USER}:${API_PASSWORD} -X GET -H "Content-Type: application/json" ${API_URL}/rest/api/2/applicationrole | jq
# Get groups
curl -s -u ${API_USER}:${API_PASSWORD} -X GET -H "Content-Type: application/json" ${API_URL}/rest/api/2/groups/picker | jq
# Create user
JSON="{
\"name\": \"gabitbol\",
\"emailAddress\": \"noreply-caascad@orange.com\",
\"displayName\": \"George Abitbol\",
\"password\": \"Mon-Super-Secret-42\",
\"applicationKeys\": [
\"jira-software\",
\"jira-servicedesk-users\"
]
}"
curl -s -u ${API_USER}:${API_PASSWORD} -X POST --data "${JSON}" -H "Content-Type: application/json" ${API_URL}/rest/api/2/user/
# Add user to existing group
curl -s -u ${API_USER}:${API_PASSWORD} -X POST --data "{\"name\": \"gabitbol\"}" -H "Content-Type: application/json" ${API_URL}/rest/api/2/group/user?groupname=GroupTest
Opérations via la GUI#
Changer le responsable d'un projet#
Pour modifier le chef de projet / Project Leader d'un projet, il faut :
- Avoir les droits d'administration sur le projet
- Se positionner dans
> Administration Jira > Projets - Dans les paramètres du projet, choisir
Utilisateurs et rôlespuisModifier les paramètres par défaut
Base de données#
Connexion#
Pour se connecter à la base de données MySQL, il faut utiliser le compte système root :
sudo -i
mysql jiradb
Requêtes utiles#
Quelques requêtes MySQL utile :
-- Get user informations
SELECT * FROM cwd_user WHERE user_name LIKE "%gabitbol%" \G
-- Get user key
SELECT * FROM app_user WHERE lower_user_name='gabitbol';
Export des utilisateurs#
Générer un export des utilisateurs Jira au format csv :
sudo -i
rm -vf /var/lib/mysql-files/jirausers-ldap.csv
mysql jiradb <<QUERY
SELECT u.directory_id AS User_Dir, u.user_name AS Username, u.last_name AS Lastname, u.first_name AS Firstname, u.email_address AS Email, m.parent_name AS JiraGroup, from_unixtime( CEIL(ua_lastlogin.attribute_value/1000)) AS LastLogin, u.created_date AS created, u.active AS Active
INTO OUTFILE '/var/lib/mysql-files/jirausers-ldap.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n'
FROM jiradb.cwd_user u
LEFT JOIN jiradb.cwd_user_attributes ua_lastlogin on u.id = ua_lastlogin.user_id and u.directory_id=10000 and ua_lastlogin.attribute_name = 'login.lastLoginMillis'
LEFT JOIN jiradb.cwd_membership m on u.id = m.child_id
ORDER BY u.user_name ASC, u.last_name ASC, u.first_name ASC, m.parent_name ASC;
QUERY
Le fichier résultant est stocké dans : /var/lib/mysql-files/jirausers-ldap.csv