Comments (8)
Of course! If you want, have a look at how projects.json
is loaded by Mordred. Let me know if you want more specific directions.
from grimoirelab-sirmordred.
I am able to get perceval to talk to my corporate JIRA instance and get past basic auth, etc. I promise to look into this issue soon 😄
from grimoirelab-sirmordred.
Ooo perhaps this could be one that, with a little bit of help and pointing me in the right direction, I could try taking a stab at preparing a PR for?
from grimoirelab-sirmordred.
I've filed #125 first so I can figure out how to run the tests first before I attempt to change anything :)
from grimoirelab-sirmordred.
I think I will take a closer look at this issue. I would also require that we expose some manner of authentication, e.g. Basic Auth, for JIRA (our corporate JIRA instance requires either OAuth or Basic Auth).
from grimoirelab-sirmordred.
Question: would configuring the JIRA backend via the mordred config to a specific JIRA project somehow result in the issues pulled in from that JIRA project be associated with the correct (git/github-backed) project defined in projects.json? Or would that functionality be part of the changes we want to implement in this issue?
For example, we have an internal project called RSP. I could set the mordred config file as follows:
[jira]
raw_index = jira_test-raw
enriched_index = jira_test
project = RSP
user = me
password = mypassword
Then my projects.json
looks something like this:
"RSP": {
"github": [
"https://git.corp.adobe.com/React/RSP"
],
"git": [
"[email protected]:React/RSP.git"
],
"jira": [
"https://jira.corp.adobe.com"
]
}
Would this setup be sufficient for the JIRA issues under the RSP JIRA project to be associated with the RSP project as defined in projects.json
? If so, great, that unblocks my immediate work. If not, then would that feature be part of the solution for this issue?
from grimoirelab-sirmordred.
It looks to me like some tests in sirmordred pass command line flags/parameters via the main (URL?) string inside projects.json
: https://github.com/chaoss/grimoirelab-sirmordred/blob/master/tests/test-projects.json#L28
However, when I try this w/ JIRA (as in your original example above @jgbarah), I get errors as it seems the perceval JIRA backend assumes everything in the string to be a URL.
I dug through the code a bit, and I'm not sure whether this would necessitate a change in either perceval or mordred, but perhaps grimoire_elk? Here's my reasoning:
- The mechanism within mordred that kicks off data collection from various backends seems to be controlled via the Collection task.
- "URLs" for backends are then filtered through a couple of Task parent class methods called
compose_p2o_params
andcompose_perceval_parameters_from_url
. - These methods themselves rely on method that exist on the backend "ocean" classes - which are part of grimoirelab-elk.
- Over in grimoirelab-elk, the JiraOcean class inherits from the ElasticOcean class - which has a very simple implementation for
get_perceval_params_from_url
, essentially utilizing the entire string as a URL.
So my thinking is: why not implement the get_p2o_params_from_url
and get_perceval_params_from_url
methods for the JiraOcean
class? And make it create proper objects that provide support for the full suite of parameters that perceval's JIRA backend class accepts, like project
, user
, password
, etc.?
Let me know if that makes sense and I can open a new issue in elk and attempt to put a PR together.
from grimoirelab-sirmordred.
Sorry for the late reply!
The current implementation should be fine, in a nutshell all data stored in a Jira is reflected to the raw index, while the enrichment phase can be set up to enrich only some projects. To achieve that, you should have a projects.json like the one below (more details about the filter-raw
option can be found at: https://github.com/chaoss/grimoirelab-sirmordred#projectsjson).
{
"acme.A": {
"jira": [
"https://acme.jira.com --filter-raw=data.fields.project.key:<project-key-of-your-project>"
],
"meta": {
"title": "A Documentation"
}
},
"acme.B": {
"jira": [
"https://acme.jira.com --filter-raw=data.fields.project.name:<project-name-of-your-project>"
],
"meta": {
"title": "B Documentation"
}
},
"unknown": {
"jira": [
"https://acme.jira.com"
]
}
}
from grimoirelab-sirmordred.
Related Issues (20)
- Connections to the Sorting Hat database are not closed HOT 1
- Cannot index gitlab issues from gitlab-com project HOT 5
- Getting all projects from enterprise Gitlab HOT 5
- Vulnerability CVE-2021-45960 - CVE-2019-19814 HOT 1
- [utils] Can't find `menu.yaml` and `aliases.json` in `/sirmordred` HOT 2
- [doc] Error feeding raw from cocom while running `micro.py` HOT 6
- custom port mariadb for grimorelabs HOT 1
- Only run one data source when the database is not created by Mordred HOT 7
- [requirements.txt] No matching distribution found for grimoireelk HOT 2
- [utils] Turn on the help arg option in `micro.py` HOT 3
- SirMordred did not install with Python 3.9 (but did with Python 3.8) HOT 5
- sirmordred/micro.py execution halts with connection issue HOT 5
- Is it possible to add more than a label to the repositories HOT 1
- How to skip lfs object when clonging project HOT 5
- Add prefix to aliases entries
- Jira integration appears to be non-functional HOT 2
- "Limit of total fields [1000] in index [github2-pull_raw] has been exceeded" error for "github2:pull"
- grimoirelab dashboard no result found error
- Read secrets from another file
- Add devcontainer to use codespaces as dev environment
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from grimoirelab-sirmordred.