Skip to content

Commit 1dc924b

Browse files
committed
New article : ghi-git-hub-issues.md
1 parent 95bc5a2 commit 1dc924b

1 file changed

Lines changed: 102 additions & 0 deletions

File tree

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
Title: GHI - GitHub Issues
2+
Date: 2018.11.29 21:21
3+
Category: Articles
4+
Slug: ghi-git-hub-issues
5+
Author: Freezed
6+
7+
8+
`ghi` : _GitHub Issues on the command line. Use your `$EDITOR`, not your browser._
9+
10+
CLI vs GUI, pour moi le choix est souvent vite fait. Du coup ça fait quelques temps que je gère dès que possible mes` issues `github en CLI à l'aide de [ghi](https://github.com/stephencelis/ghi), un client dédié aux `issues` GitHub éccrit en Ruby.
11+
12+
La vrai feature qui me manque est l'affectation d'un `project`, dommage… Mais sinon on fait des trucs directement en console qui font _vraiment_ gagner du temps :
13+
14+
Liste les `issues` & `pulls` open :
15+
16+
```shell
17+
~/git/pythonclassmates.org $ ghi list
18+
# PythonClassmates/pythonclassmates.org open issues
19+
19: License proposal ↑
20+
18: License proposal ↑
21+
16: Travis CI rollback has not been runned
22+
15: Installation HowTo
23+
14: About page is missing
24+
13: Error 404 on category/tutoriels.html
25+
12: Error 404 on category/news.html
26+
```
27+
Seulement les` issues `:
28+
29+
```shell
30+
~/git/pythonclassmates.org $ ghi list --no-pulls
31+
# PythonClassmates/pythonclassmates.org open issues
32+
16: Travis CI rollback has not been runned
33+
15: Installation HowTo
34+
14: About page is missing
35+
13: Error 404 on category/tutoriels.html
36+
12: Error 404 on category/news.html
37+
```
38+
39+
Affiche l'`issue 14`
40+
```shell
41+
~/git/pythonclassmates.org $ ghi 14
42+
#14: About page is missing
43+
@freezed opened this issue 23 hours ago. open
44+
45+
With links to :
46+
- [ ] pelican
47+
- [ ] template
48+
- [ ] github
49+
50+
```
51+
52+
`--web` ouvre la page dans votre navigateur : `ghi list --web`, `ghi 14 --web`, etc.
53+
54+
Bien sûr `ghi edit …` permet d'en éditer une (!)
55+
56+
Et `ghi open …` d'en créer. Tellement pratique quand on code et que l'on tombe sur un bug, une idée, ou autre… Fini le _«Je noterai ça tout à l'heure»_ qu'on aura oublié dans 5 minutes. Là en 15s c'est plié. Et avec l'habitude on y met presque tout :
57+
58+
```shell
59+
ghi open --claim --label bug --label test --message "Test de la class Adallas à améliorer
60+
61+
Et là avec le double quote on laisse une ligne et on peut ajouter tous les
62+
commentaires utiles.
63+
64+
Bon si comme moi vous êtes des maniaque le l'historique de votre shell, arretez
65+
vous après `--message` et vous pourrez éditer votre issue dans votre éditeur,
66+
par ce que là votre historique va dérouiller…
67+
68+
Les check-box du GHFMD sont aussi possible :
69+
- [ ] foo
70+
- [ ] bar
71+
- [ ] foobar
72+
73+
Et quand on a fini de raconter sa vie on ferme la double quote. Hoplà!"
74+
```
75+
Aller pour finir un petit one-liner en shell pour créer les` issues `à partir d'un fichier texte (`issues.txt`) que l'on aura rempli avec un titre d'issue par ligne. Idéal en début de projet quand on à toute la roadmap à renseigner…
76+
77+
```shell
78+
$ cat issues.txt
79+
test issue #11
80+
test issue #22
81+
Foobar
82+
```
83+
puis
84+
85+
```shell
86+
$ IFS='';while read issue; do ghi open --claim --label test --message "${issue}";done < issues.txt
87+
#32: test issue #11
88+
@freezed opened this issue 0 seconds ago. open
89+
@freezed is assigned. test
90+
91+
Opened on freezed/python.
92+
#33: test issue #22
93+
@freezed opened this issue 0 seconds ago. open
94+
@freezed is assigned. test
95+
96+
Opened on freezed/python.
97+
#34: Foobar
98+
@freezed opened this issue 0 seconds ago. open
99+
@freezed is assigned. test
100+
```
101+
102+
Bon code!

0 commit comments

Comments
 (0)