Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save klebercode/34c4dbdc27b3b858369ed38e6246d99a to your computer and use it in GitHub Desktop.
Save klebercode/34c4dbdc27b3b858369ed38e6246d99a to your computer and use it in GitHub Desktop.

Revisions

  1. @Wazabiii Wazabiii renamed this gist May 26, 2021. 1 changed file with 0 additions and 0 deletions.
  2. @Wazabiii Wazabiii revised this gist May 26, 2021. 1 changed file with 1 addition and 3 deletions.
    4 changes: 1 addition & 3 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,3 @@
    ```
    /* exported Script */
    /* globals console, _, s */

    @@ -105,5 +104,4 @@ class Script {
    // }
    // };
    }
    }
    ```
    }
  3. @Wazabiii Wazabiii created this gist May 26, 2021.
    109 changes: 109 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,109 @@
    ```
    /* exported Script */
    /* globals console, _, s */

    /** Global Helpers
    *
    * console - A normal console instance
    * _ - An underscore instance
    * s - An underscore string instance
    */

    class Script {
    /**
    * @params {object} request
    */
    process_incoming_request({ request }) {
    // request.url.hash
    // request.url.search
    // request.url.query
    // request.url.pathname
    // request.url.path
    // request.url_raw
    // request.url_params
    // request.headers
    // request.user._id
    // request.user.name
    // request.user.username
    // request.content_raw
    // request.content

    // console is a global helper to improve debug

    let result = {
    text: "",
    }

    switch (`${request.content.type}.${request.content.action}`) {
    case 'milestone.create':
    result.text = "";
    break;
    case 'milestone.delete':
    result.text = "";
    break;
    case 'milestone.change':
    result.text = "";
    break;
    case 'userstory.create':
    result.text = `:new: US #${request.content.data.ref} - "${request.content.data.subject}": ${request.content.data.permalink}`;
    break;
    case 'userstory.delete':
    result.text = "";
    break;
    case 'userstory.change':
    result.text = "";
    break;
    case 'task.create':
    result.text = "";
    break;
    case 'task.delete':
    result.text = "";
    break;
    case 'task.change':
    result.text = "";
    break;
    case 'issue.create':
    result.text = `:new: Issue #${request.content.data.ref} - "${request.content.data.subject}": ${request.content.data.permalink}`;
    break;
    case 'issue.delete':
    result.text = "";
    break;
    case 'issue.change':
    result.text = "";
    break;
    case 'wikipage.create':
    result.text = `:new: :blue_book: Wikipage - "${request.content.data.slug}": ${request.content.data.permalink}`;
    break;
    case 'wikipage.delete':
    result.text = "";
    break;
    case 'wikipage.change':
    result.text = "";
    break;
    case 'test.test':
    result.text = ":white_check_mark: Success test";
    break;
    default:
    result.text = "";
    /**
    * For Debug, Uncomment next line
    */
    //result.text = JSON.stringify(request.content);
    break;
    }

    if(result.text.trim() !== ""){
    return {
    content: result,
    };
    }

    // return {
    // error: {
    // success: false,
    // message: 'Error example'
    // }
    // };
    }
    }
    ```