funbot-ext-events-0.3.0.0: Interact with FunBot's external events.

Safe HaskellNone
LanguageHaskell2010

FunBot.ExtEvents

Synopsis

Documentation

data Repository Source #

A version control repository.

Constructors

Repository 

Fields

  • repoName :: Text

    The repository's name. For example, funbot-ext-events.

  • repoSpace :: Text

    The repository's namespace, i.e. username or team name under which the repository is being managed. For example, fr33domlover.

  • repoHost :: Text

    Network location where the repository is hosted. For now this should in most cases be the website URL's host part, but could be something else if/when we have distributed repository sharing. For example, notabug.org.

data ProjectObject a Source #

An object that is part of a project, such as a merge request or an issue or a series of commits being pushed.

Constructors

ProjectObject 

Fields

data Commit Source #

A version control system commit, i.e. a set of changes with a description.

Constructors

Commit 

Fields

  • commitAuthor :: Text

    The author name. For example, John Doe.

  • commitTitle :: Text

    The commit title. For example, Support encrypted messages.

  • commitUrl :: Text

    A web view URL at which the commit details can be displayed.

  • commitAdded :: [Text]

    A list of files (relative to the repository top level) added to the repository in this commit. For example, src/FunBot/ExtEvents.hs.

  • commitModified :: [Text]

    A list of files modified in the repository in this commit.

  • commitRemoved :: [Text]

    A list of files removed from the repository in this commit.

data Push Source #

A version control push operation, i.e. one or more commits being added to a specific branch or a repsitory. Note that tags can be pushed too, but for that see the Tag type.

Constructors

Push 

data Tag Source #

A version control tag. Allows a specific state of the repository to be referred by name.

Constructors

Tag 

Fields

  • tagAuthor :: Text

    Tag author name, for example John Doe.

  • tagRef :: Text

    Tag label, for example 0.3.4.1 (referring to a release version).

data Issue Source #

A bug, request or other work item attached to a project.

Constructors

Issue 

Fields

  • issueAuthor :: Text

    Issue author name. For example, John Doe.

  • issueId :: Int

    The issue's unique identifier.

  • issueTitle :: Text

    Issue title text.

  • issueUrl :: Text

    A web view URL at which the issue's details can be viewed and perhaps modified.

  • issueAction :: Text

    An action being applied to the issue, which is causing the event to be sent to the FunBot instance.

data Note Source #

A comment made on some project object.

Constructors

Note 

Fields

  • noteAuthor :: Text

    Note author name, e.g. John Doe.

  • noteContent :: Text

    Note content for the bot to display. Since notes can be long, this should be only the portion for the bot to display. The bot should examine this field and shorten long notes, but you shouldn't rely on it and provide the right short part here.

  • noteTarget :: Text

    The project object being commented on, e.g. issue #419.

  • noteUrl :: Text

    A web view URL at which the note can be viewed.

data MergeRequest Source #

A request from a user to merge their code changes into the project.

Constructors

MergeRequest 

Fields

  • mrAuthor :: Text

    Merge request author name, e.g. John Doe.

  • mrId :: Int

    Merge request unique identifier.

  • mrTitle :: Text

    Merge request title.

  • mrUrl :: Text

    A web view URL at which the merge request can be viewed and perhaps edited.

  • mrAction :: Text

    An action being applied to the merge request, which is causing the event to be sent to the FunBot instance.

data NewsItem Source #

A news feed item.

Constructors

NewsItem 

Fields

data Paste Source #

A piece of text uploaded to a website for quick sharing.

Constructors

Paste 

Fields

data ExtEvent Source #

An event coming from one of the external event sources.

Constructors

GitPushEvent (ProjectObject Push)

Git commits pushed into a repo.

GitTagEvent (ProjectObject Tag)

A git tag pushed into a repo.

IssueEvent (ProjectObject Issue)

An issue related event.

MergeRequestEvent (ProjectObject MergeRequest)

A merge request related event.

NoteEvent (ProjectObject Note)

A comment made on an issue or MR or some other object.

NewsEvent NewsItem

New news item published.

PasteEvent Paste

Paste related event in a paste server.

WelcomeEvent Text Text

A new IRC user needs to be welcomed to a channel.