Skip to content

nerds-run/odious-ado

Repository files navigation

Odious ADO

Goodbye microsoft thanks for not a good project management tool!

Official documentation: odious-ado

Please note: This is not complete but is kind of in the ballpark.

The project has three components an API, SDK, and CLI. All of which are still a work in progress and will need to be continually improved to meeting the requirements of the original spec.

Working On the Code Base (Local Development Environment)

There are pre-commit hook that should be setup and followed. However, at this time they can just be bypassed.

Installation

A few prerequisite dependencies:

  • just a makefile replacement in rust.
  • pyenv python version manager.

After installing just and pyenv.


Use one of the following methods

  • Follow the steps below. Both tools must be in your shell path.
pyenv install 3.11.3
# pyenv will change the local python version based on the .python-version file in root.
just dev install
# After running the just command running the following to verify configuration.
poetry run odious-ado --help
  • Follow these steps to use pyenv to manage python virtual envs.
# install python
pyenv install 3.11.3

# create a python virtual env
pyenv virtualenv 3.11.3 odious-ado

# activate that python env for usage
pyenv activate odious-ado

# create a new local wheel to be used for the project 
poetry install

# pyenv will change the local python version based on the .python-version file in root.
just dev

# verify the python template install
python-template version

stupid hacks

update pyproject.toml to add these packages correctly - abanna

$ pip install github3.py 
 
$ pip install pytz

This ADO SDK is a bit wack regarding the amount of boilerplate code required to do much of anything... The docs are somewhat lack luster. With that said This project can likely have an MVP built out in a few days.

A few unknowns. How does one release GitHub action... Would like to test this early in the hackation to allow for a smooth ending and time to focus on a nice video presentation.

Main things that we need to do. Get data from workflow action yaml. Use that data to map fields and labels to ado fields etc.

Useful sites

when using github graphql api this site is kind of helpful (graphql explorer)[https://docs.github.com/en/graphql/overview/explorer]

query newName {
  repository(owner:"nerds-run", name:"odious-ado") {
    issues(last:20, states:OPEN) {
      edges {
        node {
          id
          title
          url
          labels(first:5) {
            edges {
              
              node {
                id
                name
              }
            }
          }
        }
      }
    }
  }
}

mutation AddReactionToIssue {
  addReaction(input:{subjectId:"I_kwDOKHh5ys5ufKQq",content:EYES}) {
    reaction {
      content
    }
    subject {
      id
    }
  }
}

mutation pleaseWork ($project_id: ID! $content_id: ID!) {
        addProjectV2ItemById(
            input: {
                projectId: $project_id contentId: $content_id}
        ) 
        {
        item {
            id
        }
    }
}

mutation turtle {
  updateProjectV2ItemFieldValue(
    input: {
      projectId: "PVT_kwDOB3mz7c4AUIpb"
      itemId: "PVTI_lADOB3mz7c4AUIpbzgIm-CY"
      fieldId: "PVTSSF_lADOB3mz7c4AUIpbzgM3Pt4"
      value: { 
        singleSelectOptionId: "603cef85"        
      }
    }
  )
  {
    projectV2Item {
     id
	}
  }}

About

Goodbye Microsoft ADO projects thanks for a not so great project management tool!

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors