GithubHelp home page GithubHelp logo

jira-hooks's Introduction

Install

go get github.com/trifonovmixail/jira-hooks

Simple example

import (
    hooks "github.com/trifonovmixail/jira-hooks"
    "net/http"
)

func manyHooks(request *http.Request) int {
    hook, err := hooks.Parse(
        request,
        hooks.IssueCreatedEvent,
        hooks.StatusTransitionEvent,
    )
    if err != nil {
        return http.StatusBadRequest
    }

    switch hook.(type) {
    case hooks.IssueCreatedPayload:
        payload := hook.(hooks.IssueCreatedPayload)
    case hooks.TransitionIssueStatusPayload:
        payload := hook.(hooks.TransitionIssueStatusPayload)
    }

    return http.StatusBadRequest
}

func oneHook(request *http.Request) int {
    hook, err := hooks.Parse(request, hooks.StatusTransitionEvent)
    if err != nil {
        return http.StatusBadRequest
    }

    payload, ok := hook.(hooks.TransitionIssueStatusPayload)
    if !ok {
        return http.StatusBadRequest
    }

    return http.StatusOK
}

Events

Transitions

StatusTransitionEvent

Payloads:

  • TransitionIssueStatusPayload

Issues

IssueCreatedEvent

Payloads:

  • IssueCreatedPayload

IssueUpdatedEvent

Payloads:

  • IssueGenericPayload
  • IssueUpdatedPayload
  • IssueCommentCreatedPayload
  • IssueCommentUpdatedPayload
  • IssueCommentDeletedPayload
  • IssueAssignedPayload
  • IssueMovedPayload

IssueDeletedEvent

Payloads:

  • IssueDeletedPayload

IssueWorkLogEvent

Payloads:

  • IssueWorkLogCreatedPayload
  • IssueWorkLogUpdatedPayload
  • IssueWorkLogDeletedPayload

Comments

CommentCreatedEvent

Payloads:

  • CommentCreatedPayload

CommentUpdatedEvent

Payloads:

  • CommentUpdatedPayload

CommentDeletedEvent

Payloads:

  • CommentDeletedPayload

Work logs

WorkLogCreatedEvent

Payloads:

  • WorkLogCreatedPayload

WorkLogUpdatedEvent

Payloads:

  • WorkLogUpdatedPayload

WorkLogDeletedEvent

Payloads:

  • WorkLogDeletedPayload

Links

LinkCreatedEvent

Payloads:

  • LinkCreatedPayload

LinkDeletedEvent

Payloads:

  • LinkDeletedPayload

Users

UserCreatedEvent

Payloads:

  • UserCreatedPayload

UserUpdatedEvent

Payloads:

  • UserUpdatedPayload

UserDeletedEvent

Payloads:

  • UserDeletedPayload

Projects

ProjectCreatedEvent

Payloads:

  • ProjectCreatedPayload

ProjectUpdatedEvent

Payloads:

  • ProjectUpdatedPayload

ProjectDeletedEvent

Payloads:

  • ProjectDeletedPayload

ProjectArchivedEvent

Payloads:

  • ProjectArchivedPayload

ProjectRestoredEvent

Payloads:

  • ProjectRestoredPayload

Boards

BoardCreatedEvent

Payloads:

  • BoardCreatedPayload

BoardUpdatedEvent

Payloads:

  • BoardUpdatedPayload

BoardDeletedEvent

Payloads:

  • BoardDeletedPayload

BoardConfigurationChangedEvent

Payloads:

  • BoardConfigurationChangedPayload

Sprints

SprintCreatedEvent

Payloads:

  • SprintCreatedPayload

SprintUpdatedEvent

Payloads:

  • SprintUpdatedPayload

SprintDeletedEvent

Payloads:

  • SprintDeletedPayload

SprintStartedEvent

Payloads:

  • SprintStartedPayload

SprintClosedEvent

Payloads:

  • SprintClosedPayload

Versions

VersionCreatedEvent

Payloads:

  • VersionCreatedPayload

VersionUpdatedEvent

Payloads:

  • VersionUpdatedPayload

VersionDeletedEvent

Payloads:

  • VersionDeletedPayload

VersionReleasedEvent

Payloads:

  • VersionReleasedPayload

VersionUnreleasedEvent

Payloads:

  • VersionUnreleasedPayload

System options

OptionTimeTrackingChangedEvent

Payloads:

  • OptionTimeTrackingChangedPayload

OptionIssueLinksChangedEvent

Payloads:

  • OptionIssueLinksChangedPayload

OptionSubTasksChangedEvent

Payloads:

  • OptionSubTasksChangedPayload

OptionAttachmentsChangedEvent

Payloads:

  • OptionAttachmentsChangedPayload

OptionWatchingChangedEvent

Payloads:

  • OptionWatchingChangedPayload

OptionVotingChangedEvent

Payloads:

  • OptionVotingChangedPayload

OptionUnassignedIssuesChangedEvent

Payloads:

  • OptionUnassignedIssuesChangedPayload

Debugging

You can debug request from jira, use hooks.DebugRequest = true for this.

jira-hooks's People

Contributors

trifonovmixail avatar igorji avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.