Thank you for your interest in the firewatch project! Please find some information about the project below. If you are looking for more information, please see the additional documentation below:
ignore-passing-notification
label to the issue."success_rules"
section in the config.closed
) reporting the job success.--additional-labels-file
argument to any bug created. Each label must be separated by a new line.echo "some-label" >> $SHARED_DIR/firewatch-additional-labels
Firewatch can be used with any user in a Jira instance, but that user will need to have proper permissions in the project they are reporting to. The user should be able to:
If you are using firewatch in the Red Hat Jira instance, the default user is firewatch-tool
.
If you are encountering permissions issues, please add the user to the project you are reporting to under the role you
would like to choose. Typically, if you add the user in the Developer
role, the tool will work as expected.
Reporting issues using this tool in OpenShift CI is very simple, you can do one of the following:
firewatch-report-issues
ref to the post
steps of a test. This job should be last, if that is not possible, make sure it is at least following any step that you'd like an issue generated for.firewatch-report-issues
ref already in the post
steps. For example, see the firewatch-ipi-aws
workflow.Remember, when you are using the firewatch-report-issues
ref, some variables need to be defined in your configuration file:
FIREWATCH_CONFIG
[REQUIRED]
IMPORTANT:
For more information how to define these rules, please see the configuration guide.
Example:
FIREWATCH_CONFIG: |
{
"failure_rules":
[
{"step": "exact-step-name", "failure_type": "pod_failure", "classification": "Infrastructure", "jira_project": "!default", "jira_component": ["some-component"], "jira_assignee": "some-user@redhat.com", "jira_security_level": "Restricted"},
{"step": "*partial-name*", "failure_type": "all", "classification": "Misc.", "jira_project": "OTHER", "jira_component": ["component-1", "component-2", "!default"], "jira_priority": "major", "group": {"name": "some-group", "priority": 1}},
{"step": "*ends-with-this", "failure_type": "test_failure", "classification": "Test failures", "jira_epic": "!default", "jira_additional_labels": ["test-label-1", "test-label-2", "!default"], "group": {"name": "some-group", "priority": 2}},
{"step": "*ignore*", "failure_type": "test_failure", "classification": "NONE", "jira_project": "NONE", "ignore": "true"},
{"step": "affects-version", "failure_type": "all", "classification": "Affects Version", "jira_project": "TEST", "jira_epic": "!default", "jira_affects_version": "4.14", "jira_assignee": "!default"}
]
# OPTIONAL
"success_rules":
[
{"jira_project": "PROJECT", "jira_epic": "PROJECT-123", "jira_component": ["some-component"], "jira_affects_version": "!default", "jira_assignee": "some-user@redhat.com", "jira_priority": "major", "jira_security_level": "Restricted", "jira_additional_labels": ["test-label-1", "test-label-2", "!default"]},
{"jira_project": "!default"},
]
}
FIREWATCH_DEFAULT_JIRA_PROJECT
[REQUIRED]
FIREWATCH_JIRA_SERVER
https://issues.stage.redhat.com
FIREWATCH_JIRA_API_TOKEN_PATH
/tmp/secrets/jira/access_token
.FIREWATCH_FAIL_WITH_TEST_FAILURES
firewatch-report-issues
step will fail with a non-zero exit code if a test failure is found in a JUnit file."false"
"false"
: The firewatch-report-issues
step will not fail with a non-zero exit code when test failures are found."true"
: The firewatch-report-issues
step will fail with a non-zero exit code when test failures are found.FIREWATCH_VERBOSE_TEST_FAILURE_REPORTING
$FIREWATCH_VERBOSE_TEST_FAILURE_REPORTING_LIMIT
)."false"
"false"
: Firewatch will only report on the first test failure found in a JUnit file."true"
: Firewatch will report on every test failure found in a JUnit file.FIREWATCH_VERBOSE_TEST_FAILURE_REPORTING_LIMIT
10
$FIREWATCH_VERBOSE_TEST_FAILURE_REPORTING_LIMIT
test failures found in a JUnit file.OPTIONAL DEFAULT VARIABLES:
FIREWATCH_DEFAULT_JIRA_EPIC
[OPTIONAL]
FIREWATCH_DEFAULT_JIRA_COMPONENT
[OPTIONAL]
$FIREWATCH_DEFAULT_JIRA_COMPONENT
= ["default-1", "default-2"]
"jira_component": ["component-1", "!default"]
"jira_component"
rule above, the components will be set to ["component-1", "default-1", "default-2"]
.FIREWATCH_DEFAULT_JIRA_AFFECTS_VERSION
[OPTIONAL]
FIREWATCH_DEFAULT_JIRA_ADDITIONAL_LABELS
[OPTIONAL]
$FIREWATCH_DEFAULT_JIRA_ADDITIONAL_LABELS
= ["default-1", "default-2"]
"jira_additional_labels": ["label-1", "!default"]
"jira_additional_labels"
rule above, the labels will be set to ["label-1", "default-1", "default-2"]
.FIREWATCH_DEFAULT_JIRA_ASSIGNEE
[OPTIONAL]
FIREWATCH_DEFAULT_JIRA_PRIORITY
[OPTIONAL]
FIREWATCH_DEFAULT_JIRA_SECURITY_LEVEL
[OPTIONAL]
If you'd like to run firewatch locally, use the following instructions:
git clone https://github.com/CSPI-QE/firewatch.git
.cd firewatch
.make build-run
.firewatch
command to execute the tool. See the CLI usage guide for instructions on using the tool.git clone https://github.com/CSPI-QE/firewatch.git
cd firewatch
make dev-environment
firewatch
command to execute the tool. See the CLI usage guide for instructions on using the tool.We welcome contributions to firewatch! If you'd like to contribute, please review our Contribution Guidelines for more information on how to get started.
firewatch is released under the GNU Public License.
If you have any questions, suggestions, or feedback, feel free to reach out to us:
We appreciate your interest in firewatch!