Liigu põhisisu juurde
Arendajad Sõnumikaardid

Kujunda sõnumikaarte

Kõik, mida bot postitab, olgu webhookist, käsu vastusena või nupuvajutuse järel uuendusena, on kaart. Hea kaart ütleb ühe pilguga, mis juhtus: värviline serv, pealkiri, olek ja selle all üksikasjad.

Mida saad teha

  • Näita olekutVärviline silt nagu Open, Merged või Passing, koos lisatud ja eemaldatud ridadega.
  • Loetle üksikasjadSildi ja väärtusega read, mida liikmed saavad ühe puudutusega kopeerida.
  • Kirjuta markdownisPaks kiri, tekstisisene kood, koodiplokid, tsitaadid ja märkeruudud.
  • Näita, et töötadLaadimisring, kuni bot mõtleb, ja pärast seda tema arutluskäik lüliti taga.

Rakenduses

Neli kaarti nii, nagu liikmed neid näevad. Igaüks neist on paar rida JSON-i.

Kaardi ülesehitus

Kaardi osad ülevalt alla. Jäta ära, mida sul vaja pole: ka ainult pealkirjaga kaart sobib.

  1. Päis„Message from“ ja nimi: webhooki nimi või käsu vastuse puhul sinu kogukonna nimi. Vastus võib lisada märgi badge, näiteks repositooriumi nime.
  2. Pealkiri ja olektitle, mis on link, kui määrad title_url, ja selle kõrval olekusilt status.
  3. AlapealkiriTeine paksus kirjas rida, sub_title.
  4. KirjeldusSisu markdownis.
  5. VäljadSildi ja väärtusega read, kopeerimisnupuga.
  6. JalusKellaaeg ning lisatud ja eemaldatud read, kui need saadad.
json
{
  "message_container": {
    "type": "embed_message",
    "badge": "acme/web",
    "color": "purple",
    "title": "Pull request #212 opened",
    "title_url": "https://github.com/acme/web/pull/212",
    "status": { "label": "Open", "color": "green", "icon": "pull_request" },
    "sub_title": "Faster search in the channel list",
    "description": "Search now runs **per keystroke** with a 120 ms debounce.",
    "fields": [
      { "field": "Author", "value": "maya" },
      { "field": "Reviewers", "value": "dani, sam" }
    ],
    "additions": 86,
    "deletions": 12,
    "files_changed": 3
  }
}

Kõik väljad

Need käivad välja message_container alla. Kaardil peab olema kirjeldus või laadija. Väljad märkega „Käskude vastused“ jäetakse webhooki kaudu postitades välja.

VäliTüüpMida see teeb
typestringembed_message (vaikimisi) või system_message.
badgestringVäike märk päises nime järel, näiteks acme/web. Käskude vastused
avatar_urlstringPilt kaardi ikooni peal.
colorstringServa värv. Vaata värve allpool.
titlestringPaksus kirjas esimene rida.
title_urlstringMuudab pealkirja lingiks.
sub_titlestringTeine paksus kirjas rida pealkirja all.
descriptionstringSisu markdownis.
fieldsarray[{ "field": "…", "value": "…" }]: sildi ja väärtusega read.
image_url, image_base64stringPilt kaardil.
imagesarray[{ "image_url": "…" }]: mitme pildi galerii.
statusobject või stringVärviline silt pealkirja kõrval. Vaata allpool. Käskude vastused
additions, deletions, files_changednumberDiff-statistika jaluses. Käskude vastused
loader, loader_text, loader_sub_textboolean, stringLaadimisring sisu asemel.
thinkingstringArutluskäik lüliti Show thinking taga. Käskude vastused
Kirjeldus ja thinking mõistavad markdowni: **bold**, _italic_, ~~strike~~, `inline code`, kolme graavise vahel koodiplokid, > quotes, märkeruudud - [x], @mainimised ja :emoji:.

Olek ja diff-statistika

Olekusilt räägib loo ära enne, kui keegi teksti loeb. See on pealkirja kõrval või, kui pealkirja pole, jaluses; diff-statistika on kellaaja kõrval. Mõlemad töötavad käskude vastustes ja sisseehitatud GitHubi integratsioon kasutab neid. Webhook jätab need välja.

json
{
  "message_container": {
    "color": "red",
    "title": "Build failed on main",
    "status": { "label": "Failing", "color": "red" },
    "description": "`search.test.js`: 2 of 212 tests failed."
  }
}
VäliTüüpMida see teeb
statusobject või stringPaljas string on silt: "status": "Open".
status.labelstringSildi tekst. Ilma selleta silti ei ole.
status.colorstringgreen, purple, red, orange, yellow, blue või gray.
status.iconstringValikuline ikoon allolevast loendist.
additionsnumberLisatud read, kuvatakse rohelisena: +86.
deletionsnumberEemaldatud read, kuvatakse punasena: -12.
files_changednumberMuudetud failid, kuvatakse kujul 3 files.

Ikoonid

VäärtusIkoonTüüpiline kasutus
pull_requestgit-pull-requestPull request avati
pull_request_closedgit-pull-request-closedSuleti ühendamata
merge, mergedgit-mergeÜhendatud
commitgit-commitPushitud commit
issuecircle-dotIssue avati
issue_closedcircle-checkIssue suleti
checkcircle-checkTestid läbitud, töö õnnestus

GitHubi jaoks toimiv vastendus

Sisseehitatud GitHubi integratsioon kasutab neid; kopeeri need oma tööriistadesse.

SündmusSiltVärvIkoon
Pull request avatiOpengreenpull_request
MustandDraftgraypull_request
ÜhendatudMergedpurplemerged
Suleti ühendamataClosedredpull_request_closed
Issue avatiOpengreenissue
Issue suletiClosedpurpleissue_closed
Commit pushitiCommitgraycommit
Testid läbitudPassinggreencheck
Testid ebaõnnestusidFailingredpuudub

Laadija ja arutluskäik

Kõige jaoks, mis võtab hetke, näiteks TI vastus või pikk töö, postita kõigepealt laadimisringiga kaart ja asenda see siis tulemusega. Laadija töötab nii webhookides kui ka käskude vastustes. Käsu vastuses saad mudeli arutluskäigu panna ka välja thinking: liikmed näevad tekstimüüri asemel lülitit Show thinking.

assistant
System
Message from Assistant
Mõtlen…Loen viimast 50 sõnumit

Kõigepealt: laadija

assistant
System
Message from Assistant

maya: millal standup on?

Standup on kell 09:30 kanalis #daily.
Vaatasin läbi kinnitatud sõnumid ja korduva sündmuse kanalis #daily.

Siis: vastus, arutluskäik kokku volditud

json
{
  "message_container": {
    "type": "embed_message",
    "color": "blue",
    "loader": true,
    "loader_text": "Thinking…",
    "loader_sub_text": "Reading the last 50 messages"
  }
}
json
{
  "message_container": {
    "type": "embed_message",
    "color": "blue",
    "sub_title": "maya: when is the standup?",
    "description": "Standup is at **09:30**, in #daily.",
    "thinking": "Checked the pinned messages and the recurring event in #daily…"
  }
}
VäliTüüpMida see teeb
loaderbooleantrue näitab sisu asemel laadimisringi.
loader_textstringRida laadimisringi kõrval, näiteks „Mõtlen…“.
loader_sub_textstringVäiksem rida selle all.
thinkingstringKokkuvolditud arutluskäik kirjelduse all, markdownis.

Et laadija vastusega asendada, uuenda sõnumit uue kaardiga, milles pole välja loader. Kuidas, loe lehelt reaalajas uuendused.

Pikad kirjeldused

Kirjeldus võib olla kuni 50 000 baiti. Pärast esimest 1000 baiti näevad liikmed algust ja nuppu Show more, mis laadib ülejäänu, nii et pikk raport ei uputa kanalit.

Süsteemisõnumid

Määra "type": "system_message", kui tegu on teadaande, mitte boti postitusega: hooldusaknad, reeglite muudatused, kõik, mis räägib kogukonna enda nimel. See võtab vastu samad väljad ja nupud.

json
{
  "message_container": {
    "type": "system_message",
    "color": "orange",
    "title": "Maintenance tonight",
    "description": "The build servers are down from 22:00 to 23:00."
  }
}

Värvid

Serva värv on kaardi kiireim signaal. Kasuta sama liiki uudiste jaoks alati sama värvi.

VärvKasuta seda
greenÕnnestumine: läbitud, paigaldatud, valmis
redEbaõnnestumine: nurjus, maas, tagasi lükatud
orangeHoiatus, mis vajab pilku
yellowOotab kellegi järel: kinnitused, küsimused
blueInfo, vaikimisi
purpleKoodisündmused või midagi erilist

Koosta oma embed

Muuda välju või JSON-payloadi: mõlemad püsivad sünkroonis. Eelvaade näitab sõnumit täpselt nii, nagu see kanalis paistab. See on päris webhooki sisu (body); kopeeri see, kui kõik näeb õige välja.

Mallid
Nupud
Eelvaade
Webhooki sisu (body)

Ehita edasi