Μετάβαση στο περιεχόμενο

Ρύθμιση ενεργοποιητών pipeline

Ένας ενεργοποιητής είναι αυτό που ξεκινά ένα pipeline. Κάθε ένας είναι ένας κόμβος στον καμβά, τον οποίο σύρετε από την ενότητα Εναύσματα της βιβλιοθήκης κόμβων. Η επιλογή αυτού του κόμβου ανοίγει τον επιθεωρητή του στα δεξιά — δεν υπάρχει μόνιμα διαθέσιμη λίστα ενεργοποιητών, ούτε καρτέλα ενεργοποιητών ούτε οθόνη ενεργοποιητών.

  1. Μεταβείτε στις Ρυθμίσεις → Χώρος εργασίας → Πρότυπα pipeline.
  2. Πατήστε το μολύβι στη γραμμή του προτύπου για να ανοίξετε τον επεξεργαστή.
  3. Επιλέξτε έναν κόμβο ενεργοποιητή στον καμβά. Το δεξιό πλαίσιο εμφανίζεται με τις ρυθμίσεις αυτού του ενεργοποιητή. Όταν δεν έχετε επιλέξει τίποτα, το πλαίσιο είναι κρυφό.

Η ενότητα Εναύσματα της βιβλιοθήκης κόμβων παραθέτει κάθε είδος εκκίνησης ως ξεχωριστό κόμβο: χειροκίνητη εκκίνηση, χρονοδιάγραμμα, 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 δημιουργεί ένα τυχαίο διακριτικό. Επιλέξτε τον κόμβο για να αντιγράψετε τη διαδρομή 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, με το σύστημα που καλεί να υπογράφει το σώμα του αιτήματός του όπως παραπάνω.