Tehtävienseuranta

Muuta istunto tehtäväksi katselun aikana — yksi painike soittimessa, kuvaus omin sanoin ja toistolinkki valmiina mukana.

1. Miksi tämä tehdään käsin

Kaikki muut MousePlayer-sillat laukeavat itsestään. Tämä ei, täysin tarkoituksella.

Tehtävä on ihmisen työtä. Jos avaisimme jokaisesta raivoklikkauksesta tehtävän, taulu täyttyisi käsittelemättömistä kohteista ja tiimi suodattaisi ne viikossa pois — jolloin oikeatkin tehtävät katoaisivat.

Siksi laukaisin on ihminen. Katso istunto, huomaa asia, paina painiketta ja kirjoita havainto. Tallenteen linkki on jo kuvauksessa; oma arvio ratkaisee.

Painike näkyy vain omistajille ja ylläpitäjille, ei koskaan jakolinkkinäkymässä. Tallenteen vastaanottajan ei pidä voida avata tehtäviä omassa järjestelmässä.

2. Viisi järjestelmää ja niiden vaatimukset

Minne päätyyAnnettavat tiedot
Jiratehtävä projektiinsivuston URL, tilin sähköposti, API-tunnus, projektiavain, tehtävätyyppi
Lineartehtävä tiimiinAPI-avain, tiimitunnus
Asanatehtävä projektiinhenkilökohtainen käyttötunnus, projektitunnus
Trellokortti luetteloonavain, tunnus, luettelotunnus
GitHubtehtävä koodivarastoonhenkilökohtainen käyttötunnus, owner/repo

Yksi ruutu, yksi palveluntarjoaja kerrallaan. Toisen järjestelmän lisääminen myöhemmin on valinnan vaihto, ei migraatio.

Mistä tunnukset löytyvät

Linearin tiimitunnus ja Asanan projektitunnus näkyvät URL-osoitteessa tiimiä tai projektia selaimessa avattaessa. Trellon luettelotunnus on viidestä vaikein: lisää .json taulun URL-osoitteeseen ja etsi haluttu luettelo. Jiran projektiavain on tehtävänumeron edessä oleva etuliite — ACME esimerkiksi tunnuksessa ACME-1234.

3. Tehtävän linkki rakennetaan palvelimellamme

Kirjoitettu kuvaus on oma. Toistolinkki ei — se kootaan meillä todella katsotusta istunnosta, eikä lomake voi vaikuttaa siihen.

Tämä on tärkeää, koska muut klikkaavat tehtävää. Jos linkki tulisi selaimesta, muokattu pyyntö voisi näyttää tiimille minkä tahansa osoitteen omalta työkalulta näyttävässä yhteydessä.

HTTP 200 ei tarkoita tehtävän olemassaoloa

Linear vastaa GraphQL:n kautta, ja GraphQL vastaa 200 OK ja sisältää errors-taulukon hylätessään pyynnön. Pelkkää tilakoodia katsova silta ilmoittaisi onnistumisen tehtävälle, jota ei luotu. Luemme sisällön.

Kun järjestelmä palauttaa uuden tehtävän tunnuksen, näytämme sen vahvistuksessa — olemassaolon voi tarkistaa vihreään viestiin luottamisen sijaan.

4. Mitä tästä tarkoituksella puuttuu

Ei automaattisia tehtäviä

Katso yllä. Automaatiota varten webhook-silta voi lähettää turhautumissignaalit Zapieriin tai Makeen, ja siellä päätetään tehtävän arvoiset tilanteet.

Ei kaksisuuntaista synkronointia

Tehtävän sulkeminen ei muuta mitään MousePlayerissa eikä MousePlayer avaa sitä uudelleen. Puolitoista suuntaa toimiva synkronointi on huonompi kuin ei mitään, koska ihmiset alkavat luottaa siihen.

Ei liitteitä

Tallenne pysyy ja katsotaan meillä. Videon vienti tehtäväjärjestelmään siirtäisi henkilötiedot eri säilytyssääntöjen piiriin kuin kävijöiden kanssa sovittu.

Tunnus säilytetään AES-256-GCM-salattuna eikä näytetä uudelleen. Sitä ei koskaan laiteta sisäiseen jonoon — kutsu tehdään odotettaessa suoraan pyynnöstä.

5. GitLab, Azure DevOps ja ClickUp

Kolme järjestelmää lisää, sama painike ja sama käsin tehtävä laukaisu.

Annettavat tiedot
GitLabisäntä, projektitunnus ja tunnus — oma GitLab käy myös
Azure DevOpsorganisaatio, projekti, työkohdetyyppi ja PAT
ClickUpluettelotunnus ja henkilökohtainen tunnus

GitLab kysyy isäntää, koska se voi olla oma

Toisin kuin muut, GitLab on usein itse ylläpidetty, joten isäntä on kenttä eikä vakio. Liitä gitlab.com, jos palvelu on siellä.

Azure DevOpsissa on kaksi erikoisuutta

Sisältö on JSON Patch -asiakirja objektin sijaan, ja sisältötyypin täytyy olla application/json-patch+json — muu vastaa 415. Työkohdetyypin edessä oleva dollarimerkki URL-osoitteessa on osa osoitetta, ei täyttämättä jäänyt paikkamerkki.

ClickUp haluaa pelkän tunnuksen

Ei Bearer etuliitteenä. Sanalla alkava tunnus hylätään tilalla 401, joka näyttää täsmälleen väärältä tunnukselta.

Kaikki tässä mainitut tavaramerkit kuuluvat omistajilleen. MousePlayerilla ei ole liikesuhdetta näihin toimittajiin.