Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/uninett/argus_ticket_gitlab
This is a plugin to create tickets in Gitlab from Argus
https://github.com/uninett/argus_ticket_gitlab
Last synced: about 2 months ago
JSON representation
This is a plugin to create tickets in Gitlab from Argus
- Host: GitHub
- URL: https://github.com/uninett/argus_ticket_gitlab
- Owner: Uninett
- License: gpl-3.0
- Created: 2022-12-09T10:03:49.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-12-14T12:22:45.000Z (about 1 year ago)
- Last Synced: 2024-03-14T16:04:46.017Z (10 months ago)
- Language: Python
- Size: 26.4 KB
- Stars: 0
- Watchers: 9
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# argus_ticket_gitlab
This is a plugin to create tickets in Gitlab from [Argus](https://gitlab.com/Uninett/argus-server)
## Settings
* `TICKET_PLUGIN`: `"argus_ticket_gitlab.GitlabPlugin"`
* `TICKET_ENDPOINT`: `"https://gitlab.com/"` or link to self-hosted instance, absolute URL
* `TICKET_AUTHENTICATION_SECRET`: Create a [project access token](https://docs.gitlab.com/ee/user/project/settings/project_access_tokens.html) or a [personal access token](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html) with the scope `api`:```
{
"token": token
}
```It is recommended to create a Gitlab API user and to ensure that that user
has the necessary authorization for creating issues in the relevant
repository.* `TICKET_INFORMATION`:
Project namespace and name (obligatory)
```
{
"project_namespace_and_name": project_namespace_and_name
}
```To know which project to create the ticket in the Gitlab API needs to know
the owner and name of it.To figure out the namespace visit the
[namespace page](https://docs.gitlab.com/ee/user/namespace/) of the Gitlab
documentation. The name is the name of the Gitlab project.For the Github project
[Simple Maven Example](https://gitlab.com/gitlab-examples/maven/simple-maven-example)
the dictionary would look like this:```
{
"project_namespace_and_name": "gitlab-examples/maven/simple-maven-example",
}
```Labels (optional)
There are two ways of automatically filling labels:
1. Labels that are always the same, independent of the incident.
These will be set in `labels_set`.```
{
"labels_set" : [
label1,
label2,
label3,
]
}
```2. Labels that are filled by attributes of the Argus incident.
These are set in `labels_mapping` which is a list of the names of the
attributes as they are returned by the API (e.g. `start_time`). If the
information can be found in the tags the it has to be a dictionary with
`tag` as the key and the name of the tag as the value (e.g.
{"tag": "host"}).```
{
"labels_mapping" : [
attribute_of_incident,
{"tag": name_of_tag},
]
}
```## Code style
argus_ticket_gitlab uses black as a source code formatter. Black can be installed
by running```console
$ pip install black
```A pre-commit hook will format new code automatically before committing.
To enable this pre-commit hook, run```console
$ pre-commit install
```