Ρύθμιση ενεργοποιητών pipeline
Ένας ενεργοποιητής είναι αυτό που ξεκινά ένα pipeline. Κάθε ένας είναι ένας κόμβος στον καμβά, τον οποίο σύρετε από την ενότητα Εναύσματα της βιβλιοθήκης κόμβων. Η επιλογή αυτού του κόμβου ανοίγει τον επιθεωρητή του στα δεξιά — δεν υπάρχει μόνιμα διαθέσιμη λίστα ενεργοποιητών, ούτε καρτέλα ενεργοποιητών ούτε οθόνη ενεργοποιητών.
Άνοιγμα επιθεωρητή ενεργοποιητή
Ενότητα με τίτλο «Άνοιγμα επιθεωρητή ενεργοποιητή»- Μεταβείτε στις Ρυθμίσεις → Χώρος εργασίας → Πρότυπα pipeline.
- Πατήστε το μολύβι στη γραμμή του προτύπου για να ανοίξετε τον επεξεργαστή.
- Επιλέξτε έναν κόμβο ενεργοποιητή στον καμβά. Το δεξιό πλαίσιο εμφανίζεται με τις ρυθμίσεις αυτού του ενεργοποιητή. Όταν δεν έχετε επιλέξει τίποτα, το πλαίσιο είναι κρυφό.
Προσθήκη ενεργοποιητή
Ενότητα με τίτλο «Προσθήκη ενεργοποιητή»Η ενότητα Εναύσματα της βιβλιοθήκης κόμβων παραθέτει κάθε είδος εκκίνησης
ως ξεχωριστό κόμβο: χειροκίνητη εκκίνηση, χρονοδιάγραμμα, webhook και μία κάρτα
ανά γεγονός τομέα. Αναζητήστε merged, ticket ή το όνομα τύπου (PrMerged)
και σύρετε την κάρτα στον καμβά. Ένα νέο πρότυπο εμφανίζει επίσης ένα
πλακίδιο-φάντασμα Προσθήκη εναύσματος στο σημείο εισόδου — επιλέξτε από την
ίδια λίστα αναζήτησης.
Ο ενεργοποιητής εισάγεται αμέσως. Οι νέοι αυτόματοι ενεργοποιητές ξεκινούν απενεργοποιημένοι, ώστε μια απόθεση να μην ξεκινά μια εκτέλεση προτού τη διαμορφώσετε. Χρησιμοποιήστε τον διακόπτη Ενεργοποιημένο του επιθεωρητή για να τον ενεργοποιήσετε ή το εικονίδιο κάδου για να τον διαγράψετε.
Να επιτρέπετε χειροκίνητες εκτελέσεις
Ενότητα με τίτλο «Να επιτρέπετε χειροκίνητες εκτελέσεις»Αποθέστε το Χειροκίνητη εκτέλεση (ή επιλέξτε το από το πλακίδιο-φάντασμα)
και ενεργοποιήστε το Ενεργοποιημένο στον επιθεωρητή του. Αυτό είναι που
κάνει το πρότυπο να εμφανίζεται στον επιλογέα εκτέλεσης. Δεν αποτελεί ειδική
περίπτωση — ο διακόπτης γράφει μια συνηθισμένη γραμμή ενεργοποιητή με τύπο
γεγονότος manual. Αποθηκεύεται αμέσως· δεν υπάρχει τίποτα να αποθηκεύσετε.
Ο ίδιος διακόπτης βρίσκεται πίσω από το Χειροκίνητη εκτέλεση στην κεφαλίδα του επεξεργαστή, όπου στέκεται δίπλα στις δηλωμένες εισόδους του προτύπου.
Σε ένα γεγονός
Ενότητα με τίτλο «Σε ένα γεγονός»Αυτά τα γεγονότα ξεκινούν μια εκτέλεση:
| Ετικέτα επιλογέα | Γεγονός |
|---|---|
| Άνοιξε εξωτερικό PR | ExternalPrDetected |
| Δημοσιεύτηκε PR | PullRequestPublished |
| Άλλαξε η κατάσταση του PR | PullRequestStatusChanged |
| Συγχωνεύθηκε PR | PrMerged |
| Ελήφθη μήνυμα | MessageReceived |
| Δημιουργήθηκε εισιτήριο | TicketCreated |
| Άλλαξε η κατάσταση εισιτηρίου | TicketStatusChanged |
| Ανατέθηκε εισιτήριο | TicketAssigned |
| Το εισιτήριο ολοκληρώθηκε | TicketCompleted |
| Το εισιτήριο απέτυχε | TicketFailed |
| Το εισιτήριο ακυρώθηκε | TicketCancelled |
| Υπερβήθηκε το όριο προϋπολογισμού | BudgetThresholdCrossed |
| Προστέθηκε αποθετήριο | RepoAdded |
| Η εγγραφή συνάντησης σταμάτησε | MeetingRecordingStopped |
| Η δεξιότητα ενημερώθηκε | SkillUpdated |
| Ο χώρος διαγράφηκε | SpaceDeleted |
Το SpaceDeleted είναι αυτό στο οποίο ακούει το ενσωματωμένο pipeline
καθαρισμού worktree: μεταφέρει το id του διαγραμμένου χώρου, ώστε η εκτέλεση να
ανακτά ακριβώς τα worktree αυτού του χώρου αντί να σαρώνει ολόκληρο τον χώρο
εργασίας.
Για τα κλειδιά ωφέλιμου φορτίου που μεταφέρει κάθε γεγονός, δείτε την αναφορά γεγονότων τομέα.
Φιλτράρισμα ενεργοποιητή γεγονότος
Ενότητα με τίτλο «Φιλτράρισμα ενεργοποιητή γεγονότος»Επιλέξτε τον κόμβο Άλλαξε η κατάσταση του PR. Τα τσιπ κατάστασης του
επιθεωρητή είναι το μόνο φίλτρο που μπορεί να συντάξει το περιβάλλον χρήστη.
Πατήστε οποιοδήποτε από τα merged, closed, approved, opened,
reopened· ο ενεργοποιητής τότε ενεργοποιείται μόνο όταν το status του
γεγονότος ταιριάζει με ένα από αυτά. Αν δεν επιλέξετε κανένα τσιπ, δεν υπάρχει
φίλτρο.
Δεν υπάρχει πεδίο ελεύθερου JSON για φίλτρα. Ένα κλειδί φίλτρου που δεν υπάρχει στο ωφέλιμο φορτίο του γεγονότος δεν ταιριάζει ποτέ, οπότε μην συντάσσετε με το χέρι κάποιο για κλειδί που δεν έχετε επιβεβαιώσει στην αναφορά γεγονότων τομέα.
Με χρονοδιάγραμμα
Ενότητα με τίτλο «Με χρονοδιάγραμμα»Επιλέξτε τον κόμβο Χρονοδιάγραμμα για να επεξεργαστείτε πότε ενεργοποιείται. Τα πεδία του επιθεωρητή παραμένουν όπως τα αφήνετε:
| Πεδίο | Περιγραφή |
|---|---|
| Χρονοδιάγραμμα (cron ή every:seconds) | Μια έκφραση cron πέντε πεδίων, όπως 0 9 * * 1, ή ένα διάστημα όπως every:86400. Ένας αριθμός χωρίς πρόθεμα μετατρέπεται σε every:<n>. |
| Ζώνη ώρας (προαιρετικά) | Μια ζώνη IANA, όπως Europe/Paris. Προεπιλογή το UTC. |
| Σε χαμένες εκτελέσεις | Τι να γίνεται με ενεργοποιήσεις που χάθηκαν όσο ο διακομιστής ήταν εκτός λειτουργίας: το Εκτέλεση μία φορά συγχωνεύει κάθε χαμένη χρονική θέση σε μία ενεργοποίηση κατά την επανεκκίνηση (η προεπιλογή), ενώ το Παράλειψη συνεχίζει από την επόμενη μελλοντική χρονική θέση. |
Η γραμμή σύνοψης του πλακιδίου στον καμβά αναφέρει ρητά το διάστημα μόνο για τη
μορφή every:<seconds>· μια έκφραση cron εμφανίζεται απλώς ως
«Χρονοδιάγραμμα».
Μέσω webhook
Ενότητα με τίτλο «Μέσω webhook»Η απόθεση του Webhook δημιουργεί ένα τυχαίο διακριτικό. Επιλέξτε τον κόμβο
για να αντιγράψετε τη διαδρομή POST /webhooks/<token> από τον επιθεωρητή.
Το διακριτικό είναι επίσης το μυστικό HMAC: το αίτημα πρέπει να φέρει
X-Hub-Signature-256: sha256=<hex>, όπου το hex είναι
HMAC-SHA256(body, token). Μια παράδοση που αποτυγχάνει στην επαλήθευση
απορρίπτεται και καταγράφεται και δεν μπορεί να επαναληφθεί. Τα διπλότυπα
αγνοούνται με βάση το κλειδί αποδιπλοποίησής τους.
Κάθε σημείο εκκίνησης είναι δικός του κόμβος στο γράφημα. Το τράβηγμα ενός καλωδίου από το Χρονοδιάγραμμα συνδέει μόνο το Χρονοδιάγραμμα· το Χειροκίνητη εκτέλεση μπορεί να ακολουθήσει διαφορετική διαδρομή (για παράδειγμα έναν κόμβο συνθήκης) πριν ενωθεί με την ίδια εργασία. Μια εκτέλεση εισέρχεται στο σημείο εκκίνησης που ταιριάζει με τον τύπο γεγονότος της και παραλείπει τα υπογραφήματα που ανήκουν στα άλλα σημεία εκκίνησης.
Πώς ένας ενεργοποιητής φτάνει σε μια εκτέλεση
Ενότητα με τίτλο «Πώς ένας ενεργοποιητής φτάνει σε μια εκτέλεση»Ένας ενεργοποιημένος ενεργοποιητής του οποίου ο τύπος γεγονότος και το φίλτρο
ταιριάζουν και τα δύο ξεκινά μια εκτέλεση με το ωφέλιμο φορτίο του γεγονότος ως
ωφέλιμο φορτίο ενεργοποίησης της εκτέλεσης — αυτό είναι στο οποίο επιλύεται το
{{key}} στην προτροπή ή το σενάριο ενός βήματος. Τα γεγονότα που φέρουν
φυσικό κλειδί αποδιπλοποιούνται, ώστε το ίδιο γεγονός να μην ξεκινά δύο
εκτελέσεις όταν ενεργοποιηθεί δύο φορές.
Ένα απενεργοποιημένο πρότυπο απορρίπτεται ακόμη και όταν ο ενεργοποιητής του ταιριάζει. Οκτώ από τα δεκατρία ενσωματωμένα πρότυπα παραδίδονται απενεργοποιημένα, οπότε οι αρχικοί τους ενεργοποιητές ενεργοποιούνται στο κενό μέχρι να ενεργοποιήσετε το πρότυπο.
Χρήσιμα μοτίβα
Ενότητα με τίτλο «Χρήσιμα μοτίβα»- Περιορίστε μόνο τη χειροκίνητη διαδρομή — συνδέστε το Χειροκίνητη εκτέλεση μέσω ενός κόμβου συνθήκης και το Χρονοδιάγραμμα απευθείας στην εργασία. Κάθε σημείο εκκίνησης έχει τα δικά του καλώδια.
- Ελέγξτε κάθε νέο PR — γεγονός Δημοσιεύτηκε PR στο πρότυπο
pr_review. - Καθαρισμός μετά από συγχώνευση — γεγονός Άλλαξε η κατάσταση του PR, με
φίλτρο
merged/closed/approved. Το ενσωματωμένο πρότυποpr_merged_cleanupακούει ήδη με αυτόν τον τρόπο, καθώς και σε ολοκληρωμένο/ ακυρωμένο εισιτήριο,SpaceDeleted, και ένα καθημερινό χρονοδιάγραμμα που ενεργοποιείται με εξαναγκασμό σε κάθε επαναρχικοποίηση επειδή αποτελεί συλλογή απορριμμάτων. - Νυχτερινή σάρωση — χρονοδιάγραμμα
0 2 * * *με ζώνη ώρας, σε πρότυπο του οποίου ο πρώτος κόμβος είναι σενάριο bash. - Αντίδραση σε εξωτερικό σύστημα — ενεργοποιητής webhook, με το σύστημα που καλεί να υπογράφει το σώμα του αιτήματός του όπως παραπάνω.
Σχετικοί οδηγοί
Ενότητα με τίτλο «Σχετικοί οδηγοί»- Δημιουργία προτύπου pipeline
- Χειροκίνητη εκτέλεση pipeline
- Παρακολούθηση εκτελέσεων pipeline
- Αναφορά γεγονότων τομέα