-
Notifications
You must be signed in to change notification settings - Fork 15
CRAVEX GitHub workflow integration #362
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Signed-off-by: tdruez <[email protected]>
Signed-off-by: tdruez <[email protected]>
Signed-off-by: tdruez <[email protected]>
@tdruez we're off to a great start! The GH link on the DejaCode side is perfect. Great to see the priority of the request showing up as a label in GH -- very nice touch. A few comments/suggestions: I submitted a request from staging nexB signed on as dmclark, but the GH issue says it was opened by tdruez. If possible, it would be better to say it was opened by Instead of "Product Context - None" it would be better not to show that field at all when it is null. I assigned the request in DejaCode to tomd, and it shows that in the GH description, but it would be better if it could also set the actual GH assignment to tdruez ![]() |
Thinking about the user experience on the GH side now: Unless that user is also a DejaCode user who can go back and look at the product in question, there is not much in the way of information. It might make sense for the originator of the DejaCode Request to also generate an SBOM (or some kind of report, perhaps formatted as a spreadsheet) to be applied as an attachment to the Request and passed along to GH. Something to think about. |
Signed-off-by: tdruez <[email protected]>
In the GitHub API, we cannot submit an Issue on behalf of someone else. In this case, the issue shows The actual Request "Submitted by" info is still available in the GH Issue body, along with other details.
This assumes the integration manager has somehow provided a mapping between a DejaCode user and a GitHub user. |
Hi @tdruez thanks for the comments. I like this: "A better approach might be to create a dedicated GitHub user for the integration, like dejacode-integration, and use a single token from that account. We should mention this in the integration docs." |
Signed-off-by: tdruez <[email protected]>
Signed-off-by: tdruez <[email protected]>
…349 Signed-off-by: tdruez <[email protected]>
Signed-off-by: tdruez <[email protected]>
Signed-off-by: tdruez <[email protected]>
Signed-off-by: tdruez <[email protected]>
Signed-off-by: tdruez <[email protected]>
Changes:
|
@tdruez Testing in staging nexB has gone very smoothly. I updated a request template, created a new request, which was promptly sent to GitHub with the expected data. The integration of an additional comment on the DejaCode Request works just fine as well. The link back to DejaCode from the generated GH issue works really well (takes me to the sign-in form in case I'm not already in), and addresses my concerns about "well now that I see this issue in GH, what do I do about it?". no problems found. I think this feature is probably ready for deployment. |
@tdruez Actually I found one little problem just now. In DejaCode, if I am the original requester of an open request that I am looking at, there is a button enabled with the label "Close this Request" and if I click it I get a dialog requiring a "Reason" and after I enter that and complete the closing process my "Reason" ends up as a Comment on the Request. So when I did that with my test request it closed the issue in GitHub but it did not create the "Reason" Comment in GitHub. ![]() ![]() |
Signed-off-by: tdruez <[email protected]>
Signed-off-by: tdruez <[email protected]>
Signed-off-by: tdruez <[email protected]>
Signed-off-by: tdruez <[email protected]>
Signed-off-by: tdruez <[email protected]>
Signed-off-by: tdruez <[email protected]>
Changes
|
A few notes
Changes
issue_tracker_id
field on the RequestTemplate model. It should be enough to provide the type and the location of the external tracker, for example:https://github.com/org/repo
(platform = github, repo = org/repo)ExternalIssueLink
to keep the link between a DejaCode Request and the external Issue on a tracker (GitHub, Jira, ...). This model is also used to provide links to the external issue in the DejaCode UI.DEJACODE_GITHUB_INTEGRATION_TOKEN
setting to provide authentication credentialsHow to use
DEJACODE_GITHUB_INTEGRATION_TOKEN
in your settings: provide a "Fine-Grained Token" that has read and write permissions on your GitHub repo.Issue Tracker ID
, e.g.:https://github.com/org/repo_name