This is a process that listens to activity on upstream repos on pagure and github via fedmsg, and syncs new issues there to a Jira instance elsewhere.
Configuration is in fedmsg.d/
.
You can maintain a mapping there that allows you to match one upstream repo (say, 'pungi' on pagure) to a downstream project/component pair in Jira (say, 'COMPOSE', and 'Pungi').
On startup, if the initialize
option is set to True
in the
fedmsg.d/
config, then all open issues from all upstream repos will be
scraped and added to Jira if they are absent.
If the testing
option is set to True
, then the script will perform a
"dry run" and not actually add any new issues to Jira.
To run it yourself, you're going to need to put in some jira authentication
options into fedmsg.d/
including the JIRA url and your username and
password. Furthermore, you need the fedmsg configuration from the Fedora
rpm. Get that with dnf install fedmsg
.
You will also need to get a github API token and store it in the
config as github_token
to avoid being rate-limited.
If you run into SSL errors, you may need to tell python-requests to use the system CA cert:
$ export REQUESTS_CA_BUNDLE=/etc/pki/tls/certs/ca-bundle.crt
Here are some things that this program does not do:
If there is interest in having those things, please file an RFE or comment on an existing one here and we'll see about prioritizing it.
We have decent test coverage.
Run the tests with:
$ sudo dnf install detox $ detox