Tool for migrating tasks from some task tracker to another task tracker

Dastracker codecov

A tool for migrating tasks from one task tracker into another.

How to use

Usage:
  ___help [OPTIONS] run [run-OPTIONS]

Application Options:
      --dbg                     turn on debug mode [$DEBUG]

Help Options:
  -h, --help                    Show this help message

[run command options]
      -c, --config_location=    location of the configuration file
                                [$CONFIG_LOCATION]

store:
      --store.type=[bolt]   type of storage [$STORE_TYPE]

bolt:
      --store.bolt.path=    parent dir for bolt files (default: ./var)
                            [$STORE_BOLT_PATH]
      --store.bolt.timeout= bolt timeout (default: 30s)
                            [$STORE_BOLT_TIMEOUT]

webhook:
      --webhook.base_url=   base url for webhooks [$WEBHOOK_BASE_URL]
      --webhook.addr=       local address to listen [$WEBHOOK_ADDR]

DSL

Dastracker uses its own language to determine which actions must happen whether some event appears, such as, for instance, Github issue update. The next configuration example shows the syntax:

trackers:
  - name: gh_dastracker
    driver: github
    with:
      owner: cappuccinotm
      name: dastracker
      user: "{{ env \"GITHUB_USER\" }}"
      access_token: "{{ env \"GITHUB_ACCESS_TOKEN\" }}"

  - name: customrpc
    driver: rpc
    with:
      address: "{{ env \"CUSTOM_RPC_ADDRESS\" }}"

jobs:
  - name: print task update if task is received
    on:
      tracker: gh_dastracker
      with:
        events: "issue"
    do:
      - action: customrpc/Print
        with:
          message: "Task \"{{.Update.Title}}\" has been updated and printed to the terminal."

This flow checks whether any issue in github is updated and sends an RPC call to Print method with the specified message.

The configuration file uses the go template language for placeholders.

with keyword specifies variables for each Action.

Helper methods:

Method name Description
env(varname string) returns the value of the environment variable
values(m map[string]string) returns a list of values of the map
seq(l []string) serializes the list in form of "string1,string2,string3,..."

Supported drivers

Driver Support status
Github Partially supported with issues (webhooks are not fully implemented)
RPC Plugins Fully supported

TODO

  • Predicates for triggers
  • Asana support
  • Jira support
  • Increase test coverage

Plugin development

See example for details.

Demo:

Requirements

Read about requirements in here

Design

Read about design in here

Similar Resources

Contextual Content Discovery Tool

Contextual Content Discovery Tool

Kiterunner Introduction For the longest of times, content discovery has been focused on finding files and folders. While this approach is effective fo

Dec 27, 2022

Changelog management tool, avoid merge conflicts and generate markdown changelogs.

chalog This is chalog, a changelog management tool. With chalog you can manage your project's changelog in a simple markdown format, split across mult

Jul 7, 2022

Gowl is a process management and process monitoring tool at once. An infinite worker pool gives you the ability to control the pool and processes and monitor their status.

Gowl is a process management and process monitoring tool at once. An infinite worker pool gives you the ability to control the pool and processes and monitor their status.

Gowl is a process management and process monitoring tool at once. An infinite worker pool gives you the ability to control the pool and processes and monitor their status.

Nov 10, 2022

gosivy - Real-time visualization tool for Go process metrics

 gosivy - Real-time visualization tool for Go process metrics

Gosivy tracks Go process's metrics and plot their evolution over time right into your terminal, no matter where it's running on. It helps you understand how your application consumes the resources.

Nov 27, 2022

Hidra is a tool to monitor all of your services without making a mess.

hidra Don't lose your mind monitoring your services. Hidra lends you its head. ICMP If you want to use ICMP scenario, you should activate on your syst

Nov 8, 2022

checkah is an agentless SSH system monitoring and alerting tool.

CHECKAH checkah is an agentless SSH system monitoring and alerting tool. Features: agentless check over SSH (password, keyfile, agent) config file bas

Oct 14, 2022

System resource usage profiler tool which regularly takes snapshots of the memory and CPU load of one or more running processes so as to dynamically build up a profile of their usage of system resources.

System resource usage profiler tool which regularly takes snapshots of the memory and CPU load of one or more running processes so as to dynamically build up a profile of their usage of system resources.

Vegeta is a system resource usage tracking tool built to regularly take snapshots of the memory and CPU load of one or more running processes, so as to dynamically build up a profile of their usage of system resources.

Jan 16, 2022

SigNoz helps developers monitor their applications & troubleshoot problems, an open-source alternative to DataDog, NewRelic, etc. πŸ”₯ πŸ–₯. πŸ‘‰ Open source Application Performance Monitoring (APM) & Observability tool

SigNoz helps developers monitor their applications & troubleshoot problems, an open-source alternative to DataDog, NewRelic, etc. πŸ”₯ πŸ–₯.   πŸ‘‰  Open source Application Performance Monitoring (APM) & Observability tool

Monitor your applications and troubleshoot problems in your deployed applications, an open-source alternative to DataDog, New Relic, etc. Documentatio

Sep 24, 2021

Tool for generating OpenTelemetry tracing decorators.

tracegen Tool for generating OpenTelemetry tracing decorators. Installation go get -u github.com/KazanExpress/tracegen/cmd/... Usage tracegen generate

Apr 7, 2022
Some tests and examples with goroutines and channels

goroutine-playground Some tests and examples with goroutines and channels simpleAsyncCalls Runs functions in background and doesn't wait for results a

Feb 9, 2022
Logger - Some implementations for Logs written in Go

Logger will be a tool for sending logs to different places in your software. Rig

Feb 16, 2022
ECS task event/log tracer CLI

tracer tracer is a tracing tool for Amazon ECS tasks. tracer shows events and logs of the tasks order by timestamp. example Run a task successfully an

Dec 28, 2022
Request-logging-tool - A tool logs the md5 codes of the responses of the given domains in parameter

request-logging-tool Application to send http requests and log the md5 responses

Jan 7, 2022
A GNU/Linux monitoring and profiling tool focused on single processes.
A GNU/Linux monitoring and profiling tool focused on single processes.

Uroboros is a GNU/Linux monitoring tool focused on single processes. While utilities like top, ps and htop provide great overall details, they often l

Dec 26, 2022
rtop is an interactive, remote system monitoring tool based on SSH

rtop rtop is a remote system monitor. It connects over SSH to a remote system and displays vital system metrics (CPU, disk, memory, network). No speci

Dec 30, 2022
Cloudinsight Agent is a system tool that monitors system processes and services, and sends information back to your Cloudinsight account.

Cloudinsight Agent δΈ­ζ–‡η‰ˆ README Cloudinsight Agent is written in Go for collecting metrics from the system it's running on, or from other services, and

Nov 3, 2022
A system and resource monitoring tool written in Golang!
A system and resource monitoring tool written in Golang!

Grofer A clean and modern system and resource monitor written purely in golang using termui and gopsutil! Currently compatible with Linux only. Curren

Jan 8, 2023
A tool to list and diagnose Go processes currently running on your system

gops gops is a command to list and diagnose Go processes currently running on your system. $ gops 983 980 uplink-soecks go1.9 /usr/local/bin/u

Dec 27, 2022
pprof is a tool for visualization and analysis of profiling data

Introduction pprof is a tool for visualization and analysis of profiling data. pprof reads a collection of profiling samples in profile.proto format a

Jan 8, 2023